Receive credential with user PIN
PUT/v2/config/digital-wallet/openid/sdjwt/credential/:credentialId/user-pin
Submits the transaction code (tx_code) required for the OID4VCI Pre-Authorized Code Flow.
Request
Path Parameters
Unique identifier of a credential stored in the holder's wallet.
- application/json
Body
Transaction code used for receiving credential using pre-authorized grant.
Responses
- 200
- 401
- 500
User PIN for credential received successfully
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- ]
credential object
Unique identifier for the credential stored in the holder's wallet.
The raw JWT, SD-JWT, or mDoc token of the issued Verifiable Credential as received from the issuer's OpenID for Verifiable Credentials Issuance (OID4VCI) Credential Endpoint.
credential objectrequired
Decoded payload of the Verifiable Credential token. Contains the parsed claims from the W3C VC (JWT), IETF SD-JWT VC, or ISO 18013-5 mDoc/mDL credential.
Decoded payload of the Verifiable Credential token. Contains the parsed claims from the W3C VC (JWT), IETF SD-JWT VC, or ISO 18013-5 mDoc/mDL credential.
Possible values: [credential_pending, credential_acked]
Current status of the credential in the holder's wallet. credential_pending indicates the credential requires additional steps (e.g. entering a transaction code or polling the OID4VCI Deferred Credential Endpoint). credential_acked indicates the credential has been fully received and stored.
Acceptance token (transaction_id in OID4VCI) returned for deferred issuance. The wallet uses this to poll the Deferred Credential Endpoint.
Credential Issuer Identifier as defined in OID4VCI. Typically the issuer's base URL used to resolve the Credential Issuer Metadata.
Transaction code (tx_code) required for the OID4VCI Pre-Authorized Code Flow.
Unix timestamp (in seconds) when this credential record was created.
Unix timestamp (in seconds) when this credential record was last modified.
When true, the holder must provide a transaction code (tx_code) to complete the OID4VCI Pre-Authorized Code Flow Token Request.
Format of the received credential as defined in OID4VCI. Values: jwt_vc_json (W3C VC JWT), dc+sd-jwt (IETF SD-JWT VC), mso_mdoc (ISO 18013-5 mDoc/mDL).
Identifier linking this credential to a presentation exchange, if received as part of a dynamic issuance flow involving OpenID for Verifiable Presentation (OpenID4VP).
issuer objectrequired
transactionCode object
Possible values: [numeric, text]
Input method for the transaction code as defined in OID4VCI. numeric restricts to digits only. text allows alphanumeric input.
Expected length of the transaction code in characters.
Human-readable instruction displayed to the holder explaining how to obtain or use the transaction code.
authorizationDetails object[]
Authorization detail type. Must be openid_credential for OID4VCI credential issuance requests, as defined in RFC 9396.
Identifier of the credential configuration from the issuer's OID4VCI Credential Issuer Metadata.
Credential format identifier (e.g. jwt_vc_json, dc+sd-jwt, mso_mdoc).
Possible values: [Operational, Revoked, Suspended]
Current revocation status. Operational means valid, Revoked means permanently invalidated, Suspended means temporarily invalidated.
Legal Person Identification (LPID) attestation credential of the issuer, used to verify the issuer's legal identity in the EUDI Wallet ecosystem.
Proof of Possession (PoP) for the issuer's LPID attestation, proving the issuer controls the associated private key.
Indicates whether the issuer's LPID attestation has been successfully verified.
When true, the wallet automatically presents this credential when a matching OpenID4VP Authorization Request is received.
Possible values: [draft_11, draft_13, draft_15, draft_17]
OID4VCI specification draft version used for this credential's issuance protocol.
Key Identifier (kid) of the cryptographic key used to sign or bind the credential.
Possible values: [jwk, did:key, did:ebsi, did:web, did:tdw]
DID method or key type used as the trust anchor for verifying the issuer's identity.
Array of previously issued credential tokens that have expired.
Array of decoded expired credential payloads.
Possible values: [frontchannel, backchannel]
OAuth 2.0 flow used for credential issuance. frontchannel uses browser redirects, backchannel uses server-to-server communication.
OAuth 2.0 authorization request URL for the Authorization Code Flow.
{
"credential": {
"credentialId": "string",
"credentialToken": "string",
"credential": {},
"credentialStatus": "credential_pending",
"acceptanceToken": "string",
"credentialIssuer": "string",
"userPin": "string",
"createdAt": 0,
"updatedAt": 0,
"userPinRequired": true,
"credentialFormat": "string",
"presentationId": "string",
"issuer": {
"name": "string",
"location": "string",
"cover": "string",
"logo": "string",
"description": "string"
},
"credentialConfigurations": {},
"transactionCode": {
"inputMode": "numeric",
"inputLength": 0,
"description": "string"
},
"authorizationDetails": [
{
"type": "openid_credential",
"credential_configuration_id": "string",
"format": "string"
}
],
"revocationStatus": "Operational",
"legalPidAttestation": "string",
"legalPidAttestationPop": "string",
"legalPidVerified": true,
"autoPresent": true,
"version": "draft_11",
"kid": "string",
"trustAnchor": "jwk",
"expiredCredentialTokens": [
"string"
],
"expiredCredentials": [
{}
],
"requiresEncryption": true,
"isVerifiedWithTrustList": true,
"trustServiceProvider": {},
"oAuthFlow": "frontchannel",
"authorizationRequest": "string"
}
}
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"
}