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": [
    ]
}

WalletList

Provides list of wallets owned by the authenticated client.

Authorizations:
accessToken

Responses

Response samples

Content type
application/json
[
  • {
    }
]

WalletSave

The first call will authenticate the client and create a new wallet that will be accessible only to the client. Any further calls are meant to update the wallet configuration. Be careful when changing the configuration as it may result in the wallet malfunction.

Authorizations:
accessToken
header Parameters
wallet-id
string

Has to be provided for updates.

Request Body schema: application/json
walletId
string (Wallet ID)
name
required
string (Wallet Name)
canSign
required
boolean
Default: false
required
object (Wallet config)

Wallet specific configuration.

Responses

Request samples

Content type
application/json
{
  • "walletId": "string",
  • "name": "string",
  • "canSign": false,
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "walletId": "string",
  • "name": "string",
  • "canSign": false,
  • "config": {
    }
}

WalletGet

Provides wallet details

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

Content type
application/json
{
  • "walletId": "string",
  • "name": "string",
  • "canSign": false,
  • "config": {
    }
}

WalletNotifications

Provides wallet notifications

Authorizations:
accessToken
path Parameters
wallet_id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GetCurrentDid

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

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

CredentialList

Retrieves a list of credentials.

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

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

CredentialCreate

Creates a new credential, which is always created in a draft state.

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)
property name*
additional property
any (Any additional key, value pairs used to categorize or denote the Credential)

Responses

Request samples

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

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",
  • "refreshService": {
    },
  • "termsOfUse": {
    },
  • "proof": {
    }
}

CredentialRequest

TBD

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
url
required
string <url>
state
string
legalEntity
required
boolean

Responses

Request samples

Content type
application/json
{
  • "types": [
    ],
  • "url": "string",
  • "state": "string",
  • "legalEntity": true
}

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.

path Parameters
credential_id
required
string (Verifiable Credential ID)

Verifiable Credential Identifier

header Parameters
wallet-id
required
string
Request Body schema: application/json
required
object (Verifiable Credential)
name
required
string (Credential name)
property name*
additional property
any (Any additional key, value pairs used to categorize or denote the Credential)

Responses

Request samples

Content type
application/json
{
  • "credential": {
    },
  • "name": "string",
  • "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.

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

id
required
string (Verifiable Credential ID)
name
required
string (Verifiable Credential name)
status
required
string (Verifiable Credential status)
Enum: "draft" "valid" "invalid"
property name*
additional property
any (Any additional key, value pairs used to categorize or denote the Credential)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "status": "draft",
  • "property1": {
    },
  • "property2": {
    }
}

Response samples

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

OidcAddCredToIssuanceQueue

Adds created Verifiable Credential draft to issuance queue for a specified client using authorized in-time or deferred flow.

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

Responses

Request samples

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

Response samples

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

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
[
  • {
    }
]

OidcInitiatePreauth

Initiates issuing of the verifiable credential 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.

credentialTypes
required
Array of strings
offerEndpoint
string
Default: "openid-credential-offer://"

Responses

Request samples

Content type
application/json
{
  • "clientId": "string",
  • "idTokenRequestId": "string",
  • "credentialTypes": [
    ],
  • "offerEndpoint": "openid-credential-offer://"
}

Response samples

Content type
application/json
{
  • "preauthCode": "string",
  • "pin": "string",
  • "issuerUrl": "string",
  • "offer": "string"
}

OidcInitiateIntime

Initiates issuing of the verifiable credential using authorized flow.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
credentialTypes
required
Array of strings
offerEndpoint
string
Default: "openid-credential-offer://"

Responses

Request samples

Content type
application/json
{
  • "credentialTypes": [
    ],
  • "offerEndpoint": "openid-credential-offer://"
}

Response samples

Content type
application/json
{
  • "state": "string",
  • "issuerUrl": "string",
  • "offer": "string"
}

OidcInitiateDeferred

Initiates issuing of the credential using the authorized deferred flow, in which the holder will receive credential asynchronously.

Authorizations:
accessToken
header Parameters
wallet-id
required
string
Request Body schema: application/json
credentialTypes
required
Array of strings
offerEndpoint
string
Default: "openid-credential-offer://"

Responses

Request samples

Content type
application/json
{
  • "credentialTypes": [
    ],
  • "offerEndpoint": "openid-credential-offer://"
}

Response samples

Content type
application/json
{
  • "state": "string",
  • "issuerUrl": "string",
  • "offer": "string"
}

OidcVerifyInitUrl

Returns an url where verifier accepts presentations.

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

DID of client for which verification url is created

idTokenRequestId
string

Id of ID token request with which the client shares its did

verifierScope
required
string

Responses

Request samples

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

Response samples

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

OidcAcceptOffer

Issue 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>
Pin
string
LegalEntity
boolean

Responses

Request samples

Content type
application/json
{
  • "Url": "string",
  • "Pin": "string",
  • "LegalEntity": true
}

Response samples

Content type
application/json
[
  • "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
state
required
string
deferred
required
boolean

Responses

Request samples

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

OnboardLegalEntity

TBD

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

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

AccreditAsTrustedIssuer

TBD

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

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

OidcCreateIdTokenRequest

Creates an ID token request.

Authorizations:
accessToken
header Parameters
wallet-id
required
string

Responses

Response samples

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

OidcSendIdToken

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
{
  • "Message": "string"
}

OidcPresentCredentials

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
{
  • "Message": "string"
}