OpenID4VP Verification

Submit a vp_token for verification

Submit a holder's presentation (the SD-JWT VC verifiable presentation, including the Key-Binding JWT) against a presentation request and verify it. The service consumes the request's single-use nonce, verifies the issuer signature (resolving the key by kid), the holder key binding, the aud and nonce bindings, the algorithm allow-list, expiry, and revocation via the Token Status List, then checks the credential's issuer against the tenant's trusted-issuer registry. A presentation request is single-use: a second response (replay) is rejected with 422. Authenticated with the tenant API key.

post/v1/presentations/{uuid}/response

Path parameters

uuidstring uuid required

UUID of the presentation request being answered. Scoped to the authenticated tenant; an unknown, soft-deleted, or sibling-tenant id returns 404.

Request body

vp_tokenstring required

The OpenID4VP verifiable presentation token: the SD-JWT VC with its selected disclosures and the appended Key-Binding JWT (KB-JWT). The KB-JWT must be signed by the holder key bound in the credential's cnf claim and carry the request's aud and nonce.

Example request

{
  "vp_token": "eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.eyJpc3MiOiJ...~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkFkYSJd~eyJhbGciOiJFUzI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJub25jZSI6Ii4uLiJ9.sig"
}

Response

Verification succeeded (verdict verified). Returns the verification result with the disclosed claims and the per-check booleans.

uuidstring uuid

Unique identifier of the verification result record.

verdict'verified' | 'failed'

Outcome of verification; verified on a 200 response.

disclosed_claimsobject

Map of claim name to value for the claims the holder disclosed. Reserved SD-JWT registered claims (iss, vct, iat, exp, cnf, status, _sd, _sd_alg) are excluded.

errorstring

Empty string on a verified result.

Example response

{
  "uuid": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
  "verdict": "verified",
  "disclosed_claims": {
    "given_name": "Ada",
    "family_name": "Lovelace",
    "birth_date": "1815-12-10"
  },
  "checks": {
    "signature": true,
    "key_binding": true,
    "aud": true,
    "nonce": true,
    "alg_allowlist": true,
    "not_expired": true,
    "not_revoked": true
  }
}

Changes