/v1/holder/presentations
API Key
Paginated
List holder presentations
List all presentations created by the authenticated holder. Returns presentations
in descending order by creation date, with pagination support.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
page
|
query | integer | Page number for pagination (default: 1) |
per_page
|
query | integer | Items per page (default: 25, max: 100) |
status
|
query | string |
Filter by presentation status
Values: active, expired, revoked
|
credential_uuid
|
query | string | Filter presentations by credential UUID |
sort
|
query | string |
Sort field
Values: status, expires_at, created_at
|
direction
|
query | string |
Sort direction (default: desc)
Values: asc, desc
|
X-API-Key
*
|
header | string | API key for holder authentication |
* Required parameter
Response
Content-Type: application/json
success
boolean
data
array[object]
Array items:
A verifiable presentation with selective disclosure of claims
uuid
*
string (uuid)
Unique identifier for the presentation
Example: 0dc32c8f-d774-4887-8338-6ca2d630608f
credential_uuid
*
string (uuid)
UUID of the source credential
Example: 8e732b14-c35f-4a7d-8c02-d9858581e125
disclosed_claims
*
array[string]
List of claim names included in this presentation
Example: ["name","degree"]
Array items:
disclosed_values
object
nullable
The actual values of disclosed claims (dynamic, schema-dependent)
Example: {"name":"Jane Doe","degree":"Bachelor of Science"}
audience
string
nullable
Intended recipient of this presentation
Example: Acme Corp HR Department
purpose
string
nullable
Why this presentation was created
Example: Employment verification
status
*
string
Current status of the presentation: - active: Valid and can be verified - expired: Past its expiration date - revoked: Manually invalidated by the holder
Allowed values: "active", "expired", "revoked"
Example: active
expires_at
string (date-time)
nullable
When the presentation expires (null if no expiration)
Example: 2025-04-01T23:59:59Z
verification_count
*
integer
Number of times this presentation has been verified
Example: 3
created_at
*
string (date-time)
When the presentation was created
Example: 2025-03-01T10:00:00Z
presentation_token
string
The signed SD-JWT presentation token
Example: eyJhbGciOiJFUzI1NiJ9.eyJfc2QiOlsiLi4uIl19.signature~disclosure1~disclosure2
share_data
object
nullable
Data for sharing this presentation
presentation_url
string (uri)
Direct link to view/verify the presentation
Example: https://aho.com/verify/presentation/2baca3a0-62b5-4675-9507-d615e6fb1f05
uuid
string (uuid)
Presentation UUID for reference
Example: bca45724-2a5c-4a5e-acb2-19af7a96ca05
credential_type
string
Type of the source credential
Example: UniversityDegreeCredential
issuer
string
Name of the credential issuer
Example: Stanford University
disclosed_claims
array[string]
List of claim names included
Example: ["name","degree"]
Array items:
expires_at
string (date-time)
nullable
When the presentation expires
Example: 2025-04-01T23:59:59Z
meta
object
Pagination metadata for list responses
current_page
*
integer
Current page number
Example: 1
per_page
*
integer
Items per page
Example: 25
total_count
*
integer
Total number of items
Example: 42
total_pages
*
integer
Total number of pages
Example: 2
Code Examples
import os
from aho_sdk import AhoSdk
client = AhoSdk.holder(api_key=os.environ["AHO_API_KEY"])
result = client.presentations.list
client = AhoSdk.holder(api_key: ENV["AHO_API_KEY"])
result = client.presentations.list
import { AhoSdk } from '@aho/sdk';
const client = AhoSdk.holder({ apiKey: process.env.AHO_API_KEY });
const result = await client.presentations.list;
curl -X GET 'https://api.aho.com/v1/holder/presentations' \
-H 'X-API-Key: $AHO_API_KEY'
Try It
Log in to test this endpoint directly from the documentation.
Log in