Skip to content
Registry StackDocsv0.46.0

Exchange one claimed token and one proof for one credential

POST
/protocol/oid4vci/draft-13/credential
curl --request POST \
--url https://example.com/protocol/oid4vci/draft-13/credential \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "format": "dc+sd-jwt", "proof": { "jwt": "example", "proof_type": "jwt" }, "vct": "example" }'
Media typeapplication/json
object
format
required
Allowed value: dc+sd-jwt
proof
required
object
jwt
required
string
<= 8192 characters
proof_type
required
Allowed value: jwt
vct
required
string

The Evidence credential, byte-for-byte

Media typeapplication/json
object
credential
required
string

Example generated

{
"credential": "example"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

The request shape, format, type, nonce, proof, or post-claim credential request was terminally refused

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request unsupported_credential_format unsupported_credential_type invalid_proof credential_request_denied temporarily_unavailable server_error
error_description
required
string
error
required
Allowed values: invalid_credential_request unsupported_credential_format unsupported_credential_type invalid_proof credential_request_denied

Example

{
"error": "invalid_credential_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

The access token is missing, unknown, expired, or already claimed

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request invalid_proof invalid_nonce credential_request_denied temporarily_unavailable server_error
error_description
required
string

Example

{
"error": "invalid_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache
WWW-Authenticate
string
Allowed value: Bearer

The configured request deadline elapsed

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request invalid_proof invalid_nonce credential_request_denied temporarily_unavailable server_error
error_description
required
string

Example

{
"error": "invalid_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

The request body exceeds the configured byte limit

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request invalid_proof invalid_nonce credential_request_denied temporarily_unavailable server_error
error_description
required
string

Example

{
"error": "invalid_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

The request budget is spent; retry after the interval in Retry-After

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request invalid_proof invalid_nonce credential_request_denied temporarily_unavailable server_error
error_description
required
string

Example

{
"error": "invalid_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache
Retry-After
integer
>= 1

Bounded state is unavailable before the access token can be claimed

Media typeapplication/json
object
error
required
Allowed values: invalid_request invalid_token unsupported_grant_type invalid_grant invalid_credential_request invalid_proof invalid_nonce credential_request_denied temporarily_unavailable server_error
error_description
required
string

Example

{
"error": "invalid_request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache