Skip to main content

Triveria Wallet API (1.0.0)

Download OpenAPI specification:Download

Triveria Wallet is a cloud-based platform for managing digital credentials.

The platform complies with open standards including the W3C Verifiable Credentials Data Model, IETF SD-JWT-VC, MSO Mdoc, OpenID Connect (OIDC), and EBSI DID, providing a unified interface across both eIDAS/EUDI and DID/W3C ecosystems.

Key capabilities:

  • Issue and manage Verifiable Credentials (W3C VC, SD-JWT-VC and MSO Mdoc formats)
  • Credential signing using DIDs, X.509 certificates, and standard JWK keys
  • Trust framework integration: EBSI Trust Framework, EUDI Large Scale Pilot trust lists, and IDUnion
  • REST API and SDK access for seamless integration

For access and support, contact info@triveria.com.

HealthCheck

Checks the health status of the service and its subsystems (database, storage, etc.). Used by load balancers and monitoring systems.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "subsystems": [
    ]
}

WalletProviderCsrGenerate

Generates a PKCS#10 certificate signing request (CSR) for the Wallet Provider key used to sign Wallet Instance Attestations. Requires the admin role. The provider key is generated on first call if it does not exist yet.

Authorizations:
accessToken

Responses

Response samples

Content type
application/json
{
  • "csr": "string"
}

WalletProviderCertificateImport

Installs the externally-issued certificate chain for the Wallet Provider key. Requires the admin role. After this succeeds the Wallet Provider can sign WIAs with an x5c header.

Authorizations:
accessToken
Request Body schema: application/json
certificate_chain
required
Array of strings

PEM-encoded certificate chain (leaf first) issued for the provider key.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

DidDocumentGet

Gets the DID Document of the wallet.

path Parameters
wallet_id
required
string

Responses

Response samples

Content type
application/json
{ }

WalletIdentifierGet

Returns the wallet's public identifier — e.g. a DID (Decentralized Identifier) or a wallet URL. Used by other parties to reference this wallet in trust framework interactions and credential exchanges.

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "identifier": "string"
}

CredentialList

Retrieves a list of credentials.

Authorizations:
accessToken
query Parameters
interaction
string
Enum: "issuance" "receive" "statusList" "taoCredentials"

The interaction that is the origin of the credential. This parameter is mutually exclusive with the "type" parameter.

type
string

The credential type as comma delimited list representing a single type. This parameter is mutually exclusive with the "interaction" parameter. I.e. VerifiableCredential,VerifiableAttestation,Europass.

valid
boolean

The credential validity flag. If not provided credentials with any validity will be returned.

limit
integer

The number of items

nextMarker
string

Marking the next set of items

sort
string (ListSort)
Enum: "asc" "desc"

Sort flag controls the sort direction by the time updated or issued

searchPath
string

JSON path specification for the filter to apply

filter
string <byte>

JSON schema filter used to select the credentials (base64 encoded)

header Parameters
wallet-id
required
string

Responses

Response samples

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

CredentialCreate

Creates a new draft credential.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json

A Verifiable Credential payload in JSON format.

required
Credential Subject Item (object) or Array of Credential Subject (objects) (Credential Subject)

Set of objects that MUST contain one or more claims that are each related to a subject of the verifiable credential https://www.w3.org/TR/vc-data-model-2.0/#defn-credentialSubject. Currently we support only one subject in the verifiable credential because there is no consensus about "vc-jwt" encoding of multi-subject verifiable credentials

required
object (Verifiable Credential Draft metadata)

Accompanying information about the verifiable credential draft - schema, type, format etc.

validateSchema
boolean
Default: true

If true, the credential draft is checked against its schema. Defaults to true.

property name*
additional property
any (Credential metadata)

Any additional key, value pairs used for internal purposes of an issuer or holder.

Responses

Request samples

Content type
application/json
{
  • "credentialSubject": {
    },
  • "credentialDraftMetadata": {
    },
  • "validateSchema": true,
  • "property1": null,
  • "property2": null
}

Response samples

Content type
application/json
{
  • "id": "string"
}

CredentialImport

Import pre-signed credential into wallet

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json

A Verifiable Credential payload in JSON format.

credential
required
string
name
required
string

Responses

