Truvera Documentation portal
WebsiteTruvera Workspace
  • Truvera overview
    • Decentralized identity explained
    • Roadmap
    • Subscription plans & billing
  • Solutions
    • Biometric-Bound Credentials
  • Truvera Workspace
    • Create an organization profile (DID)
    • Issue verifiable credentials
      • Filtering, downloading and deleting credentials
    • Verify credentials
    • Create a schema
    • Create a design
    • Team management
      • Inviting a team member
      • Removing a team member
      • Changing team member roles
      • Data retention policies
      • Sub-accounts
    • Revoking credentials
    • Ecosystem Tools
      • Ecosystem set up
      • Ecosystem example
    • Monetizing credentials
      • Setting up monetizable credentials
    • Creating API keys and webhook endpoints
    • Transaction history
    • Custom branded distribution emails
    • Truvera Workspace release notes
      • 2025 Release notes
        • Release notes Q1 2025
      • 2024 Release notes
        • Release Notes February 2024
        • Release Notes March 2024
        • Release Notes April 2024
        • Release Notes May 2024
        • Release Notes June 2024
        • Release Notes July 2024
        • Release Notes August 2024
        • Release Notes September 2024
        • Release Notes October 2024
        • Release notes November 2024
        • Release notes December 2024
  • Truvera API
    • Getting started
    • Webhooks
      • Webhooks API endpoints
    • Sample Postman collections
      • Issue-Store-Verify sample flow
      • Create ecosystems
      • Issue monetizable credentials
      • Create sub-accounts
      • Issue OpenID credentials
    • Truvera Swagger UI
    • DIDs
    • Profiles
    • Credentials
    • Presentations
      • Proof templates
      • Proof requests
      • Other proof endpoints
    • Registries
    • Revocation Status
    • Credential Schemas
    • Jobs
    • Templates
    • Sub-accounts
    • Teams
    • Messaging
    • OpenID
      • OpenID Issuance and Verification Integration Guide
    • iden3comm
    • Ecosystem Tools
      • Trust Registry Integration Guide
      • Creating a Trust Registry
      • Inviting participants
      • Verifiers and Public info
      • Trust Registry Schemas
      • Trust Registry Proof Templates
      • Reports
      • Updating and Deleting Trust Registry
    • Issuing paid credentials (KVAC algorithm integration)
    • Data
    • Verify
    • Keys
    • Schemas
  • System architecture
    • Proposed architecture with Truvera
    • Revocation
    • System scalability
    • Security policies
    • How data is processed and stored
  • Supported standards
    • Interoperability with OpenID
  • Credential wallet
    • Create and manage DIDs in the Truvera Wallet
    • White label wallet
      • Configuration
        • Enabling and Disabling Features
        • Customizing the Styling
        • Configuring for Android Builds
        • Configuring iOS Builds
      • Publishing in App Stores
        • Android Build Testing and Publishing
        • iOS Build Testing and Publishing
    • Wallet SDK
      • Getting started
        • Example Credential
        • Presentation definition
        • Verify credentials
      • Cloud wallet
      • Biometric plugin
      • Ecosystem Tools
    • Download Truvera Wallet
    • Truvera Wallet release notes
      • Release Notes 2025Q1
      • Release Notes 2024Q4
      • Release Notes 2024Q3
        • Release Notes September 2024
        • Release Notes August 2024
        • Release Notes July 2024
      • Release Notes June 2024
      • Release Notes May 2024
      • Release Notes April 2024
  • Open source community
    • Code of Conduct
    • Truvera Credential SDK
    • Blockchain archives
      • DOCK token
        • Migration terms and conditions
  • Support
    • System Status
    • Discord
    • Support services
    • Security policy
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Truvera API
  2. Presentations

Proof templates

PreviousPresentationsNextProof requests

Last updated 2 months ago

Was this helpful?

To verify a credential verifier will need to create a proof template and generate a proof request to which the holder wallet will provide the verifiable presentation. Verifiable presentations can not be done via the API, the is needed to create a presentation.

When working with proof requests you will often want to request the same information from holders. To make this easier you can create proof request templates to define the contents of the proof requests to be re-used.

Create a proof template

Get proof templates

Get details of a specific proof template

Update a proof template

Get proof requests from template

Use the Verified parameter when needing to get only those verifications that were succsessful.

Delete a proof template

Delete history for proof template

This endpoint provides an irreversible deletion of all of proof template's verification history data.

Delete a proof template

credential SDK

List all proof templates

get
Authorizations
Query parameters
offsetinteger · int32Optional

How many items to offset by for pagination

Default: 0
limitinteger · int32 · min: 1 · max: 64Optional

How many items to return at one time (max 64)

Default: 64
Responses
200
A paged array of proof templates
application/json
400
Application error
application/json
get
GET /proof-templates HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "totalRequests": 1,
    "isOwner": true,
    "created": "2025-06-01T19:21:15.298Z",
    "updated": "2025-06-01T19:21:15.298Z",
    "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59",
    "request": {
      "name": "test request",
      "purpose": "my purpose",
      "input_descriptors": null
    },
    "types": [
      "jsonld"
    ]
  }
]

Get proof templates

get

Get the details of an existing proof templates

Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Responses
200
Returns the information about the proof templates
application/json
400
Application error
application/json
404
Proof templates was not found.
application/json
get
GET /proof-templates/{id} HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "totalRequests": 1,
  "isOwner": true,
  "created": "2025-06-01T19:21:15.298Z",
  "updated": "2025-06-01T19:21:15.298Z",
  "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59",
  "request": {
    "name": "test request",
    "purpose": "my purpose",
    "input_descriptors": null
  },
  "types": [
    "jsonld"
  ]
}

