Verifiable Presentation
Endpoint facilitates the retrieval of a correlationId, definitionId, authStatusURIand authRequestURI. The correlationId is a unique identifier for the request. The definitionId is a name that's passed in the request and represents name of credential (characterCredential). The authStatusURI is a URI that shows where auth-status endpoint is located. The authRequestURI contains info that is put in QR data and is used to scan with mobile wallet app.
Claim-based access control: Verifier_Admin, Verifier_User
The definitionId defines the credential to ask for, eg: emailCredential.The value should start with lowercase and continue using camelCase pattern.Must be one of the allowed definitions in the template endpoint.
emailCredentialSuccessful response
Bad Request
Invalid authentication credentials.
User does not have a required claim to perform this operation.
Conflict
Internal Server Error
The agent service is unavailable
POST /api/v1/verifiable-presentations/definition/{definitionId} HTTP/1.1
Host: {VERIFIER_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
"definitionId": "emailCredential",
"authRequestURI": "openid-vc://?request_uri=https%3A%2F%2Fverifier-api-url%2Fprivate%2Fsiop%2Fdefinitions%2FcharacterCredential%2Fauth-requests%2Fc35f4780-8570-4346-9252-6941747107b5",
"authStatusURI": "https://verifier-api-url/private/verifiable-presentations/definition/:definitionId/correlation/:correlationId"
}Retrieve a single verifiable presentation record
Claim-based access control: Verifier_Admin, Verifier_Auditor, Verifier_User
A UUID value that is bound to the VP
f9dbff8e-6dba-4955-bd7f-61c083db290dOK
Invalid request parameters
Invalid authentication credentials.
User does not have a required claim to perform this operation.
Record not found.
Internal Server Error
GET /api/v1/verifiable-presentations/{correlationId} HTTP/1.1
Host: {VERIFIER_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
"definitionId": "emailCredential",
"createdAt": "2025-10-30T15:04:16.232Z",
"updatedAt": "2025-10-30T15:04:16.232Z",
"deletedAt": "2025-10-30T15:04:16.232Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"organisationDID": "text",
"status": "created",
"credentials": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-10-30T15:04:16.232Z",
"updatedAt": "2025-10-30T15:04:16.232Z",
"deletedAt": "2025-10-30T15:04:16.232Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"types": [
"EmailCredential",
"VerifiableCredential"
],
"expirationDate": "2025-10-30T15:04:16.232Z",
"issuanceDate": "2025-10-30T15:04:16.232Z",
"issuer": "did:bsv:b04e2654c39dfb1a900128f698694591735661a0d972defcf63ac1f71cdfd882",
"subject": "did:bsv:5f93a09f9dc79f5ac8dd701a612e3417612c669dda802b107545537c32f2b08b",
"revoked": false,
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
]
}
],
"verifiedAt": "2025-10-30T15:04:16.232Z"
}Retrieve a paginated response of verifiable presentations
Claim-based access control: Verifier_Admin, Verifier_Auditor, Verifier_User
Page number to retrieve.If you provide invalid value the default page number will applied Example: 1 Default Value: 1
Number of records per page. Example: 20 Default Value: 20 Max Value: 100
If provided value is greater than max value, max value will be applied.
Filter by correlationId query param. Format: filter.correlationId={$not}:OPERATION:VALUE Example: filter.correlationId=$not:$like:John Doe&filter.correlationId=like:John Available Operations$eq
Filter by definitionId query param. Format: filter.definitionId={$not}:OPERATION:VALUE Example: filter.definitionId=$not:$like:John Doe&filter.definitionId=like:John Available Operations$eq
Filter by createdBy query param. Format: filter.createdBy={$not}:OPERATION:VALUE Example: filter.createdBy=$not:$like:John Doe&filter.createdBy=like:John Available Operations$eq
Filter by modifiedBy query param. Format: filter.modifiedBy={$not}:OPERATION:VALUE Example: filter.modifiedBy=$not:$like:John Doe&filter.modifiedBy=like:John Available Operations$eq
Filter by createdAt query param. Format: filter.createdAt={$not}:OPERATION:VALUE Example: filter.createdAt=$not:$like:John Doe&filter.createdAt=like:John Available Operations$eq
Filter by updatedAt query param. Format: filter.updatedAt={$not}:OPERATION:VALUE Example: filter.updatedAt=$not:$like:John Doe&filter.updatedAt=like:John Available Operations$eq
Filter by verifiedAt query param. Format: filter.verifiedAt={$not}:OPERATION:VALUE Example: filter.verifiedAt=$not:$like:John Doe&filter.verifiedAt=like:John Available Operations$eq
Filter by status query param. Format: filter.status={$not}:OPERATION:VALUE Example: filter.status=$not:$like:John Doe&filter.status=like:John Available Operations$eq
Filter by search query param. Format: filter.search={$not}:OPERATION:VALUE Example: filter.search=$not:$like:John Doe&filter.search=like:John Available Operations$fulltext
Invalid request parameters
Invalid authentication credentials.
User does not have a required claim to perform this operation.
GET /api/v1/verifiable-presentations HTTP/1.1
Host: {VERIFIER_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
"definitionId": "emailCredential",
"createdAt": "2025-10-30T15:04:16.232Z",
"updatedAt": "2025-10-30T15:04:16.232Z",
"deletedAt": "2025-10-30T15:04:16.232Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"organisationDID": "text",
"status": "created",
"credentials": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-10-30T15:04:16.232Z",
"updatedAt": "2025-10-30T15:04:16.232Z",
"deletedAt": "2025-10-30T15:04:16.232Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"types": [
"EmailCredential",
"VerifiableCredential"
],
"expirationDate": "2025-10-30T15:04:16.232Z",
"issuanceDate": "2025-10-30T15:04:16.232Z",
"issuer": "did:bsv:b04e2654c39dfb1a900128f698694591735661a0d972defcf63ac1f71cdfd882",
"subject": "did:bsv:5f93a09f9dc79f5ac8dd701a612e3417612c669dda802b107545537c32f2b08b",
"revoked": false,
"claims": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataType": "string",
"claimName": "fullName",
"claimValue": "John Doe"
}
]
}
],
"verifiedAt": "2025-10-30T15:04:16.232Z"
}
],
"meta": {
"select": [
"text"
],
"filter": {
"correlationId": "text",
"definitionId": "text",
"createdBy": "text",
"modifiedBy": "text",
"createdAt": "text",
"updatedAt": "text",
"verifiedAt": "text",
"status": "text",
"search": "text"
}
},
"links": {
"first": "text",
"previous": "text",
"current": "text",
"next": "text",
"last": "text"
}
}Endpoint returns history of verifiable presentation search requests
Claim-based access control: Verifier_Admin, Verifier_Auditor, Verifier_User
Page number to retrieve.If you provide invalid value the default page number will applied Example: 1 Default Value: 1
Number of records per page. Example: 20 Default Value: 20 Max Value: 100
If provided value is greater than max value, max value will be applied.
Filter by createdBy query param. Format: filter.createdBy={$not}:OPERATION:VALUE Example: filter.createdBy=$not:$like:John Doe&filter.createdBy=like:John Available Operations$eq
Filter by updatedBy query param. Format: filter.updatedBy={$not}:OPERATION:VALUE Example: filter.updatedBy=$not:$like:John Doe&filter.updatedBy=like:John Available Operations$eq
Filter by createdAt query param. Format: filter.createdAt={$not}:OPERATION:VALUE Example: filter.createdAt=$not:$like:John Doe&filter.createdAt=like:John Available Operations$gt
Filter by updatedAt query param. Format: filter.updatedAt={$not}:OPERATION:VALUE Example: filter.updatedAt=$not:$like:John Doe&filter.updatedAt=like:John Available Operations$gt
Invalid request parameters
Invalid authentication credentials.
User does not have a required claim to perform this operation.
Internal server error
GET /api/v1/verifiable-presentations/search/history HTTP/1.1
Host: {VERIFIER_API_BASE_URL}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-10-30T15:04:16.232Z",
"updatedAt": "2025-10-30T15:04:16.232Z",
"deletedAt": "2025-10-30T15:04:16.232Z",
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"updatedBy": "123e4567-e89b-12d3-a456-426614174000",
"deletedBy": "123e4567-e89b-12d3-a456-426614174000",
"searchQuery": {
"filter": {},
"sortBy": [
"text"
],
"page": 1,
"limit": 1,
"path": "text"
},
"recordsFound": 1
}
],
"meta": {
"select": [
"text"
],
"filter": {
"createdBy": "text",
"updatedBy": "text",
"createdAt": "text",
"updatedAt": "text"
}
},
"links": {
"first": "text",
"previous": "text",
"current": "text",
"next": "text",
"last": "text"
}
}