Request samples

Content type
application/json
{
  • "credential": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "vcSubject": {
    },
  • "signedVc": "string"
}

CredentialRequestInit

Requests a credential issuance from the issuer and retrieves requirements for holder authorization.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json

A Verifiable Credential request: types and URL of the issuer

types
required
string
format
required
string (Verifiable credential format)
Enum: "sd_jwt_vc" "jwt_vc_vcdm" "mso_mdoc"

jwt_vc_vcdm - VC using W3C VC Data Model as jwt sd_jwt_vc - VC using sd_jwt_vc data model as jwt mso_mdoc - VC using ISO/IEC 18013-5 mdoc format

url
required
string <url>
state
string

Responses

Request samples

Content type
application/json
{
  • "types": "string",
  • "format": "sd_jwt_vc",
  • "url": "string",
  • "state": "string"
}

Response samples

Content type
application/json
[
  • "string"
]

CredentialGet

Retrieves a specific verifiable credential based on the provided identifier. Upon retrieval the status of the credential is checked on the fly and therefore guaranteed.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "vcSubject": {
    },
  • "signedVc": "string"
}

CredentialPatch

Endpoint used to update an existing Credential in draft state. Can be used for additional updates before the Credential is issued. After credential is issued it may not be changed in any way.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string
Request Body schema: application/json
required
Credential Subject Item (object) or Array of Credential Subject (objects) (Credential Subject)

Set of objects that MUST contain one or more claims that are each related to a subject of the verifiable credential https://www.w3.org/TR/vc-data-model-2.0/#defn-credentialSubject. Currently we support only one subject in the verifiable credential because there is no consensus about "vc-jwt" encoding of multi-subject verifiable credentials

name
required
string (Credential name)
validateSchema
boolean
Default: true

If true, the credential draft is checked against its schema. Defaults to true.

property name*
additional property
any (Any additional key, value pairs used to categorize or denote the Credential)

Responses

Request samples

Content type
application/json
{
  • "credentialSubject": {
    },
  • "name": "string",
  • "validateSchema": true,
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string"
}

PdfCredentialTwinUpload

Uploads a PDF that will be signed and embedded with the verifiable credential when it will be issued. Can be used only for credentials in Draft state. Maximum size of the PDF document is 50 MB.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string
Request Body schema: multipart/form-data
pdf
string <binary>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

PdfCredentialTwinDelete

Deletes the PDF associated with the verifiable credential. Can be used only for credentials in Draft state.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

PdfCredentialTwinGet

Returns either an unsigned PDF that was uploaded to be signed and embedded into a verifiable credential in case of credential in Draft state, or a signed PDF embedded in an issued VC.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

PdfCredentialMakeVp

Returns a signed PDF contained in the verifiable credential containing the credential VP added as an attachment in incremental update.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

query Parameters
sign_pdf
required
boolean

Whether to sign the PDF with holder's X509 certificate or not

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

CredentialMetadataPatch

Verifiable Credential metadata may be updated even after the credential was issued. It is available as a key value storage for a client to store any additional data for the credential.

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string
Request Body schema: application/json

Verifiable Credential metadata in JSON

name
string (Verifiable Credential name)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

CredentialIssuanceInit

Prepares created Verifiable Credential draft for its issuance for a specific client.

Authorizations:
accessToken
path Parameters
credential_id
required
string
header Parameters
wallet-id
required
string
Request Body schema: application/json
issuerId
required
string (Issuer ID)

Identifier used by the wallet to decide which issuer to use to issue the credential.

clientId
string (Client ID)

The future holder identifier. Usually this is the DID of the holder wallet.

idTokenRequestId
string (ID Token request identifier)

If ID Token was used to identify the holder's wallet.

object (IssuanceRequirementsToVerify)

Responses

Request samples

Content type
application/json
{
  • "issuerId": "string",
  • "clientId": "string",
  • "idTokenRequestId": "string",
  • "issuanceRequirementsToVerify": {
    }
}

Response samples

Content type
application/json
{
  • "issuanceQueueItemId": "string"
}

CredentialRevoke

Revoke a specific Verifiable Credential

Authorizations:
accessToken
path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

DeferredStatus

