AY Developer docs
ApiIdentity

Verify an RFC 9421 signed request

Re-runs the receiver-side verification of the AY profile (`docs/identity/t2t-signature-contract.md` §4) and returns every step with its outcome, so you can see *why* a signature fails. Read-only: it does **not** consume nonces (the `nonce` step is reported as `skipped`). Accepts all three tags (`ay-t2t`, `ay-t2a`, `ay-agent`). No authentication, rate-limited. Never returns key material.

POST
/identity/verify

Re-runs the receiver-side verification of the AY profile (docs/identity/t2t-signature-contract.md §4) and returns every step with its outcome, so you can see why a signature fails.

Read-only: it does not consume nonces (the nonce step is reported as skipped). Accepts all three tags (ay-t2t, ay-t2a, ay-agent). No authentication, rate-limited. Never returns key material.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/identity/verify" \  -H "Content-Type: application/json" \  -d '{    "method": "GET",    "url": "http://example.com",    "headers": {      "signature-input": "string",      "signature": "string"    }  }'
{  "result": "ok",  "keyid": "string",  "did": "string",  "signer_type": "twins",  "reason": "digest_mismatch",  "steps": [    {      "step": "content_digest",      "status": "ok",      "detail": "string"    }  ]}