Skip to main content

Triveria Wallet API (1.0.0)

Download OpenAPI specification:Download

Triveria Wallet API allows to manage credentials inside a specific wallet and interactions between wallets as specified by the OIDC4VC specification.

HealthCheck

Responses

Response samples

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

DidDocumentGet

Gets the DID Document of the wallet.

path Parameters
wallet_id
required
string

Responses

Response samples

Content type
application/json
{ }

DidGet

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "Did": "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
object (Verifiable Credential)
name
required
string (Credential name)

An internal credential label used by a holder or issuer as a human readable credential name.

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
{
  • "credential": {
    },
  • "name": "string",
  • "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
{
  • "@context": [
    ],
  • "id": "string",
  • "type": [
    ],
  • "credentialSchema": {
    },
  • "credentialSubject": {
    },
  • "credentialStatus": {
    },
  • "evidence": [
    ],
  • "validFrom": "2019-08-24T14:15:22Z",
  • "validUntil": "2019-08-24T14:15:22Z",
  • "issued": "2019-08-24T14:15:22Z",
  • "issuanceDate": "2019-08-24T14:15:22Z",
  • "expirationDate": "2019-08-24T14:15:22Z",
  • "holder": "string",
  • "issuer": "string",
  • "_sd": [
    ],
  • "_sd_alg": "string",
  • "refreshService": {
    },
  • "termsOfUse": {
    },
  • "proof": {
    }
}

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
Array of strings
format
required
string (CredentialFormat)
Enum: "jwt_vc" "sd_jwt_vc"
url
required
string <url>
state
string

Responses

Request samples

Content type
application/json
{
  • "types": [
    ],
  • "format": "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": {
    },
  • "vc": {
    },
  • "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"
}

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

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.

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
Array of strings
format
required
string (CredentialFormat)
Enum: "jwt_vc" "sd_jwt_vc"
state
required
string
deferred
required
boolean

Responses

Request samples

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

Response samples

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

VerifierInitUrlCreate

Returns an url where verifier accepts presentations from a holder.

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

Responses

Request samples

Content type
application/json
{
  • "verifierId": "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
[
  • {
    }
]

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)
query Parameters
url
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

IssuerInitiatePreauthOffer

Initiates issuing of Verifiable Credentials using pre-authorized flow.

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.

format
required
string (CredentialFormat)
Enum: "jwt_vc" "sd_jwt_vc"
offerEndpoint
string
Default: "openid-credential-offer://"
deferred
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "clientId": "string",
  • "idTokenRequestId": "string",
  • "issuerId": "string",
  • "format": "jwt_vc",
  • "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"
}

IssuerInitiateAuthOffer

Initiates issuing of Verifiable Credentials using authorized flow.

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.

format
required
string (CredentialFormat)
Enum: "jwt_vc" "sd_jwt_vc"
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.

Responses

Request samples

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

Response samples

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

HolderOfferPassAuthInfo

Issue the Verifiable Credential using OIDC4VCI offer acceptance

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

Offer URL and optional PIN for the request

Url
required
string <url>

Responses

Request samples

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

Response samples

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

HolderOfferProcessAfterConsent

Gives consent to process credential offer specified by interaction_id

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

Initiates a presentation of credentials to a verifier.

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

URL of verifier authorization server. MUST contain the verifier scope as a query parameter(scope).

Responses

Request samples

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

Response samples

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

HolderCredentialsPresentAfterConsent

Presenting Verifiable Credentials after holder's consent.

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

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

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

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

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

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WalletCreate

Creates a new wallet for the authenticated client.

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

Wallet specific configuration.

Responses

Request samples

Content type
application/json
{}

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
{}

WalletPatch

Update wallet metadata and configuration.

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

Wallet specific configuration.

Responses

Request samples

Content type
application/json
{}

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
}

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" "idToken.received" "offer.processed" "offer.initiated"

Notification types

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

Sort flag controls the sort direction by the time created

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

state
required
string

Verifier state

Responses

Response samples

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

WalletVerifiedCredentialsByState

Gets 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
{
  • "credentials": [
    ],
  • "vp": "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"
}

TfPrepareToOnboard

Prepares another legal entity's wallet DID for onboarding.

Authorizations:
accessToken
path 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"
}

TfOnboardLegalEntity

Onboards legal entity to the trust framework based on the wallet configuration.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Responses

Response samples

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

TfAccreditAsTrustedIssuer

Accredits the wallet as a trusted issuer.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Responses

Response samples

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

TfInsertIssuerProxy

Registers an issuer proxy used by EBSI for the credential status retrieval through EBSI network.

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Responses

Response samples

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

TfAccreditAs

Accredits a legal entity as RTAO or TAO.

Authorizations:
accessToken
path Parameters
wallet_id
required
string
Request Body schema: application/json
type
required
string
Enum: "TrustedAccreditationOrganisation" "RootTrustedAccreditationOrganisation"

Responses

Request samples

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

Response samples

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

TfPrepareToAccredit

Prepares another legal entity's wallet DID for accreditation.

Authorizations:
accessToken
path 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 wallet DID accreditation.

Authorizations:
accessToken
path 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"
}