Polls the status of a deferred credential issuance. Returns in_progress while the operation is still pending, or completed with the resulting credential ID when done. Clients should poll this endpoint until a terminal status is reached.

Authorizations:
accessToken
path Parameters
deferred_id
required
string

Deferred token

header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "Status": "in_progress",
  • "Id": "string"
}

IdTokenRequestCreate

Creates an ID token request that will be sent to the holder for DID-based authentication. Used during the authorized credential issuance flow when the issuer requires the holder to prove control of their DID before the credential is issued. The returned request ID is passed to CredentialIssuanceInit as idTokenRequestId.

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "requestUrl": "string",
  • "id": "string"
}

HolderCreateAuthOffer

Creates an authorized credential offer (deferred or instant) for holder-initiated credential request using provided parameters. The offer is an URL that the creator should provide to the client via a redirect, link, or QR code.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
issuerUrl
required
string
types
required
string
format
required
string (Verifiable credential format)
Enum: "sd_jwt_vc" "jwt_vc_vcdm" "mso_mdoc"

jwt_vc_vcdm - VC using W3C VC Data Model as jwt sd_jwt_vc - VC using sd_jwt_vc data model as jwt mso_mdoc - VC using ISO/IEC 18013-5 mdoc format

state
required
string
deferred
required
boolean

Responses

Request samples

Content type
application/json
{
  • "issuerUrl": "string",
  • "types": "string",
  • "format": "sd_jwt_vc",
  • "state": "string",
  • "deferred": true
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

VerifierInitUrlCreate

Creates a verification session and returns a URL where the verifier accepts credential presentations from a holder. The URL is typically shared as a QR code or deep link. After the holder presents credentials, use WalletVerifiedCredentialsByState with the returned state to retrieve the verification result.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
verifierId
required
string
createUrl
boolean
Default: true

When true, a verification request URL is created. When false, verification request is registered for a specific holder, that can then start the interaction by making an authorization request with custom scope. Defaults to true.

holderEntityId
string

Used when createUrl is set to false. Entity ID of the holder that will verify by making an Authorization request with custom scope.

wmpEntityId
string

ID of an WMP entity with which a WMP connection has already been established. If provided, WMP is used to send the credential offer to the specified recipient.

Responses

Request samples

Content type
application/json
{
  • "verifierId": "string",
  • "createUrl": true,
  • "holderEntityId": "string",
  • "wmpEntityId": "string"
}

Response samples

Content type
application/json
{
  • "verifierUrl": "string",
  • "verifierState": "string"
}

VerifierLinkedVpVerify

Fetches linked presentations from DID document and verifies them.

Authorizations:
accessToken
query Parameters
did
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

VerifierPdfVerify

Verifies the signatures of uploaded PDF and extracts and verifies VP in the PDF document Maximum size of the PDF document is 50 MB.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: multipart/form-data
pdf
string <binary>
extractVp
required
boolean

Whether to extract VP attachment from the PDF

trustedCertificates
Array of strings

Base64 encoded x509 certificates with which the PDF may be signed.

trustedListsUrl
Array of strings

URLs of ETSI trusted lists that will be used for verification purposes. If not provided, ETSI trust list configured for the wallet will be used.

trustedListSigningCertificates
Array of strings

Base64 encoded x509 certificates with which the ETSI trusted lists may be signed. If not provided, values from wallet config will be used.

Responses

Response samples

Content type
application/json
{
  • "vpValid": true,
  • "verifiedCredentials": {
    },
  • "signatures": [
    ]
}

IssuerCredentialTypesList

Returns verifiable credential format and types that are supported by the issuer.

  • format: the verifiable credential format (for example "jwt_vc")
  • type: a list of strings that define supported verifiable credential type(s)
Authorizations:
accessToken
query Parameters
url
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

IssuerInitiatePreauthOffer

Generates a pre-authorized credential offer for the holder. Unlike the authorized flow, the holder does not need to authenticate with the issuer — instead a pre-authorized code (and optional PIN) is embedded in the offer URL. The resulting offer URL is returned and Generates a pre-authorized credential offer for the holder. The resulting offer URL is returned and can be shared as a QR code or deep link.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
clientId
string

DID of holder for which the offer is created.

idTokenRequestId
string

ID of ID token request issued to the holder.

issuerId
required
string

ID of the issuer used to issue the credential.

offerEndpoint
string
Default: "openid-credential-offer://"
deferred
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "clientId": "string",
  • "idTokenRequestId": "string",
  • "issuerId": "string",
  • "offerEndpoint": "openid-credential-offer://",
  • "deferred": false
}

