v4

latestOpenAPI 3.0.4Apache 2.0raw.githubusercontent.com2026-07-0491824.1 KB
Redemption

Redeem an invitation token

Public endpoint that the recipient's invite page posts the token to. The server validates the token, loads the bound batch row, and returns the next step as a flat result discriminated by type:

  • RENDER_QR: issuance is ready. Render a QR for credentialOfferUrl (an openid-credential-offer:// URI) for the wallet to scan. correlationId and credentialType are included so the page can poll issuance progress and name the credential without re-parsing the URI.
  • IDV_REDIRECT: identity verification is required first. Navigate the user-agent to dispatchUrl.
  • ERROR: the flow halted with a message safe to show the recipient in publicMessage.
post/redeem

Request body

tokenstring required

The raw invitation token, taken from the ?t= query parameter of the invite link.

redemptionBaseUrlstring uri required

Absolute base URL the identity-verification callback should target. The flow appends /redeem/idv-callback?t=<token>. Typically the same origin the invite page was loaded from.

Example request

{
  "redemptionBaseUrl": "https://wallet.example.com"
}

Response

Redemption proceeded; the result type indicates the next step.

type'IDV_REDIRECT' | 'RENDER_QR' | 'ERROR' required

The next step for the recipient's user-agent.

credentialOfferUrlstring nullable

RENDER_QR only. The OID4VCI credential offer URI to render as a QR code.

correlationIdstring nullable

RENDER_QR only. The OID4VCI session correlation id, also carried as the trailing segment of the offer URI. Use it to poll issuance progress.

credentialTypestring nullable

RENDER_QR only. The credential type or configuration id being offered, for naming it in the UI.

dispatchUrlstring uri nullable

IDV_REDIRECT only. The identity-verification engine URL to navigate the user-agent to.

publicMessagestring nullable

ERROR only. A sanitized message safe to display to the recipient.

Example response

{
  "credentialOfferUrl": "openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fissuer.example.com%2Foffers%2Fabc123",
  "correlationId": "abc123",
  "credentialType": "EmployeeID"
}