Does this manual or procedure apply to this unit?

$0.005 USDC per call · Business, finance and compliance · POST /api/v1/manual-applicability · Id manual-applicability

Checks whether a manual, service bulletin or procedure applies to a specific unit by comparing the scope the document declares (models, firmware or revision range, serial range, exclusions) with the unit's facts the caller supplies. Versions written as dotted digits (2.10.1) compare numerically per segment. For an agent about to follow a repair or configuration procedure. Applicable only when every declared scope field is shown to match; a unit fact that is missing is unknown, not applicable. Does not read the manual or look the unit up.

What you get

Catches the wrong-revision procedure before it is executed.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/manual-applicability. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/manual-applicability \
  -H 'content-type: application/json' \
  -d '{"applicability":[{"field":"model","oneOf":["X200","X210"]},{"field":"firmware","min":"2.4.0","max":"2.9.9"}],"excludes":[{"field":"serial_batch","equals":"B7"}],"unit":[{"key":"model","value":"X210"},{"key":"firmware","value":"2.10.0"},{"key":"serial_batch","value":"B3"}]}'

Input

FieldTypeRequiredDescription
applicabilityarray<object>; max 100 itemsyesScope the document declares: every entry must match.
excludesarray<object>; max 100 itemsnoScope the document excludes: each entry that matches makes it inapplicable.
unitarray<object>; max 500 itemsyesThe unit's facts: key is the field name.

Example request body

{
  "applicability": [
    {
      "field": "model",
      "oneOf": [
        "X200",
        "X210"
      ]
    },
    {
      "field": "firmware",
      "min": "2.4.0",
      "max": "2.9.9"
    }
  ],
  "excludes": [
    {
      "field": "serial_batch",
      "equals": "B7"
    }
  ],
  "unit": [
    {
      "key": "model",
      "value": "X210"
    },
    {
      "key": "firmware",
      "value": "2.10.0"
    },
    {
      "key": "serial_batch",
      "value": "B3"
    }
  ]
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
statusstring; one of "pass", "fail", "unknown", "unsupported"nopass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass.
requirementsarray<object>no
countsobjectnoNon-optional requirements by state; optional ones are counted separately.
applicableone ofnotrue when pass, false when fail, null when a unit fact is missing.
mismatchedarray<string>; max 100 itemsnoFields whose value is outside the declared scope.
missingFactsarray<string>; max 100 itemsnoFields the unit facts do not cover.
witnessesarray<object>no
versionsobjectnoEvery semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile).
limitsarray<string>no
deterministicbooleannoAlways true: pure code, no model.

Pay and connect

Available through: x402 (USDC on Base), MCP. MCP clients reach it through the compliance-evidence-kit package.

Machine-readable