API Reference
Create Credential Offer
/v1/openid/offers/pre-authorizedAuthorization
bearerAuthOpenIdCredentials In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/openid/offers/pre-authorized" \ -H "Content-Type: application/json" \ -d '{ "credentials": [ "string" ] }'{ "id": "string", "userId": "string", "uri": "string", "expiresAt": 0, "transactionCode": "string"}Delete Credential Offer
/v1/openid/offers/pre-authorized/{id}Authorization
bearerAuthOpenIdCredentials In: header
Path Parameters
Pre-authorized credential offer ID
uuidResponse Body
application/json
application/json
curl -X DELETE "https://example.com/v1/openid/offers/pre-authorized/497f6eca-6276-4993-bfeb-53cbbbba6f08"Issue a verifiable credential
/v1/openid/credentialIn: header
Header Parameters
DPoP proof JWT. A signed JWT that demonstrates proof-of-possession of a private key.
When to use:
- Token endpoint: Required when
dpop_jktwas provided in the authorization request - Credential endpoint: Required when using DPoP-bound access tokens (Authorization header must use format:
Authorization: DPoP <access_token>)
The DPoP proof must be a signed JWT with the following structure:
Header:
alg: Must beES256typ: Must bedpop+jwtjwk: Public key (JWK format)
Payload:
htu: HTTP URI of the target endpointhtm: HTTP method (e.g.,POST)jti: Unique identifier for this DPoP proofiat: Unix timestamp when the DPoP proof was createdath: Optional base64url-encoded SHA-256 hash of theaccess_token. Required when authenticating with the resource server.htcd: Optional base64-encoded SHA-256 hash (content digest) of the HTTP request payload used to validate integrity.
Each DPoP proof must be unique and cannot be reused across requests.
TypeScript Definitions
Use the request body type in TypeScript.
Credential request payload for unencrypted credential requests
Credential request payload for unencrypted credential requests
Response Body
curl -X POST "https://example.com/v1/openid/credential" \ -H "Content-Type: application/json" \ -d '{ "credential_configuration_id": "2cdb2c15-39a7-4556-abab-4515ce2d831b", "proofs": { "jwt": [ "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." ] } }'{ "credentials": [ { "credential": { "@context": [ "https://www.w3.org/2018/credentials/v1" ], "id": "http://example.edu/credentials/3732", "type": [ "VerifiableCredential", "AlumniCredential" ], "issuer": "https://example.edu/issuers/14", "issuanceDate": "2020-03-10T04:24:12.164Z", "credentialSubject": { "id": "did:example:123", "alumniOf": "Example University" }, "proof": { "type": "RsaSignature2018", "created": "2020-03-10T04:24:12Z", "proofPurpose": "assertionMethod", "verificationMethod": "https://example.edu/issuers/keys/1", "jws": "EXAMPLE_JWS_TOKEN_eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9aH0..." } } } ]}Retrieve issuer metadata
curl -X GET "https://example.com/.well-known/openid-credential-issuer"{ "issuer": "http://example.com", "authorization_endpoint": "http://example.com", "jwks_uri": "http://example.com", "token_endpoint": "http://example.com", "scopes_supported": [ "string" ], "response_types_supported": [ "string" ], "response_modes_supported": [ "string" ], "grant_types_supported": [ "string" ], "code_challenge_methods_supported": [ "string" ], "credential_issuer": "http://example.com", "credential_endpoint": "http://example.com", "credentials_supported": [ { "format": "string", "id": "string", "scope": "string", "@context": [ "string" ], "type": [ "string" ], "credentialSubject": {}, "cryptographic_binding_methods_supported": [ "string" ], "cryptographic_suites_supported": [ "string" ] } ], "credential_configurations_supported": { "property1": { "format": "string", "id": "string", "scope": "string", "credential_definition": { "type": [ "string" ], "@context": [ "string" ] }, "credential_signing_alg_values_supported": [ "string" ], "cryptographic_binding_methods_supported": [ "string" ], "proof_types_supported": { "jwt": { "proof_signing_alg_values_supported": [ "string" ], "key_attestations_required": { "key_storage": [ "string" ], "user_authentication": [ "string" ] } } }, "credential_metadata": { "display": [ {} ], "claims": [ { "path": [ "string" ], "mandatory": true, "display": [ { "name": "string", "locale": "string" } ] } ] } }, "property2": { "format": "string", "id": "string", "scope": "string", "credential_definition": { "type": [ "string" ], "@context": [ "string" ] }, "credential_signing_alg_values_supported": [ "string" ], "cryptographic_binding_methods_supported": [ "string" ], "proof_types_supported": { "jwt": { "proof_signing_alg_values_supported": [ "string" ], "key_attestations_required": { "key_storage": [ "string" ], "user_authentication": [ "string" ] } } }, "credential_metadata": { "display": [ {} ], "claims": [ { "path": [ "string" ], "mandatory": true, "display": [ { "name": "string", "locale": "string" } ] } ] } } }, "mdoc_iacas_uri": "http://example.com", "credential_response_encryption": { "alg_values_supported": [ "string" ], "enc_values_supported": [ "string" ], "encryption_required": true }, "credential_request_encryption": { "jwks": { "keys": [ { "kty": "string", "kid": "string", "use": "string", "crv": "string", "alg": "string", "x": "string", "y": "string" } ] }, "enc_values_supported": [ "string" ], "encryption_required": true }}How would you rate this page?
Last updated on