Gets the proof requests from this template

get
Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Query parameters
verifiedbooleanOptional

Whether the presentation was verified or not

offsetinteger · int32Optional

How many items to offset by for pagination

Default: 0
limitinteger · int32 · min: 1 · max: 64Optional

How many items to return at one time (max 64)

Default: 64
Responses
200
Returns the information about the proof request history
application/json
400
Application error
application/json
404
Proof template was not found.
application/json
get
GET /proof-templates/{id}/history HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "37275574-7ea4-438d-b8ef-f8fc61dbf09e",
    "attributes": {
      "ANY_ADDITIONAL_PROPERTY": {
        "name": "favouriteDrink",
        "names": [
          "age"
        ]
      }
    },
    "name": "Proof request",
    "nonce": "1234567890",
    "error": "text",
    "response_url": "http://api-testnet.truvera.io/proof-requests/37275574-7ea4-438d-b8ef-f8fc61dbf09e/send-presentation",
    "qr": "http://creds-testnet.truvera.io/proof/37275574-7ea4-438d-b8ef-f8fc61dbf09e",
    "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59",
    "verified": false,
    "expired": false,
    "presentation": {},
    "created": "2024-09-26T12:38:10.871Z",
    "updated": "2024-09-26T12:38:10.871Z",
    "request": {
      "name": "test request",
      "purpose": "my purpose",
      "input_descriptors": null
    },
    "type": "proof-request",
    "types": [
      "jsonld"
    ],
    "credentialsIssuers": [
      {
        "issuerDid": "text",
        "issuerName": "text",
        "issuerLogo": "text",
        "issuerTrustRegistries": [
          {
            "name": "text",
            "logoUrl": "text"
          }
        ]
      }
    ]
  }
]

Delete proof templates

delete

Deletes the proof templates and associated data

Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Responses
200
Proof templates will be deleted
400
Something went wrong.
application/json
401
Unauthorized
application/json
404
Proof templates was not found.
application/json
delete
DELETE /proof-templates/{id} HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*

No content

Deletes all the history for this proof template

delete

Deletes all the history for this proof template

Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Query parameters
verifiedbooleanOptional

Whether the presentation was verified or not

offsetinteger · int32Optional

How many items to offset by for pagination

Default: 0
limitinteger · int32 · min: 1 · max: 64Optional

How many items to return at one time (max 64)

Default: 64
Responses
200
Proof requests have been deleted
400
Something went wrong.
application/json
404
Proof template was not found.
application/json
delete
DELETE /proof-templates/{id}/history HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*

No content

Delete proof templates

delete

Deletes the proof templates and associated data

Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Responses
200
Proof templates will be deleted
400
Something went wrong.
application/json
401
Unauthorized
application/json
404
Proof templates was not found.
application/json
delete
DELETE /proof-templates/{id} HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Accept: */*

No content

  • Create a proof template
  • POSTCreate a new proof template
  • Get proof templates
  • GETList all proof templates
  • Get details of a specific proof template
  • GETGet proof templates
  • Update a proof template
  • PATCHUpdate a proof template
  • Get proof requests from template
  • GETGets the proof requests from this template
  • Delete a proof template
  • DELETEDelete proof templates
  • Delete history for proof template
  • DELETEDeletes all the history for this proof template
  • Delete a proof template
  • DELETEDelete proof templates

Create a new proof template

post

Create a proof template

Authorizations
Body

Represents a proof template payload in a verifiable credential system.

namestringRequired

Proof request name

Example: Proof request
didstring · min: 32Optional

A DID

Example: did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59
Responses
200
Proof request template created
application/json
400
Invalid parameters
application/json
402
Transaction limit reached or upgrade required to proceed
application/json
post
POST /proof-templates HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 215

{
  "name": "Proof request",
  "request": {
    "name": "test request",
    "purpose": "my purpose",
    "input_descriptors": null
  },
  "expirationTime": {
    "amount": 1,
    "unit": "months"
  },
  "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "totalRequests": 1,
  "isOwner": true,
  "created": "2025-06-01T19:21:15.298Z",
  "updated": "2025-06-01T19:21:15.298Z",
  "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59",
  "request": {
    "name": "test request",
    "purpose": "my purpose",
    "input_descriptors": null
  },
  "types": [
    "jsonld"
  ]
}

Update a proof template

patch
Authorizations
Path parameters
idstring · uuidRequired

Proof template UUID

Body

Represents a proof template payload in a verifiable credential system.

namestringRequired

Proof request name

Example: Proof request
didstring · min: 32Optional

A DID

Example: did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59
Responses
200
Profile has been updated
application/json
400
Error creating profile
application/json
401
Unauthorized
application/json
402
Transaction limit reached or upgrade required to proceed
application/json
404
Proof templates was not found.
application/json
patch
PATCH /proof-templates/{id} HTTP/1.1
Host: api-testnet.truvera.io
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 215

{
  "name": "Proof request",
  "request": {
    "name": "test request",
    "purpose": "my purpose",
    "input_descriptors": null
  },
  "expirationTime": {
    "amount": 1,
    "unit": "months"
  },
  "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "totalRequests": 1,
  "isOwner": true,
  "created": "2025-06-01T19:21:15.298Z",
  "updated": "2025-06-01T19:21:15.298Z",
  "did": "did:cheqd:testnet:ac2b9027-ec1a-4ee2-aad1-1e316e7d6f59",
  "request": {
    "name": "test request",
    "purpose": "my purpose",
    "input_descriptors": null
  },
  "types": [
    "jsonld"
  ]
}