Skip to content
Registry StackDocsDevelopment (unreleased)

Create one adopter-authorized credential offer

POST
/offers
curl --request POST \
--url https://example.com/offers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "credentialConfigurationId": "example", "subjects": [ { "role": "example", "selectorValues": { "additionalProperty": "example" } } ], "transactionCode": false }'
Media typeapplication/json
object
credentialConfigurationId
required
string
subjects
required
Array<object>
>= 1 items <= 8 items
object
role
required
string
/^[a-z][a-z0-9._-]{0,63}$/
selectorValues
object
<= 16 properties
key
additional properties
string | integer | boolean
transactionCode
boolean

Credential offer

Media typeapplication/json
object
credentialOffer
required
object
credential_configuration_ids
required
Array<string>
>= 1 items <= 1 items
credential_issuer
required
string format: uri
grants
required
object
urn:ietf:params:oauth:grant-type:pre-authorized_code
required
object
pre-authorized_code
required
string
tx_code
object
input_mode
required
Allowed value: numeric
length
required
Allowed value: 6
credentialOfferUri
required
string format: uri
expiresIn
required
integer
>= 60 <= 900
transactionCode
string
/^[0-9]{6}$/

Example

{
"credentialOffer": {
"grants": {
"urn:ietf:params:oauth:grant-type:pre-authorized_code": {
"tx_code": {
"input_mode": "numeric",
"length": 6
}
}
}
}
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

The offer request is outside the published catalog

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 offer bearer token is missing or refused

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

Backing Evidence refused authenticated catalog discovery

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
error
required
Allowed values: invalid_credential_request

Examples

ExamplecatalogRefused

The authenticated Evidence catalog was refused

{
"error": "invalid_credential_request",
"error_description": "the credential source refused this request"
}
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

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 typetext/plain; charset=utf-8
string
Cache-Control
string
Allowed value: no-store
Pragma
string
Allowed value: no-cache

Authorization, Evidence discovery, or bounded state is unavailable

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