⚠️ This API is under active development, please contact us for help ⚠️
Endpoint
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
response_type | string | ✅ | Must be vp_token. |
response_mode | string | ✅ | Must be one of: fragment or direct_post.jwt. |
client_id | string | ✅ | Identifier of the Verifier (your server). Must match the x509_san_dns in your TLS certificate. Example: verifier.com. If the value is prefixed with x509_san_dns:, domain ownership will be verified. Without the prefix, it is treated as a pre-registered client. |
redirect_uri | string | ✅ | Verifier’s callback endpoint to receive the presentation response. Example: https://verifier.com/callback. |
dcql_query | object | ✅ | A JSON object describing the requested credentials, URL-encoded as a string. |
nonce | string | ✅ | Strong cryptographic random value to prevent replay attacks. Must be validated in the response. |
state | string | ❌ | Verifier-generated value to maintain application state. |
- Only pre-registered client is supported at this moment. Please contact us to get your site whitelisted.
- When using
response_mode=direct_post.jwt, theredirect_uriis referred to asresponse_uri.
Example Request
Example dcql_query object
JSON
Response
Once the wallet processes the request:-
If
response_mode=fragment: The wallet will redirect the browser back toredirect_uriwith thevp_tokenand other parameters in the fragment part of the URL. -
If
response_mode=direct_post.jwt: The wallet will send a direct POST request to theredirect_uricontaining a signed JWT.
Authorization Request (request_uri)
Use of Authorization Requests is RECOMMENDED to avoid issues caused by large request sizes.
Example of Authorization Request Using request_uri:
request_uri points to a public endpoint with the Authorization Request Object. When present, the Wallet fetches this object directly.