KeelsonDocs
    Judge Mode

    API reference Evidence

    Notarize a product endpoint with TLSNotary

    POST/v1/observations/web-fact

    Fetches the endpoint once over TLS with leg A as the TLSNotary notary (MPC-TLS, or Proxy-TLS when MPC-TLS fails), commits to the body or to the object around anchor, and returns the EIP-712 WebFact leg A signed with its attested key. Runs apart from any countersign and never delays one. An app acting for a user needs evidence:write.

    Headers

    Content-Typeapplication/jsonRequired
    idempotency-keystringRequired
    Idempotency-KeystringRequired
    1 to 255 characters. A retry with the same key returns the first answer.

    Request body

    application/json

    urlstringRequired
    A public JSON product endpoint, such as a Shopify store's /products/<handle>.js.
    anchorstring
    Commit to the smallest JSON object in the body that contains this text (a variant's "id":123) instead of the whole body.

    Responses

    • 201The signed WebFact
    • 422The URL is refused, or its response is not a 200 the notary accepts
    • 429Too many WebFacts today for this client
    • 502The session failed, or its WebFact did not verify
    • 503No prover is configured, leg A has no admitted signer, or the rate limit store is unreachable

    201 response

    webFactobjectRequired
    modestringRequired
    One of mpcproxy
    msintegerRequired
    How long the TLSNotary session took.
    rangearray of valuesRequired
    The committed range of the response, [start, end).
    committedstringRequired
    The committed bytes, hex.
    blinderstringRequired
    The 16-byte blinder, hex: rangeCommitment is SHA-256(committed ‖ blinder).