- Connection-based proof request — send a proof request to a holder over an established DIDComm connection.
- Out-of-band (OOB) proof request — generate a proof request invitation that a holder can accept without a pre-existing connection. Can also be sent via email.
- Indy (AnonCreds) — request specific attributes and/or predicates from AnonCreds credentials, optionally restricting by
credDefIdorschemaId. - Presentation Exchange (DIF PE) — request credentials using a W3C Presentation Definition with
input_descriptors.
Base path
All endpoints are rooted at/orgs/:orgId/proofs or /orgs/:orgId/verified-proofs.
Authentication
Every endpoint requires a JWT bearer token.Role-based access
Endpoints
Send proof request
POST /orgs/:orgId/proofs — Request a proof from a connected holder.Send OOB proof request
POST /orgs/:orgId/proofs/oob — Generate an OOB proof request invitation.Verify presentation
POST /orgs/:orgId/proofs/:proofId/verify — Verify a submitted proof presentation.List proof presentations
GET /orgs/:orgId/proofs — Retrieve all proof presentation records.Get proof presentation
GET /orgs/:orgId/proofs/:proofId — Retrieve a specific proof record.Get verified proof details
GET /orgs/:orgId/verified-proofs/:proofId — Get the verified attribute values from a completed proof.Delete verification records
DELETE /orgs/:orgId/verification-records — Delete all verification records for an organization.Send proof request
POST /orgs/:orgId/proofs
Send a proof request to a connected holder. Two API versions are available that differ only in how connectionId is specified.
Required roles: owner, admin, verifier
Path parameters
string
required
UUID of the verifier organization.
Query parameters
string
required
Proof request format. Enum:
INDY (default) or PRESENTATIONEXCHANGE.Request body
- v1 — single connection
- v2 — multiple connections
POST /orgs/:orgId/proofs (unversioned / default)string
required
UUID of the single connection to send the proof request to.
object
Required when
requestType is INDY. Contains an indy sub-object.object
Required when
requestType is PRESENTATIONEXCHANGE. A W3C Presentation Definition object.string
Optional comment attached to the proof request.
string
Automatic proof acceptance mode. Enum:
always, contentApproved, never.string
Goal code for the proof request thread.
string
Attach this proof request to an existing thread.
boolean
Whether the verifier will confirm receipt.
string
DIDComm protocol version.
Examples
201 response
Send out-of-band proof request
POST /orgs/:orgId/proofs/oob
Create an out-of-band proof request invitation. The holder can scan the resulting URL or QR code to respond without a pre-existing connection. The invitation can also be sent to one or more email addresses.
Required roles: owner, admin, verifier
Path parameters
string
required
UUID of the verifier organization.
Query parameters
string
required
Proof request format. Enum:
INDY (default) or PRESENTATIONEXCHANGE.Request body
object
Proof format for Indy requests. Contains the
indy sub-object with requested_attributes and requested_predicates.object
W3C Presentation Definition. Required when
requestType is PRESENTATIONEXCHANGE. Same structure as the connection-based flow.string
Optional comment.
string
Goal code for the proof request thread.
string
DIDComm protocol version.
string
Automatic proof acceptance mode. Enum:
always, contentApproved, never.boolean
Return a shortened invitation URL. Defaults to
true.string[]
Optional array of email addresses to deliver the proof request invitation to. Each must be a valid email. Max size controlled by
OOB_BATCH_SIZE environment variable.boolean
Attempt to reuse an existing connection with the holder.
string
Optional display label for the OOB invitation.
Examples
201 response
Verify presentation
POST /orgs/:orgId/proofs/:proofId/verify
Verify a proof presentation that a holder has submitted in response to a proof request.
Required roles: owner, admin, verifier
Path parameters
string
required
UUID of the verifier organization.
string
required
UUID of the proof record to verify.
Examples
201 response
List proof presentations
GET /orgs/:orgId/proofs
Retrieve all proof presentation records for an organization. Supports pagination, search, and sorting.
Required roles: owner, admin, issuer, verifier, member, holder
Path parameters
string
required
UUID of the organization.
Query parameters
number
Page to retrieve. Min
1. Defaults to 1.number
Records per page. Min
1, max 100. Defaults to 10.string
Free-text search across proof records.
string
Field to sort by. Enum:
createDateTime (default).string
Sort direction.
ASC or DESC (default).Examples
200 response
Get proof presentation by ID
GET /orgs/:orgId/proofs/:proofId
Retrieve the details of a specific proof presentation record, including the submitted proof data.
Required roles: owner, admin, issuer, verifier, member, holder
Path parameters
string
required
UUID of the organization.
string
required
UUID of the proof record to retrieve.
Response
object
Examples
200 response
Get verified proof details
GET /orgs/:orgId/verified-proofs/:proofId
Retrieve the revealed attribute values and verification status of a completed proof presentation.
Required roles: owner, admin, issuer, verifier, member, holder
Path parameters
string
required
UUID of the organization.
string
required
ID of the verified proof record.
Examples
200 response
Delete verification records
DELETE /orgs/:orgId/verification-records
Delete all verification records associated with an organization. This action is irreversible.
Required roles: owner
Path parameters
string
required
UUID of the organization whose verification records will be deleted.
Examples
200 response