v8

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-05730512.7 KB
OpenID4VP Verification

Create an OpenID4VP presentation request (DCQL)

Create an OpenID4VP (OpenID for Verifiable Presentations) presentation request. You provide the requested VCT (Verifiable Credential Type), requested claims, audience, and purpose, and the API returns a nonce plus a DCQL (Digital Credentials Query Language) query.

post/v1/presentations/request

Request body

requested_vctstring required

Names the VCT (Verifiable Credential Type) you want the holder to present.

requested_claimsstring[]

Lists the claim names you want the holder to disclose.

audstring required

Identifies your verifier audience for the presentation.

purposestring

Explains why you request the presentation.

relying_party_idstring uuid

You optionally scope this request to a registered relying party by UUID. When set, the relying party's per-RP trust rules apply on top of the tenant registry.

Example request

{
  "requested_vct": "AirlineLoyalty",
  "requested_claims": [
    "tier"
  ],
  "aud": "checkin-rp",
  "purpose": "Verify loyalty tier for lounge access",
  "relying_party_id": "44b2d61a-1634-486b-a35a-df26eb653a1a"
}

Response

Returns the created presentation request.

uuidstring uuid

Identifies the presentation request.

transaction_idstring uuid

Binds the presentation request to the later verification result.

requested_vctstring

Names the requested VCT (Verifiable Credential Type).

requested_claimsstring[]

Lists the claim names requested for disclosure.

audstring

Identifies the verifier audience for the presentation.

noncestring

Carries the nonce the wallet must bind into the presentation response.

purposestring

Explains why the verifier requests the presentation.

trusted_issstring

Returns the trusted issuer value configured for the request.

status'pending'

Shows the initial state of the presentation request.

created_atstring date-time

Records when the presentation request was created.

relying_partystring uuid nullable

You receive the relying party UUID this request is scoped to, or null when it is not scoped to one.

trust_policystring

You receive the effective trust policy for this request: tenant or custom.

Example response

{
  "uuid": "71889d7a-67c1-4ce9-bb73-5e99cd4c0265",
  "transaction_id": "1aa51264-f2d2-4a97-86b8-940a9c0e1188",
  "dcql": {
    "credentials": [
      {
        "claims": [
          {
            "path": [
              "<redacted>"
            ]
          }
        ],
        "format": "<redacted>",
        "id": "<redacted>",
        "meta": {
          "vct_values": [
            "<redacted>"
          ]
        }
      }
    ]
  },
  "requested_vct": "AirlineLoyalty",
  "requested_claims": [
    "tier"
  ],
  "aud": "checkin-rp",
  "nonce": "<redacted>",
  "purpose": "Verify loyalty tier for lounge access",
  "status": "pending",
  "created_at": "2026-07-02T23:33:33.500617Z",
  "trust_policy": "tenant"
}