Skip to content
Registry StackDocsLatest

Issue a credential through OpenID4VCI

POST
/oid4vci/credential
curl --request POST \
--url https://example.com/oid4vci/credential \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "credential_configuration_id": "example", "credential_identifier": "example", "format": "dc+sd-jwt", "proof": { "jwt": "example", "proof_type": "jwt" }, "proofs": { "jwt": [ "example" ] }, "vct": "https://example.com" }'

Issues a dc+sd-jwt credential for an authenticated self-attestation principal. Error responses use the OpenID4VCI error envelope, not RFC 9457 Problem Details.

Media typeapplication/json
object
credential_configuration_id
string
credential_identifier
string
format
string
Example
dc+sd-jwt
proof
object
jwt
required
string
proof_type
required
string
Example
jwt
proofs
object
jwt
Array<string>
>= 1 items
vct
string format: uri

Credential response

Media typeapplication/json
object
c_nonce
string
c_nonce_expires_in
integer format: uint64
credential
required
string
credential_profile
string
credentials
Array<object>
object
credential
required
string
key
additional properties
any
format
string
Example
{
"c_nonce": "next-b64url-nonce",
"c_nonce_expires_in": 300,
"credential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRjK3NkLWp3dCJ9.payload.signature~disclosure~",
"format": "dc+sd-jwt"
}

Invalid credential request, proof, or type

Media typeapplication/json
object
error
required
string
error_description
string
Example
{
"error": "invalid_proof",
"error_description": "credential proof is invalid"
}

Invalid credential access token

Media typeapplication/json
object
error
required
string
error_description
string
Example
{
"error": "invalid_token",
"error_description": "credential access token is invalid"
}

Credential request is denied

Media typeapplication/json
object
error
required
string
error_description
string
Example
{
"error": "access_denied",
"error_description": "credential request is denied"
}

Credential request is rate limited

Media typeapplication/json
object
error
required
string
error_description
string
Example
{
"error": "temporarily_unavailable",
"error_description": "credential request is rate limited"
}

OpenID4VCI issuer failed

Media typeapplication/json
object
error
required
string
error_description
string
Example
{
"error": "server_error",
"error_description": "credential issuer failed"
}