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
- application/json
Body
- Default (all fields)
- IETF SD-JWT VC
- ISO 18013-5 mDoc/mDL
- W3C VC (JWT)
- Dynamic credential request
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
Issuance mode: InTime for immediate availability, Deferred for issuance after backend processing.
Possible values: [openid-credential-offer://, haip://]
URL scheme for the credential offer deep link. openid-credential-offer:// is the standard OID4VCI scheme. haip:// is used for HAIP-compliant wallets.
Identifier of a pre-configured credential definition. The credential will be issued using the format, type, claims structure, and revocation settings defined in this credential definition.
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.
Wallet's credential offer endpoint URL for issuer-initiated issuance. When provided, the issuer sends the OID4VCI Credential Offer directly to this endpoint.
credentials object[]
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
Additional metadata to include in the issued credential, such as evidence or terms of use.
Additional metadata to include in the issued credential, such as evidence or terms of use.
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).
Key-value pairs representing the credential claims for IETF SD-JWT VC (dc+sd-jwt) or ISO 18013-5 mDoc/mDL (mso_mdoc) formats.
Optional identifier for the credential object when issuing multiple credentials in a batch request.
Identifier of a presentation definition for dynamic credential requests. When set, the issuer requires the holder to present matching credentials via OpenID for Verifiable Presentation (OpenID4VP) before issuance proceeds.
Optional. Non-OID4VCI extension — used only for data agreement enabled workflows. Identifier of a specific individual recipient. When provided, the credential offer is sent directly to the individual's registered device.
Issuance mode: InTime for immediate availability, Deferred for issuance after backend processing.
Possible values: [openid-credential-offer://, haip://]
URL scheme for the credential offer deep link.
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 credential configuration ID and the claims as flat key-value pairs for IETF SD-JWT VC format.
Credential configuration ID from the credential definition. Maps to a specific credentialDefinitions entry.
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.
Transaction code (tx_code) for the Pre-Authorized Code Flow. Leave empty for Authorisation Code Flow.
Issuance mode: InTime for immediate availability, Deferred for issuance after backend processing.
Possible values: [openid-credential-offer://, haip://]
URL scheme for the credential offer deep link.
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 credential configuration ID and the claims namespaced under the mDoc doctype.
Credential configuration ID from the credential definition. Maps to a specific credentialDefinitions entry.
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.
Transaction code (tx_code) for the Pre-Authorized Code Flow. Leave empty for Authorisation Code Flow.
Issuance mode: InTime for immediate availability, Deferred for issuance after backend processing.
Possible values: [openid-credential-offer://, haip://]
URL scheme for the credential offer deep link.
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 credential configuration ID and the claims under credentialSubject for W3C VC (JWT) format.
Credential configuration ID from the credential definition. Maps to a specific credentialDefinitions entry.
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.
Transaction code (tx_code) for the Pre-Authorized Code Flow. Leave empty for Authorisation Code Flow.
Issuance mode: InTime for immediate availability, Deferred for issuance after backend processing.
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.
transactionData object
credentials object[]
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
Additional metadata to include in the issued credential, such as evidence or terms of use.
Additional metadata to include in the issued credential, such as evidence or terms of use.
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).
Key-value pairs representing the credential claims for IETF SD-JWT VC (dc+sd-jwt) or ISO 18013-5 mDoc/mDL (mso_mdoc) formats.
Optional identifier for the credential object when issuing multiple credentials in a batch request.
Responses
- 200
- 401
- 500
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
- Array [
- ]
credentialHistory object
Unique identifier for the credential exchange record, tracking the full lifecycle of a single OID4VCI credential issuance.
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 or JSON sent to the holder to initiate the issuance flow.
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, 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/received offer), 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).
Client identifier of the holder's wallet, typically a DID or URL. Provided during the OID4VCI Token Request.
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.
credential object
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 object
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.
Identifier of a presentation definition required for dynamic credential requests.
Identifier of the presentation exchange session linked to a dynamic credential request.
holder object
Metadata about the credential holder obtained during the OID4VCI exchange.
Identifier of the holder, typically a DID or display name resolved from wallet client metadata.
Possible values: [jwt_vc_json, dc+sd-jwt, mso_mdoc]
Credential format used for this issuance. Values: jwt_vc_json (W3C VC JWT), dc+sd-jwt (IETF SD-JWT VC), mso_mdoc (ISO 18013-5 mDoc/mDL).
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).
OAuth 2.0 client assertion JWT provided by the holder's wallet for client authentication.
Type of the client assertion token.
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.
The signed credential token (JWT, SD-JWT, or mDoc) issued to the holder.
cnf object
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).
decodedWalletUnitAttestation object
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.
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.
credentialResponseEncryption object
The details of issuer trust service provider
The details of holder trust service provider
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.
Unique identifier for the credential exchange record, tracking the full lifecycle of a single OID4VCI credential issuance.
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 or JSON sent to the holder to initiate the issuance flow.
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, 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/received offer), 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).
Client identifier of the holder's wallet, typically a DID or URL. Provided during the OID4VCI Token Request.
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.
credential object
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 object
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.
Identifier of a presentation definition required for dynamic credential requests.
Identifier of the presentation exchange session linked to a dynamic credential request.
holder object
Metadata about the credential holder obtained during the OID4VCI exchange.
Identifier of the holder, typically a DID or display name resolved from wallet client metadata.
Possible values: [jwt_vc_json, dc+sd-jwt, mso_mdoc]
Credential format used for this issuance. Values: jwt_vc_json (W3C VC JWT), dc+sd-jwt (IETF SD-JWT VC), mso_mdoc (ISO 18013-5 mDoc/mDL).
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).
OAuth 2.0 client assertion JWT provided by the holder's wallet for client authentication.
Type of the client assertion token.
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.
The signed credential token (JWT, SD-JWT, or mDoc) issued to the holder.
cnf object
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).
decodedWalletUnitAttestation object
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.
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.
credentialResponseEncryption object
The details of issuer trust service provider
The details of holder trust service provider
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.
{
"credentialHistory": {}
}
Unauthorized
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Internal server error
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}