v1

latestOpenAPI 3.0.12026-07-269671357.0 KB
OID4VP

Authorize Verifiable Credential Presentation

Initiates an OID4VP Verifiable Credential Presentation request for the End-User identified by login_hint. Returns a 302 redirect to the Proof-hosted flow where the End-User authorizes the presentation. Once complete, Proof returns the Verifiable Credential Presentation according to response_mode: for fragment, the vp_token is appended as a URL fragment on a redirect back to redirect_uri; for direct_post, the vp_token is POSTed to response_uri.

get/verifiable-credentials/v1/presentation/authorize

Query parameters

client_idstring required

Your Proof OAuth Application Client ID.

response_type'vp_token' required

The method used to return the Verifiable Credential Presentation. Only vp_token is supported.

response_mode'fragment' | 'direct_post' required

How the Verifiable Credential Presentation will be returned to the Verifier. Use fragment to have the vp_token returned as a URL fragment on a redirect to redirect_uri, or direct_post to have Proof POST the vp_token to response_uri.

redirect_uristring

Required when response_mode is fragment; not permitted otherwise. The redirect URI at which the Verifiable Credential Presentation will be returned as a URL fragment. Must match a redirect URI registered on your OAuth Application.

response_uristring

Required when response_mode is direct_post; not permitted otherwise. The URI to which Proof will POST the Verifiable Credential Presentation. Must match a redirect URI registered on your OAuth Application.

scope'urn:proof:params:scope:verifiable-credentials:basic' required

Space-separated list of scopes that translate to DCQL queries.

login_hintstring required

The email address associated with the End-User you're requesting Verifiable Credential presentation from.

noncestring required

Opaque client-generated value bound to the presentation response to prevent replay.

statestring

Opaque value echoed back on the redirect to maintain state between the request and the callback.

transaction_datastring

Space-separated base64url-encoded JSON objects. Each object carries transaction details the Verifier is asking the End-User to authorize, with the shape:

  • type (string, required): one of urn:proof:params:vc:transaction-data:session-data, urn:proof:params:vc:transaction-data:payment-itemized:v1, urn:proof:params:vc:transaction-data:wire-instructions:v1, or urn:proof:params:vc:transaction-data:payment-mandate:v1.
  • credential_ids (array of strings, required): must be a single-element array matching the credential ID targeted by scope (currently proof_id_default).
  • payload (object, required): type-specific fields authorized by the End-User.

Example (decoded): {"type":"urn:proof:params:vc:transaction-data:session-data","credential_ids":["proof_id_default"],"payload":{"ip_address":"203.0.113.0","device_id":"device-1989"}}.