Skip to main content

Tokenive Credential API (1.0.0)

Download OpenAPI specification:Download

Tokenive Support: support@tokenive.com

zkTLS-based credential verification API for pension administration.

Authentication

All requests require an apikey header with your Supabase anon key.

Workflow

  1. Admin creates credential request → Returns QR code
  2. User scans QR code in wallet app
  3. User shares credentials via wallet
  4. Admin polls request status for verification result

Credential Requests

Create and manage credential verification requests

Create a new credential request

Creates a new credential verification request and returns QR code data. Used by admin portal to request credentials from users.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
holder_did
required
string

DID of the credential holder

required_claims
required
Array of strings non-empty

List of required credential types

verification_id
string <uuid>

Optional verification workflow ID

expires_in_minutes
integer [ 1 .. 1440 ]
Default: 15

Request expiration time in minutes

Responses

Request samples

Content type
application/json
{
  • "holder_did": "string",
  • "required_claims": [
    ],
  • "verification_id": "5bcbf7ac-c998-46ce-aa6e-a0c1a3f1f5bd",
  • "expires_in_minutes": 15
}

Response samples

Content type
application/json
{
  • "request_id": "string",
  • "qr_data": {
    },
  • "expires_at": "2019-08-24T14:15:22Z"
}

Get credential request status

Retrieves the current status and verification result of a credential request

Authorizations:
ApiKeyAuth
path Parameters
requestId
required
string
Example: CR-ABC123

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "request_id": "string",
  • "requester_entity": "string",
  • "required_claims": [
    ],
  • "status": "pending",
  • "qr_data": "string",
  • "holder_did": "string",
  • "holder_bound_at": "2019-08-24T14:15:22Z",
  • "shared_credentials": [
    ],
  • "holder_signature": "string",
  • "shared_at": "2019-08-24T14:15:22Z",
  • "verification_result": {
    },
  • "verification_jwt": "string",
  • "verified_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get requests by email

Returns all credential requests associated with an email address

Authorizations:
ApiKeyAuth
query Parameters
email
required
string <email>

Responses

Response samples

Content type
application/json
{
  • "requests": [
    ]
}

Wallet

Wallet operations for sharing credentials

Get requests for a DID

Returns all credential requests associated with a holder DID

Authorizations:
ApiKeyAuth
query Parameters
holder_did
required
string
Example: holder_did=did:key:z6MkjYC2ztc1VNHozMjXKjWNuEUiXnUcioFYXdHk4ip9QMVY

Responses

Response samples

Content type
application/json
{
  • "requests": [
    ]
}

Share credentials for a request

Submits credentials in response to a credential request. Requires holder-binding signature for security.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
request_id
required
string
holder_did
required
string
required
Array of objects (Credential) non-empty
signature
required
string

Ed25519 signature over the request challenge

Responses

Request samples

Content type
application/json
{
  • "request_id": "string",
  • "holder_did": "string",
  • "credentials": [
    ],
  • "signature": "string"
}

Response samples

Content type
application/json
{
  • "request_id": "string",
  • "status": "pending",
  • "verified_at": "2019-08-24T14:15:22Z"
}