Skip to content
Registry StackDocsDevelopment (unreleased)

Release the presentation a wallet returned, to Evidence

POST
/v1/presentations/read
curl --request POST \
--url https://example.com/v1/presentations/read \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "principal": { "issuer": "example", "subject": "example" }, "reference": "example" }'
Media typeapplication/json
object
principal
required
object
issuer
required
string
subject
required
string
reference
required
string

Example generated

{
"principal": {
"issuer": "example",
"subject": "example"
},
"reference": "example"
}

The presentation and the session context; the first successful read consumes the result

Media typeapplication/json
object
context
required
object
clientId
required
string
createdBy
required
object
issuer
required
string
subject
required
string
nonce
required
string
policyId
required
string
receivedAt
required
string format: date-time
responseKeyThumbprint
required
string
responseUri
required
string format: uri
presentation
required

DCQL credential query id to the presented credentials, as received.

object
key
additional properties
Array<string>

Example generated

{
"context": {
"clientId": "example",
"createdBy": {
"issuer": "example",
"subject": "example"
},
"nonce": "example",
"policyId": "example",
"receivedAt": "2026-04-15T12:00:00Z",
"responseKeyThumbprint": "example",
"responseUri": "https://example.com"
},
"presentation": {
"additionalProperty": [
"example"
]
}
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The body does not name a reference and the applicant principal

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The Evidence service credential is missing or refused

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

WWW-Authenticate
string
Allowed value: Bearer

Unknown, expired, already read, or created by another principal

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The configured request deadline elapsed

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The wallet has not presented yet

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The request body exceeds the configured byte limit

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The request is not application/json

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The wallet reported an error instead of presenting; the first read consumes the result

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri
category
required
Allowed values: access_denied invalid_request invalid_client vp_formats_not_supported wallet_unavailable other

Example

{
"category": "access_denied"
}
Cache-Control
string
Allowed value: no-store
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

Reads are arriving too quickly

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Retry-After
integer
>= 1
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.

The audit destination is stopped or the token issuer is unavailable

Media typeapplication/problem+json
object
detail
string
status
required
integer
title
required
string
type
required
string format: uri

Example generated

{
"detail": "example",
"status": 1,
"title": "example",
"type": "https://example.com"
}
Cache-Control
string
Allowed value: no-store
Retry-After
integer
>= 1
Traceparent
string
/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

The W3C Trace Context version 0 field of the request, or a server-created one when the request carried none or an invalid or repeated one. tracestate is never answered.