Issue credential
POST/v2/config/digital-wallet/openid/sdjwt/credential/issue
Issues a Verifiable Credential to a holder using the OpenID for Verifiable Credentials Issuance (OID4VCI) protocol. Supports two issuance modes: InTime (credential issued immediately via the Credential Endpoint) and Deferred (credential issued later via the Deferred Credential Endpoint by calling the Issue deferred credential API). Supports W3C VC (JWT), IETF SD-JWT VC, and ISO 18013-5 mDoc/mDL credential formats.
Request
Header Parameters
Optional. Unique identifier of the sandbox organisation to use for this request. When you send this header, the service runs the operation in the context of the named sandbox organisation, that is, against the wallet of that sandbox organisation and not against the main wallet of the organisation. Leave the header out to use the main wallet.
The service reads this header only when you authenticate with a bearer access token. When you authenticate with an API key, the service takes the sandbox organisation from the API key and ignores this header. To run an API-key call in a sandbox organisation, bind the key to the sandbox organisation with PUT /v2/config/admin/apikey/{apiKeyId}/sandbox-org instead.
X-SubwalletId is the deprecated name of this header. The service continues to accept it, but X-SandboxOrgId wins if you send both headers.
The sandbox organisation must exist, must belong to your organisation and must be deployed. An unknown identifier, an identifier of a sandbox organisation that is not deployed, and an identifier that belongs to a different organisation all make the call fail with HTTP 400.
- application/json
Body
required
Issuance instruction. issuanceMode is the only mandatory field. Select the credential template with credentialDefinitionId or credentialDefinitionUri, and send the claims in credential or credentials. You do not set the grant type directly: the issuer uses the Pre-Authorized Code Flow when you send userPin, and the Authorization Code Flow when you do not.
- Default (all fields)
- IETF SD-JWT VC
- ISO 18013-5 mDoc/mDL
- W3C VC (JWT)
- Dynamic credential request
- Array [
- ]
- Array [
- ]
- Array [
- ]
Possible values: [InTime, Deferred]
Issuance mode. InTime issues the credential immediately through the OID4VCI Credential Endpoint. Deferred issues the credential later through the Deferred Credential Endpoint.
Default value: openid-credential-offer://
URL scheme for the credential offer deep link. The issuer accepts any string and does not check the value. openid-credential-offer:// is the standard OID4VCI scheme and the default. haip:// is used for HAIP-compliant wallets.
Identifier of a pre-configured credential definition. The issuer uses the format, type, claims structure and revocation settings of this credential definition. The value must be a valid UUID.
URL of an external credential definition. Use this field instead of credentialDefinitionId when the credential definition is hosted outside the platform.
Possible values: <= 12 characters, Value must match regular expression ^(.{4,12})?$
Pre-Authorized Code Flow transaction code (tx_code). When set, the wallet must include this value in the Token Request to obtain an access token. Give 4 to 12 characters. When you send this field the issuer uses the Pre-Authorized Code Flow, even if you send an empty string - an empty string selects that flow but the issuer then drops the transaction code. Leave the field out completely for the Authorisation Code Flow. You cannot combine this field with presentationDefinitionId.
Credential offer endpoint URL of the wallet for issuer-initiated issuance. When you provide this URL, the issuer sends the OID4VCI Credential Offer directly to this endpoint.
credential object
Credential object containing the claims to be issued via the OpenID for Verifiable Credentials Issuance (OID4VCI) protocol. Structure varies by format: use type and credentialSubject for W3C VC (JWT), vct and claims for IETF SD-JWT VC, or doctype and claims for ISO 18013-5 mDoc/mDL. The issuer does not restrict the members of this object: any member that this schema does not list passes through, is stored in the credential, and is returned in the credential payload.
Array of W3C Verifiable Credential type strings (e.g. ['LegalPersonIdentificationData']). Required for W3C VC (JWT) format (jwt_vc_json).
credentialSubject object
Key-value pairs representing the credential claims for W3C VC (JWT) format (jwt_vc_json).
Key-value pairs representing the credential claims for W3C VC (JWT) format (jwt_vc_json).
credentialMetadata object
Free-form metadata that you want to keep with the credential. The issuer does not read or process this object: it stores the object inside the credential and returns it unchanged in the credential payload.
Free-form metadata that you want to keep with the credential. The issuer does not read or process this object: it stores the object inside the credential and returns it unchanged in the credential payload.
Verifiable Credential Type identifier for IETF SD-JWT VC format (dc+sd-jwt).
Document type identifier for ISO 18013-5 mDoc/mDL format (mso_mdoc).
claims object
Key-value pairs representing the credential claims for IETF SD-JWT VC (dc+sd-jwt) or ISO 18013-5 mDoc/mDL (mso_mdoc) formats.
Key-value pairs representing the credential claims for IETF SD-JWT VC (dc+sd-jwt) or ISO 18013-5 mDoc/mDL (mso_mdoc) formats.
The id field from a specific entry in the credentialDefinitions array of the create credential definition response.
Credential object containing the claims to be issued via the OpenID for Verifiable Credentials Issuance (OID4VCI) protocol. Structure varies by format: use type and credentialSubject for W3C VC (JWT), vct and claims for IETF SD-JWT VC, or doctype and claims for ISO 18013-5 mDoc/mDL. The issuer does not restrict the members of this object: any member that this schema does not list passes through, is stored in the credential, and is returned in the credential payload.
Array of credentials to issue in one exchange. Use this field when the credential definition contains more than one credential definition entry. Each entry must carry the id of the credential definition entry that it fills, because the issuer matches the entries by that value.
Identifier of a presentation definition for dynamic credential requests. When set, the issuer requires the holder to present matching credentials through OpenID4VP before issuance continues.
transactionData object
Transaction data to bind to the issuance, as defined in the OpenID4VP transaction data extension. The issuer applies this field only together with credentialDefinitionId.
Transaction data to bind to the issuance, as defined in the OpenID4VP transaction data extension. The issuer applies this field only together with credentialDefinitionId.
Optional. Non-OID4VCI extension. Identifier of a specific individual recipient. When you provide this value, the issuer sends the credential offer as a push notification to the registered device of the individual. You cannot combine this field with mapperId.
Optional. Non-OID4VCI extension. External reference that identifies the individual recipient. The issuer resolves the individual from this value and sends the credential offer as a push notification. You cannot combine this field with individualId.
When true, the issuer adds a visible signature stamp to the issued document.
Possible values: >= 4, <= 4
Position of the signature stamp on the document page. Give exactly four pixel coordinates. The issuer refuses any other number of values.
Possible values: [InTime, Deferred]
Issuance mode. InTime issues the credential immediately through the OID4VCI Credential Endpoint. Deferred issues the credential later through the Deferred Credential Endpoint.
Default value: openid-credential-offer://
URL scheme for the credential offer deep link. The issuer accepts any string and does not check the value. openid-credential-offer:// is the standard OID4VCI scheme and the default. haip:// is used for HAIP-compliant wallets.
Identifier of the credential definition configured for IETF SD-JWT VC (dc+sd-jwt) format.
credentials object[]required
Array of credentials to issue. Each entry contains the id from the credentialDefinitions array and the claims as flat key-value pairs for IETF SD-JWT VC format. The issuer matches the entries to the credential definition entries by id, so id is mandatory.
The id field from a specific entry in the credentialDefinitions array of the create credential definition response.
claims object
Flat key-value pairs representing the credential claims for IETF SD-JWT VC format. Keys are claim names (e.g. given_name, birthdate), values are the claim data. Nested objects (e.g. address) are supported.
Flat key-value pairs representing the credential claims for IETF SD-JWT VC format. Keys are claim names (e.g. given_name, birthdate), values are the claim data. Nested objects (e.g. address) are supported.
Possible values: <= 12 characters, Value must match regular expression ^(.{4,12})?$
Transaction code (tx_code) for the Pre-Authorized Code Flow. Give 4 to 12 characters. When you send this field the issuer uses the Pre-Authorized Code Flow, even if you send an empty string - an empty string selects that flow but the issuer then drops the transaction code. Leave the field out completely for the Authorisation Code Flow.
Possible values: [InTime, Deferred]
Issuance mode. InTime issues the credential immediately through the OID4VCI Credential Endpoint. Deferred issues the credential later through the Deferred Credential Endpoint.
Default value: openid-credential-offer://
URL scheme for the credential offer deep link. The issuer accepts any string and does not check the value. openid-credential-offer:// is the standard OID4VCI scheme and the default. haip:// is used for HAIP-compliant wallets.
Identifier of the credential definition configured for ISO 18013-5 mDoc/mDL (mso_mdoc) format.
credentials object[]required
Array of credentials to issue. Each entry contains the id from the credentialDefinitions array and the claims namespaced under the mDoc doctype. The issuer matches the entries to the credential definition entries by id, so id is mandatory.
The id field from a specific entry in the credentialDefinitions array of the create credential definition response.
claims object
Claims namespaced under the ISO 18013-5 mDoc/mDL doctype (e.g. eu.europa.ec.eudi.pid.1). The top-level key is the doctype namespace containing the data elements as key-value pairs.
Claims namespaced under the ISO 18013-5 mDoc/mDL doctype (e.g. eu.europa.ec.eudi.pid.1). The top-level key is the doctype namespace containing the data elements as key-value pairs.
Possible values: <= 12 characters, Value must match regular expression ^(.{4,12})?$
Transaction code (tx_code) for the Pre-Authorized Code Flow. Give 4 to 12 characters. When you send this field the issuer uses the Pre-Authorized Code Flow, even if you send an empty string - an empty string selects that flow but the issuer then drops the transaction code. Leave the field out completely for the Authorisation Code Flow.
Possible values: [InTime, Deferred]
Issuance mode. InTime issues the credential immediately through the OID4VCI Credential Endpoint. Deferred issues the credential later through the Deferred Credential Endpoint.
Default value: openid-credential-offer://
URL scheme for the credential offer deep link. The issuer accepts any string and does not check the value. openid-credential-offer:// is the standard OID4VCI scheme and the default. haip:// is used for HAIP-compliant wallets.
Identifier of the credential definition configured for W3C VC (JWT) (jwt_vc_json) format.
credentials object[]required
Array of credentials to issue. Each entry contains the id from the credentialDefinitions array and the claims under credentialSubject for W3C VC (JWT) format. The issuer matches the entries to the credential definition entries by id, so id is mandatory.
The id field from a specific entry in the credentialDefinitions array of the create credential definition response.
credentialSubject object
W3C Verifiable Credential subject containing the claims as key-value pairs following the W3C Verifiable Credentials Data Model.
W3C Verifiable Credential subject containing the claims as key-value pairs following the W3C Verifiable Credentials Data Model.
Possible values: <= 12 characters, Value must match regular expression ^(.{4,12})?$
Transaction code (tx_code) for the Pre-Authorized Code Flow. Give 4 to 12 characters. When you send this field the issuer uses the Pre-Authorized Code Flow, even if you send an empty string - an empty string selects that flow but the issuer then drops the transaction code. Leave the field out completely for the Authorisation Code Flow.
Possible values: [InTime, Deferred]
Issuance mode. InTime issues the credential immediately through the OID4VCI Credential Endpoint. Deferred issues the credential later through the Deferred Credential Endpoint.
Identifier of the credential definition to use for issuance.
Identifier of a presentation definition for dynamic credential requests. The issuer requires the holder to present matching credentials via OpenID for Verifiable Presentation (OpenID4VP) before issuance proceeds.
Wallet's credential offer endpoint URL for issuer-initiated issuance. When provided, the issuer sends the OID4VCI Credential Offer directly to this endpoint.
Default value: openid-credential-offer://
URL scheme for the credential offer deep link. The issuer accepts any string and does not check the value. openid-credential-offer:// is the standard OID4VCI scheme and the default. haip:// is used for HAIP-compliant wallets.
transactionData object
Transaction data to bind to the issuance, as defined in the OpenID4VP transaction data extension. The issuer includes this data in the presentation request that it sends to the holder.
Transaction data to bind to the issuance, as defined in the OpenID4VP transaction data extension. The issuer includes this data in the presentation request that it sends to the holder.
Array of credentials to issue after the holder completes the presentation. Each entry must carry the id of the credential definition entry that it fills, because the issuer matches the entries by that value.
Responses
- 200
- 400
- 401
- 500
The issuer created the credential exchange record and the credential offer. The response holds a single object when the issuer creates one exchange record, and an array when the credential definition creates more than one record. The issuer answers 200, not 201.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- Array [
- ]
- ]
credentialHistory object
Credential exchange record, or array of credential exchange records, created for this issuance.
Identifier of the credential exchange record. This field holds the same value as CredentialExchangeId.
Unique identifier for the credential exchange record, tracking the full lifecycle of a single OID4VCI credential issuance.
Camel-case alias of CredentialExchangeId. The server sets both fields to the same value. Use this field in new integrations.
Identifier of the organisation that issues the credential.
Identifier of the OpenID wallet deployment that processes this exchange.
Identifier of the data agreement that governs this issuance. The field is empty when the issuance uses a credential definition instead of a data agreement.
dataAttributeValues object[]required
Attribute values supplied for a data agreement based issuance. The field is null when the issuance uses a credential definition.
Name of the data attribute, as defined in the data agreement.
Value of the data attribute for this holder.
When true, the issuer makes this attribute selectively disclosable.
Indicates whether the holder opened the credential offer.
Indicates whether the holder called the OID4VCI Token Endpoint for this exchange.
Possible values: [``, InTime, Deferred]
Issuance mode used for this exchange. InTime means the credential was issued immediately via the OID4VCI Credential Endpoint. Deferred means the credential is pending via the Deferred Credential Endpoint.
When true, the issuance used the OID4VCI Pre-Authorized Code Flow. When false, the Authorization Code Flow was used.
The OID4VCI Credential Offer URI sent to the holder to start the issuance flow.
Credential offer endpoint of the holder wallet. The issuer sends the Credential Offer to this URL for issuer-initiated issuance.
Possible values: [``, pending, ready]
Processing status of the credential. pending means the credential is being prepared. ready means it is available for the holder to retrieve.
Possible values: [``, offer_sent, offer_received, token_issued, credential_issued, credential_acked, credential_accepted, credential_deleted, issuance_denied]
Lifecycle status of the credential exchange in the OID4VCI protocol flow: offer_sent (Credential Offer sent to holder), offer_received (holder scanned or received the offer), token_issued (issuer released an access token), credential_issued (credential issued via Credential Endpoint), credential_acked (holder acknowledged receipt), credential_accepted (holder accepted credential), credential_deleted (holder deleted credential), issuance_denied (issuer denied issuance).
Value of the OID4VCI issuer_state parameter. The issuer uses it to bind the Authorization Request to this exchange.
State value of the OAuth 2.0 Authorization Request that the wallet sent.
State value of the ID Token Request that the issuer sent to the holder.
ID Token Request that the issuer sent to the holder as a signed request object.
State value that the issuer returns together with the authorisation code.
OAuth 2.0 authorisation code issued for the Authorization Code Flow.
Pre-authorised code issued for the OID4VCI Pre-Authorized Code Flow.
Acceptance token that the holder uses to poll the OID4VCI Deferred Credential Endpoint.
PKCE code challenge that the wallet sent in the Authorization Request, as defined in RFC 7636.
PKCE code challenge method, for example S256.
Redirect URI that the wallet registered for the Authorization Code Flow.
Client identifier of the holder's wallet, typically a DID or URL. Provided during the OID4VCI Token Request.
Decentralized Identifier of the issuer that signs the credential.
Transaction code (tx_code) for the Pre-Authorized Code Flow.
Unix timestamp (in seconds) when this exchange record was created.
Unix timestamp (in seconds) when this exchange record was last modified. The list operation sorts on this field.
When true, the issuer makes the data agreement attributes selectively disclosable in the issued credential.
credential objectrequired
The credential payload being issued. Contains type and credentialSubject for W3C VC (JWT) format, or vct/doctype and claims for IETF SD-JWT VC / ISO 18013-5 mDoc/mDL formats.
The credential payload being issued. Contains type and credentialSubject for W3C VC (JWT) format, or vct/doctype and claims for IETF SD-JWT VC / ISO 18013-5 mDoc/mDL formats.
disclosureMapping objectrequired
Selective disclosure mapping for IETF SD-JWT VC credentials. Each entry maps a claim path to its disclosure setting.
Selective disclosure mapping for IETF SD-JWT VC credentials. Each entry maps a claim path to its disclosure setting.
Label of the credential definition or data agreement that this issuance uses.
Identifier of the credential definition that this issuance uses.
URL of an external credential definition that this issuance uses.
Identifier of a presentation definition required for dynamic credential requests.
Identifier of the presentation exchange session linked to a dynamic credential request.
holder objectrequired
Metadata about the credential holder obtained during the OID4VCI exchange. The issuer returns only the name field. The default value before the holder starts the flow is Unknown.
Identifier of the holder, typically a DID or display name resolved from wallet client metadata.
Possible values: [``, vc+sd-jwt, vp+sd-jwt, dc+sd-jwt, jwt_vc_json, jwt_vc, mso_mdoc]
Credential format used for this issuance. jwt_vc_json is W3C VC (JWT). dc+sd-jwt is IETF SD-JWT VC. mso_mdoc is ISO 18013-5 mDoc/mDL. Records created by earlier releases can also hold the legacy values vc+sd-jwt, vp+sd-jwt and jwt_vc.
Indicates whether revocation is enabled for the issued credential.
Possible values: [``, Operational, Revoked, Suspended]
Current revocation status: Operational (valid), Revoked (permanently invalidated), Suspended (temporarily invalidated). The field is empty when the credential definition does not support revocation.
OAuth 2.0 client assertion JWT provided by the holder's wallet for client authentication.
Type of the client assertion token, for example urn:ietf:params:oauth:client-assertion-type:jwt-bearer.
Indicates whether the holder's client assertion JWT was verified.
Wallet Unit Attestation (WUA) credential presented by the holder, certifying the wallet instance is genuine.
Proof of Possession for the Wallet Unit Attestation.
Indicates whether the Wallet Unit Attestation was verified.
walletUnitValidity object[]required
Array of wallet unit validity records containing attestation and proof of possession verification status.
attestation object
Wallet unit attestation verification status.
Indicates whether the attestation has expired.
Indicates whether the attestation has been revoked.
Indicates whether the attestation was verified.
proofOfPossession object
Proof of possession verification status.
Indicates whether the proof of possession has expired.
Indicates whether the proof of possession was verified.
Unix timestamp (in seconds) when the wallet unit validity was validated.
The signed credential token (JWT, SD-JWT, or mDoc) issued to the holder.
cnf objectrequired
Confirmation claim (cnf) containing the holder's public key JWK for key binding.
Confirmation claim (cnf) containing the holder's public key JWK for key binding.
JWT Token Identifier (jti), unique identifier for the issued credential token.
Proof JWT provided by the holder in the OID4VCI Credential Request, demonstrating key possession.
Type of the proof provided in the Credential Request (e.g. jwt).
Indicates whether the issuer verified the holder's proof of key possession.
decodedWalletUnitAttestation objectrequired
Decoded payload of the holder's Wallet Unit Attestation credential.
Decoded payload of the holder's Wallet Unit Attestation credential.
OpenID Connect ID Token shared by the holder during the issuance flow.
idTokenDecoded objectrequired
Decoded payload of the holder's OpenID Connect ID Token.
Decoded payload of the holder's OpenID Connect ID Token.
Indicates whether the holder's OpenID Connect ID Token was verified.
Human-readable reason why the issuer denied the credential issuance request.
Array of previously issued credential tokens that have expired.
Array of decoded expired credential payloads.
transactionData object
Transaction data bound to this issuance, as defined in the OpenID4VP transaction data extension. This is the only field that the issuer leaves out when it has no value.
Transaction data bound to this issuance, as defined in the OpenID4VP transaction data extension. This is the only field that the issuer leaves out when it has no value.
credentialResponseEncryption objectrequired
Encryption parameters that the wallet requests for the OID4VCI Credential Response. The field is null when the wallet asks for a plain response.
JWE key management algorithm, for example ECDH-ES.
JWE content encryption algorithm, for example A128GCM.
jwk object
Public JSON Web Key that the issuer uses to encrypt the Credential Response.
Public JSON Web Key that the issuer uses to encrypt the Credential Response.
Encryption parameters that the wallet requests for the OID4VCI Credential Response. The field is null when the wallet asks for a plain response.
issuerTrustServiceProvider objectrequired
Trust service provider record of the issuer, resolved from the trust list.
Trust service provider record of the issuer, resolved from the trust list.
holderTrustServiceProvider objectrequired
Trust service provider record of the holder, resolved from the trust list.
Trust service provider record of the holder, resolved from the trust list.
Identifier of the individual recipient the credential offer was sent to.
Mapper identifier linking the credential offer to an external individual record.
Minimum polling interval (in seconds) for the OID4VCI Deferred Credential Endpoint.
When true, the issuer adds a visible signature stamp to the issued document.
Possible values: >= 4, <= 4
Position of the signature stamp on the document page, given as four pixel coordinates.
Identifier of the credential exchange record. This field holds the same value as CredentialExchangeId.
Unique identifier for the credential exchange record, tracking the full lifecycle of a single OID4VCI credential issuance.
Camel-case alias of CredentialExchangeId. The server sets both fields to the same value. Use this field in new integrations.
Identifier of the organisation that issues the credential.
Identifier of the OpenID wallet deployment that processes this exchange.
Identifier of the data agreement that governs this issuance. The field is empty when the issuance uses a credential definition instead of a data agreement.
dataAttributeValues object[]required
Attribute values supplied for a data agreement based issuance. The field is null when the issuance uses a credential definition.
Name of the data attribute, as defined in the data agreement.
Value of the data attribute for this holder.
When true, the issuer makes this attribute selectively disclosable.
Indicates whether the holder opened the credential offer.
Indicates whether the holder called the OID4VCI Token Endpoint for this exchange.
Possible values: [``, InTime, Deferred]
Issuance mode used for this exchange. InTime means the credential was issued immediately via the OID4VCI Credential Endpoint. Deferred means the credential is pending via the Deferred Credential Endpoint.
When true, the issuance used the OID4VCI Pre-Authorized Code Flow. When false, the Authorization Code Flow was used.
The OID4VCI Credential Offer URI sent to the holder to start the issuance flow.
Credential offer endpoint of the holder wallet. The issuer sends the Credential Offer to this URL for issuer-initiated issuance.
Possible values: [``, pending, ready]
Processing status of the credential. pending means the credential is being prepared. ready means it is available for the holder to retrieve.
Possible values: [``, offer_sent, offer_received, token_issued, credential_issued, credential_acked, credential_accepted, credential_deleted, issuance_denied]
Lifecycle status of the credential exchange in the OID4VCI protocol flow: offer_sent (Credential Offer sent to holder), offer_received (holder scanned or received the offer), token_issued (issuer released an access token), credential_issued (credential issued via Credential Endpoint), credential_acked (holder acknowledged receipt), credential_accepted (holder accepted credential), credential_deleted (holder deleted credential), issuance_denied (issuer denied issuance).
Value of the OID4VCI issuer_state parameter. The issuer uses it to bind the Authorization Request to this exchange.
State value of the OAuth 2.0 Authorization Request that the wallet sent.
State value of the ID Token Request that the issuer sent to the holder.
ID Token Request that the issuer sent to the holder as a signed request object.
State value that the issuer returns together with the authorisation code.
OAuth 2.0 authorisation code issued for the Authorization Code Flow.
Pre-authorised code issued for the OID4VCI Pre-Authorized Code Flow.
Acceptance token that the holder uses to poll the OID4VCI Deferred Credential Endpoint.
PKCE code challenge that the wallet sent in the Authorization Request, as defined in RFC 7636.
PKCE code challenge method, for example S256.
Redirect URI that the wallet registered for the Authorization Code Flow.
Client identifier of the holder's wallet, typically a DID or URL. Provided during the OID4VCI Token Request.
Decentralized Identifier of the issuer that signs the credential.
Transaction code (tx_code) for the Pre-Authorized Code Flow.
Unix timestamp (in seconds) when this exchange record was created.
Unix timestamp (in seconds) when this exchange record was last modified. The list operation sorts on this field.
When true, the issuer makes the data agreement attributes selectively disclosable in the issued credential.
credential objectrequired
The credential payload being issued. Contains type and credentialSubject for W3C VC (JWT) format, or vct/doctype and claims for IETF SD-JWT VC / ISO 18013-5 mDoc/mDL formats.
The credential payload being issued. Contains type and credentialSubject for W3C VC (JWT) format, or vct/doctype and claims for IETF SD-JWT VC / ISO 18013-5 mDoc/mDL formats.
disclosureMapping objectrequired
Selective disclosure mapping for IETF SD-JWT VC credentials. Each entry maps a claim path to its disclosure setting.
Selective disclosure mapping for IETF SD-JWT VC credentials. Each entry maps a claim path to its disclosure setting.
Label of the credential definition or data agreement that this issuance uses.
Identifier of the credential definition that this issuance uses.
URL of an external credential definition that this issuance uses.
Identifier of a presentation definition required for dynamic credential requests.
Identifier of the presentation exchange session linked to a dynamic credential request.
holder objectrequired
Metadata about the credential holder obtained during the OID4VCI exchange. The issuer returns only the name field. The default value before the holder starts the flow is Unknown.
Identifier of the holder, typically a DID or display name resolved from wallet client metadata.
Possible values: [``, vc+sd-jwt, vp+sd-jwt, dc+sd-jwt, jwt_vc_json, jwt_vc, mso_mdoc]
Credential format used for this issuance. jwt_vc_json is W3C VC (JWT). dc+sd-jwt is IETF SD-JWT VC. mso_mdoc is ISO 18013-5 mDoc/mDL. Records created by earlier releases can also hold the legacy values vc+sd-jwt, vp+sd-jwt and jwt_vc.
Indicates whether revocation is enabled for the issued credential.
Possible values: [``, Operational, Revoked, Suspended]
Current revocation status: Operational (valid), Revoked (permanently invalidated), Suspended (temporarily invalidated). The field is empty when the credential definition does not support revocation.
OAuth 2.0 client assertion JWT provided by the holder's wallet for client authentication.
Type of the client assertion token, for example urn:ietf:params:oauth:client-assertion-type:jwt-bearer.
Indicates whether the holder's client assertion JWT was verified.
Wallet Unit Attestation (WUA) credential presented by the holder, certifying the wallet instance is genuine.
Proof of Possession for the Wallet Unit Attestation.
Indicates whether the Wallet Unit Attestation was verified.
walletUnitValidity object[]required
Array of wallet unit validity records containing attestation and proof of possession verification status.
attestation object
Wallet unit attestation verification status.
Indicates whether the attestation has expired.
Indicates whether the attestation has been revoked.
Indicates whether the attestation was verified.
proofOfPossession object
Proof of possession verification status.
Indicates whether the proof of possession has expired.
Indicates whether the proof of possession was verified.
Unix timestamp (in seconds) when the wallet unit validity was validated.
The signed credential token (JWT, SD-JWT, or mDoc) issued to the holder.
cnf objectrequired
Confirmation claim (cnf) containing the holder's public key JWK for key binding.
Confirmation claim (cnf) containing the holder's public key JWK for key binding.
JWT Token Identifier (jti), unique identifier for the issued credential token.
Proof JWT provided by the holder in the OID4VCI Credential Request, demonstrating key possession.
Type of the proof provided in the Credential Request (e.g. jwt).
Indicates whether the issuer verified the holder's proof of key possession.
decodedWalletUnitAttestation objectrequired
Decoded payload of the holder's Wallet Unit Attestation credential.
Decoded payload of the holder's Wallet Unit Attestation credential.
OpenID Connect ID Token shared by the holder during the issuance flow.
idTokenDecoded objectrequired
Decoded payload of the holder's OpenID Connect ID Token.
Decoded payload of the holder's OpenID Connect ID Token.
Indicates whether the holder's OpenID Connect ID Token was verified.
Human-readable reason why the issuer denied the credential issuance request.
Array of previously issued credential tokens that have expired.
Array of decoded expired credential payloads.
transactionData object
Transaction data bound to this issuance, as defined in the OpenID4VP transaction data extension. This is the only field that the issuer leaves out when it has no value.
Transaction data bound to this issuance, as defined in the OpenID4VP transaction data extension. This is the only field that the issuer leaves out when it has no value.
credentialResponseEncryption objectrequired
Encryption parameters that the wallet requests for the OID4VCI Credential Response. The field is null when the wallet asks for a plain response.
JWE key management algorithm, for example ECDH-ES.
JWE content encryption algorithm, for example A128GCM.
jwk object
Public JSON Web Key that the issuer uses to encrypt the Credential Response.
Public JSON Web Key that the issuer uses to encrypt the Credential Response.
Encryption parameters that the wallet requests for the OID4VCI Credential Response. The field is null when the wallet asks for a plain response.
issuerTrustServiceProvider objectrequired
Trust service provider record of the issuer, resolved from the trust list.
Trust service provider record of the issuer, resolved from the trust list.
holderTrustServiceProvider objectrequired
Trust service provider record of the holder, resolved from the trust list.
Trust service provider record of the holder, resolved from the trust list.
Identifier of the individual recipient the credential offer was sent to.
Mapper identifier linking the credential offer to an external individual record.
Minimum polling interval (in seconds) for the OID4VCI Deferred Credential Endpoint.
When true, the issuer adds a visible signature stamp to the issued document.
Possible values: >= 4, <= 4
Position of the signature stamp on the document page, given as four pixel coordinates.
{
"credentialHistory": {}
}
The request is invalid. The issuer returns this status when issuanceMode is missing or is not InTime or Deferred, when userPin is shorter than 4 or longer than 12 characters, when userPin is combined with presentationDefinitionId, when credentialDefinitionId is missing or is not a valid UUID, when transactionData is sent without presentationDefinitionId or does not match its schema, or when the issuance fails. This operation can also return the raw error body of the issuance backend instead of the errorCode and errorDescription envelope.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Unauthorized
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Internal server error. The issuer returns this status when it cannot resolve the individual for individualId or mapperId, when the individual has no push notification token, or when both fields are set.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}