Response samples

Content type
application/json
{
  • "preauthCode": "string",
  • "pin": "string",
  • "issuerUrl": "string",
  • "offer": "string",
  • "validUntil": "2019-08-24T14:15:22Z",
  • "offerId": "string"
}

IssuerInitiateAuthOffer

Generates an authorized credential offer URL for the holder to initiate the credential issuance flow. The resulting offer URL is typically presented as a QR code or deep link. If wmpEntityId is provided, the offer is delivered directly via WMP and 204 is returned.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
issuerId
required
string

ID of the issuer used to issue the credential.

offerEndpoint
string
Default: "openid-credential-offer://"
deferred
boolean
Default: false
issuanceQueueItemId
string

Id of issuance queue item. Required when issuer type is CredentialQueue type and no clientId was provided when adding credential to queue.

wmpEntityId
string

ID of an WMP entity with which a WMP connection has already been established. If provided, WMP is used to send the credential offer to the specified recipient.

Responses

Request samples

Content type
application/json
{
  • "issuerId": "string",
  • "offerEndpoint": "openid-credential-offer://",
  • "deferred": false,
  • "issuanceQueueItemId": "string",
  • "wmpEntityId": "string"
}

Response samples

Content type
application/json
{
  • "state": "string",
  • "issuerUrl": "string",
  • "offer": "string",
  • "validUntil": "2019-08-24T14:15:22Z",
  • "offerId": "string"
}

IssuerXadesSign

Signs an XML document with XAdES signature

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: multipart/form-data
xml
string <binary>
xadesSignatureType
required
string (XadesSignatureType)
Enum: "tsl" "xml"

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

HolderOfferPassAuthInfo

Processes a credential offer URL (received from an issuer via QR code, deep link, or WMP) and returns what authorization is required to accept it - pin, credential presentation or a redirect to custom authorization flow. holder needs to present to the issuer, along with matching candidates from the wallet. The returned interactionId is used in the subsequent HolderOfferProcessAfterConsent call.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json

Verifiable Credential offer

Url
required
string <url>

The Verifiable Credential offer URL provided by the issuer

Responses

Request samples

Content type
application/json
{
  • "Url": "string"
}

Response samples

Content type
application/json
{
  • "requirementType": "none",
  • "authnUrl": "string",
  • "presentationDefinition": {
    },
  • "dcqlQuery": {
    },
  • "presentationCandidates": [
    ],
  • "interactionId": "string",
  • "offeredCredentialsTypes": [
    ],
  • "issuerUrl": "string",
  • "issuerDisplay": [
    ]
}

HolderOfferProcessAfterConsent

Completes a credential offer flow after holder consent: submits data needed for the holder to authorize candidates to the issuer for holder authorization and retrieves the issued credential(s) into the wallet. The interaction_id is obtained from HolderOfferPassAuthInfo.

Authorizations:
accessToken
path Parameters
interaction_id
required
string
header Parameters
wallet-id
required
string
Request Body schema: application/json
pin
string

Pin code needed for pre-authorized credential offers. Required when authorization requirement type is pin

Array of objects (InputDescriptorSuitableCredentials)

Array of IDs of credentials that will be presented in the interaction. Must be a subset of authorization requirements presentation candidates. Required when authorization requirement type is vp_token.

Responses

Request samples

Content type
application/json
{
  • "pin": "string",
  • "credentialsToPresent": [
    ]
}

Response samples

Content type
application/json
[
  • "string"
]

HolderIdTokenSend

Responds to an ID token request

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
requestUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "requestUrl": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

HolderPresentPassAuthInfo

Processes a verifier's presentation request URL and returns the presentation definition along with matching credential candidates from the wallet. The holder reviews which credentials will be disclosed before giving consent. The returned interactionId is used in the subsequent HolderCredentialsPresentAfterConsent call.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
verifierUrl
required
string

URL of verifier or vp_token request url

verifierScope
string

Custom authorization scope, used when verifierUrl is the URL of verifier

Responses

Request samples

Content type
application/json
{
  • "verifierUrl": "string",
  • "verifierScope": "string"
}

Response samples

Content type
application/json
{
  • "requirementType": "none",
  • "authnUrl": "string",
  • "presentationDefinition": {
    },
  • "dcqlQuery": {
    },
  • "presentationCandidates": [
    ],
  • "interactionId": "string",
  • "offeredCredentialsTypes": [
    ],
  • "issuerUrl": "string",
  • "issuerDisplay": [
    ]
}

HolderCredentialsPresentAfterConsent

Completes a credential presentation flow: submits the selected credentials to the verifier after the holder's explicit consent. The interaction_id is obtained from HolderPresentPassAuthInfo.

Authorizations:
accessToken
path Parameters
interaction_id
required
string
header Parameters
wallet-id
required
string
Request Body schema: application/json
pin
string

Pin code needed for pre-authorized credential offers. Required when authorization requirement type is pin

Array of objects (InputDescriptorSuitableCredentials)

Array of IDs of credentials that will be presented in the interaction. Must be a subset of authorization requirements presentation candidates. Required when authorization requirement type is vp_token.

Responses

Request samples

Content type
application/json
{
  • "pin": "string",
  • "credentialsToPresent": [
    ]
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

HolderLinkedVpList

Returns all linked Verifiable Presentations published in the wallet's DID document,

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

HolderLinkedVpCreate

Creates a new public Linked VP of specified credentials and adds it to the wallet's DID document

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
required
object (PresentationDefinition)
required
Array of objects (InputDescriptorSuitableCredentials)
expirationDate
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "presentationDefinition": {
    },
  • "credentialsToPresent": [
    ],
  • "expirationDate": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "linkedVpId": "string",
  • "linkedVpUrl": "string"
}

HolderLinkedVpGetDetails

Returns metadata and content of a specific linked Verifiable Presentation, including the credentials it contains and its DID document service entry URL.

Authorizations:
accessToken
path Parameters
linked_vp_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "linkedVpId": "string",
  • "linkedVpUrl": "string"
}

HolderLinkedVpDelete

Deletes a linked VP

Authorizations:
accessToken
path Parameters
linked_vp_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

WalletList

Provides list of wallets owned by the authenticated client.

Authorizations:
accessToken
query Parameters
ownerId
string
searchName
string

Wallet name to search using "begins-with" filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WalletCreate

Creates a new wallet for the authenticated client.

Authorizations:
accessToken
Request Body schema: application/json
name
required
string (Wallet name)
required
object (Wallet config)

Wallet specific configuration.

object (Wallet Metadata)

Custom key value pairs associated with the wallet. The key must not exceed 64 characters and the value must not exceed 256 characters.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "config": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string"
}

WalletGet

Provides wallet details

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Responses

Response samples

Content type
application/json
{
  • "walletId": "string",
  • "name": "string",
  • "capabilities": [
    ],
  • "config": {
    },
  • "metadata": { }
}

WalletPatch

Update wallet metadata and configuration.

Authorizations:
accessToken
path Parameters
wallet_id
required
string
Request Body schema: application/json
name
string (Wallet name)
object (Wallet config)

Wallet specific configuration.

object (Wallet Metadata)

Custom key value pairs associated with the wallet. The key must not exceed 64 characters and the value must not exceed 256 characters.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "config": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string"
}

WalletDelete

Permanently deletes the wallet with all credentials and keys. Make sure you know what you are doing before hitting this endpoint.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

WalletKeys

Provides wallet keys used for signing.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
{
  • "property1": null,
  • "property2": null
}

WalletX509CSRCreate

Creates an X509 Certificate Signing Request (CSR) for the wallet's signing key.

The resulting certificate is imported back via WalletX509CertificateImport to enable issuing credentials signed by X509 certificate chain it or XAdES/PDF signing.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

Request Body schema: application/json
organizationName
required
string (Organization name)
tradeName
string (Trade name)
did
string (DID)

DID identifier that will be added among Subject Alternative Names

organizationWebsite
required
string (Organization website)
email
required
string (Organization email)
streetAddress
required
string (Organization address)
locality
required
string (Town, city, village, etc. name where the organization is located)
postalCode
required
string (Organization address postal code)
province
string (Province/state where the organization is located)
country
required
string (Two letter ISO code for the country where the organization is located)

Responses

Request samples

Content type
application/json
{
  • "organizationName": "string",
  • "tradeName": "string",
  • "did": "string",
  • "organizationWebsite": "string",
  • "email": "string",
  • "streetAddress": "string",
  • "locality": "string",
  • "postalCode": "string",
  • "province": "string",
  • "country": "string"
}

Response samples

Content type
application/json
{
  • "csr": "string"
}

WalletX509CertificateGet

Returns the wallet's currently active X509 certificate in PEM format, used for XAdES/PDF signing. certificate for signature verification.

path Parameters
wallet_id
required
string

Wallet ID

Responses

WalletX509CertificateImport

Imports an X509 certificate to be used when signing credentials

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

Request Body schema: application/json
certificate
required
string (X509 certificate in PEM format)

Responses

Request samples

Content type
application/json
{
  • "certificate": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

WalletNotifications

Provides first-in-first-out queue of notifications for a specific wallet.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WalletNotificationHistory

Provides wallet notifications that can be used to audit the wallet activity.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

query Parameters
limit
integer

The number of items

nextMarker
string

Marking the next set of items

type
Array of strings (Wallet notification event type)
Items Enum: "vp.verified" "vp.invalid" "vp.presented" "idToken.received" "offer.processed" "offer.initiated" "credential.created" "credential.issued" "credential.received" "credential.revoked" "wmp.invitation_accepted" "wmp.credential_offer" "wmp.credential_verification_request" "wmp.error" "wmp.message" "wmp.identity_assertion_request" "wmp.identity_assertion_received"

Notification types

sort
string (ListSort)
Enum: "asc" "desc"

Sort flag controls the sort direction by the time created

newerThan
integer

List notifications that are newer than the provided timestamp

Responses

Response samples

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

WalletNotificationGetByState

Gets a specific notification by state

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

event_type
required
string

Event type

state
required
string

Event identifier

Responses

Response samples

Content type
application/json
{
  • "subjectIdentifier": "string",
  • "eventType": "vp.verified",
  • "eventDetails": {
    },
  • "createdTs": "string",
  • "time": "2019-08-24T14:15:22Z"
}

WalletVerifiedCredentialsByState

Retrieves the result of a credential verification session identified by the verifier state. Called by the verifier after a holder has presented credentials in response to a VerifierInitUrlCreate request. Returns 204 if the holder has not yet presented.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

state
required
string

Verifier state

Responses

Response samples

Content type
application/json
{
  • "credentials": [
    ],
  • "vp": "string",
  • "holder": "string"
}

WalletVerifiedCredentialsDeleteByState

Deletes a specific verified credentials by state

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

state
required
string

Verifier state

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

TfOnboardRequest

Used by a TAO/RTAO wallet to process and approve an incoming onboarding request from another legal entity. Issues an onboarding credential (TIA) to the requesting entity, registering them in the trust framework.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
did
required
string

DID which will be onboarded

validUntil
required
string <date-time>

Specifies when the authorization to onboard credential will expire

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

TfOnboard

Completes the trust framework onboarding of this wallet using the specified onboarding credential. After successful onboarding, the wallet's DID is registered in the trust framework's TAO/TI hierarchy, enabling it to issue or verify trust-framework credentials.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
onboardingCredentialId
string

Id of the onboarding credential that should be used for the onboarding process. Used when onboarding to IDTL

Responses

Request samples

Content type
application/json
{
  • "onboardingCredentialId": "string"
}

Response samples

Content type
application/json
{
  • "did": "string"
}

TfAccreditAs

Accredits a legal entity as RTAO (Root Trust Anchor Organisation), TAO (Trust Anchor Organisation), or TI (Trusted Issuer) within the trust framework hierarchy by issuing the appropriate accreditation credential to their DID.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
type
required
string
Enum: "TrustedIssuer" "TrustedAccreditationOrganisation" "RootTrustedAccreditationOrganisation"

Responses

Request samples

Content type
application/json
{
  • "type": "TrustedIssuer"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

TfAccreditRequest

Used by a TAO/RTAO wallet to process and approve an incoming accreditation request from another legal entity. Issues an accreditation credential authorizing the entity to issue credentials of the specified type within the trust framework.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
did
required
string
type
required
string
Enum: "TrustedIssuer" "TrustedAccreditationOrganisation"
accreditedFor
required
string

Base64 encoded json to be used for the accreditedFor property of the credential

validUntil
required
string <date-time>

Specifies when will the accreditation credential expire

Responses

Request samples

Content type
application/json
{
  • "did": "string",
  • "type": "TrustedIssuer",
  • "accreditedFor": "string",
  • "validUntil": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

TfRevokeAccreditation

Revokes another legal entity's accreditation or trust framework registration by invalidating their credential in the trust status list.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
did
required
string
type
required
string
Enum: "TrustedIssuer" "TrustedAccreditationOrganisation"

Responses

Request samples

Content type
application/json
{
  • "did": "string",
  • "type": "TrustedIssuer"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

TfX509CertificateIssue

Issues a signed X509 certificate based on the provided CSR. Used by a CA-capable wallet to sign certificate requests from other wallets, enabling them to sign credentials with X509 certificate echains and/or perform XAdES/PDF signing.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
csr
required
string (Certificate signing request in PEM format)
expirationDate
required
string <date-time> (Certificate expiration date)
ca
boolean (Whether the issued certificate is CA or not)
Default: false

Responses

Request samples

Content type
application/json
{
  • "csr": "string",
  • "expirationDate": "2019-08-24T14:15:22Z",
  • "ca": false
}

Response samples

Content type
application/json
{
  • "certificate": "string"
}

WmpCreateNewInvitation

Creates a WMP (Wallet Messaging Protocol) invitation URL that can be shared with another wallet to establish a secure peer-to-peer communication channel. Issuers and verifiers use this to connect with holder wallets for direct credential delivery and verification without requiring QR codes or redirects on each interaction.

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "invitationUrl": "string",
  • "invitationId": "string"
}

WmpAcceptInvitation

Accepts a WMP invitation URL from another wallet (issuer or verifier) to establish a peer-to-peer WMP connection. After acceptance, the connected entity appears in the WMP entity list and can send credential offers or verification requests directly to this wallet.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
invitationUrl
required
string

URL of the invitation JWT

Responses

Request samples

Content type
application/json
{
  • "invitationUrl": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

WmpEntityList

Lists all wallets that have established a WMP connection with this wallet. Filter by entityType=server for entities that created the invitation (issuers/verifiers), or entityType=client for entities that accepted it (holders).

Authorizations:
accessToken
query Parameters
entityType
required
string
Enum: "server" "client"
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WmpEntityGet

Get entity based on the entity ID

Authorizations:
accessToken
path Parameters
entity_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "roles": [
    ],
  • "identifiers": [
    ]
}

WmpEntityDelete

Delete entity based on the entity ID

Authorizations:
accessToken
path Parameters
entity_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

WmpEntityConnectionGet

Get entity connection status

Authorizations:
accessToken
path Parameters
entity_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "connected": true
}

WmpEntityServerConnect

Re-establishes or confirms the WebSocket connection to a WMP server entity. Used to reconnect after a dropped connection so the wallet can resume receiving pending requests.

Authorizations:
accessToken
path Parameters
entity_id
required
string
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "message": "string"
}

WmpClientGetPendingRequests

Get pending WMP requests (credential offers or credential verification requests)

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WmpClientProcessRequest

Acts on a pending WMP client request identified by request_id. The body's type selects the action: process a credential offer / verification request (returns its authorization requirements), identity_assertion to present a credential as the session identity assertion, or authenticate to open the session after the assertion exchange.

Authorizations:
accessToken
path Parameters
request_id
required
string
header Parameters
wallet-id
required
string
Request Body schema: application/json
required
type
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "type": "process"
}

Response samples

Content type
application/json
{
  • "requirementType": "none",
  • "authnUrl": "string",
  • "presentationDefinition": {
    },
  • "dcqlQuery": {
    },
  • "presentationCandidates": [
    ],
  • "interactionId": "string",
  • "offeredCredentialsTypes": [
    ],
  • "issuerUrl": "string",
  • "issuerDisplay": [
    ]
}