OpenID
OpenID issuance is the best way to go, when you need to send the credential to the holder using a deeplink or QR code.
OpenID issuer endpoint should not be confused with the credential Issuer as it is in the Truvera platform. With OpenID creating an OpenID issuer is the first step of credential issuance and will need to be done for each individual credential.
Note: Credential offers created with "singleUse": false are not subject to automatic deletion by the retention policy. Because these offers are designed for repeated use, they persist indefinitely until manually deleted. If you want offers to be cleaned up automatically, set "singleUse": true.
Creates a new OpenID issuer configuration in the system. This endpoint is used to add an issuer that can later be used for credential issuance and authentication.
Represents the configuration and options to create an OpenID issuer, including credential options, authentication provider details, and claim mappings.
Key/value pair mapping for OpenID claims to JSON-LD terms. Can be null/undefined if no 3rd party claims to pull.
{"name":"name"}Whether or not to expire this issuer (and all URLs related to it) after one credential is issued
falseExample: falseOpenID issuer created
Represents the configuration and options for an OpenID issuer, including credential options, authentication provider details, and claim mappings.
Key/value pair mapping for OpenID claims to JSON-LD terms
{"name":"name"}falsedefaultInvalid parameters
Transaction limit reached or upgrade required to proceed
POST /openid/issuers HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 999
{
"credentialOptions": {
"persist": true,
"password": "securepass",
"template": "",
"recipientEmail": "",
"algorithm": "dockbbs",
"distribute": false,
"format": "jsonld",
"credential": {
"id": "",
"name": "Basic Credential",
"description": "My first credential",
"schema": "https://docknetwork.github.io/vc-schemas/basic-credential.json",
"context": "https://docknetwork.github.io/vc-schemas/basic-credential.json-ld",
"type": [
"BasicCredential"
],
"subject": {
"id": "did:key:123",
"name": "A. Holder"
},
"issuer": "did:dock:xyz",
"issuanceDate": "2026-01-01T00:00:00.000Z",
"expirationDate": "2030-09-20T00:13:59.270Z",
"status": null
}
},
"authProvider": {
"url": "https://creds.dock.io/claims",
"scope": [
"openid"
],
"clientId": "eyAic2NoZW1hIjogImh0dHBzOi8vZG9ja25ldHdvcmsuZ2l0aHViLmlvL3ZjLXNjaGVtYXMvYmFzaWMtY3JlZGVudGlhbC5qc29uIiwgImNsYWltcyI6IFsibmFtZSJdIH0=",
"clientSecret": "gpO2IVK+OALL8W+DcFlIfFhJtNA=",
"claimsSource": "idToken",
"requestParameters": {
"login_hint": "user@example.com",
"prompt": "login"
}
},
"claimMap": {
"name": "name"
},
"singleUse": false
}{
"credentialOptions": {
"persist": true,
"password": "securepass",
"template": "",
"recipientEmail": "",
"algorithm": "dockbbs",
"distribute": false,
"format": "jsonld",
"credential": {
"id": "",
"name": "Basic Credential",
"description": "My first credential",
"schema": "https://docknetwork.github.io/vc-schemas/basic-credential.json",
"context": "https://docknetwork.github.io/vc-schemas/basic-credential.json-ld",
"type": [
"BasicCredential"
],
"subject": {
"id": "did:key:123",
"name": "A. Holder"
},
"issuer": "did:dock:xyz",
"issuanceDate": "2026-01-01T00:00:00.000Z",
"expirationDate": "2030-09-20T00:13:59.270Z",
"status": null
}
},
"authProvider": {
"url": "https://creds.dock.io/claims",
"scope": [
"openid"
],
"clientId": "eyAic2NoZW1hIjogImh0dHBzOi8vZG9ja25ldHdvcmsuZ2l0aHViLmlvL3ZjLXNjaGVtYXMvYmFzaWMtY3JlZGVudGlhbC5qc29uIiwgImNsYWltcyI6IFsibmFtZSJdIH0=",
"clientSecret": "gpO2IVK+OALL8W+DcFlIfFhJtNA=",
"claimsSource": "idToken",
"requestParameters": {
"login_hint": "user@example.com",
"prompt": "login"
}
},
"claimMap": {
"name": "name"
},
"singleUse": false,
"issuer": "text",
"protocol": "default"
}Credential offers
Generate credential offers to initiate the issuance process. Credential offers can be shared with the holder to claim the credential. This endpoint creates a credential offer linked to the OpenID issuer.
Generates and returns a credential offer URI for OpenID4VCI. This endpoint is used to initiate the credential issuance process.
The OpenID issuer UUID
Optional extra request parameters passed to the federated OpenID provider, such as login hint
OpenID credential offer URI
The response object for an OpenID Credential Offer request, containing the URL and details of the credential offer.
OpenId Credential Offers URL
openid-credential-offer://?credential_offer=...Invalid or expired OpenID issuer
Transaction limit reached or upgrade required to proceed
Issuer not found
POST /openid/credential-offers HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 68
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"requestParameters": {}
}{
"url": "openid-credential-offer://?credential_offer=...",
"offer": {
"credential_issuer": "text",
"credentials": [
"text"
],
"request_parameters": {},
"grants": {}
}
}Returns a paginated list of all OpenID issuers available in the system. This can be used to view the existing issuers and their configurations.
How many items to offset by for pagination
0How many items to return at one time (max 64)
64A paged array of OpenID issuers
Represents the configuration and options for an OpenID issuer, including credential options, authentication provider details, and claim mappings.
Key/value pair mapping for OpenID claims to JSON-LD terms
{"name":"name"}falsedefaultApplication error
GET /openid/issuers HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Accept: */*
[
{
"credentialOptions": {
"persist": true,
"password": "securepass",
"template": "",
"recipientEmail": "",
"algorithm": "dockbbs",
"distribute": false,
"format": "jsonld",
"credential": {
"id": "",
"name": "Basic Credential",
"description": "My first credential",
"schema": "https://docknetwork.github.io/vc-schemas/basic-credential.json",
"context": "https://docknetwork.github.io/vc-schemas/basic-credential.json-ld",
"type": [
"BasicCredential"
],
"subject": {
"id": "did:key:123",
"name": "A. Holder"
},
"issuer": "did:dock:xyz",
"issuanceDate": "2026-01-01T00:00:00.000Z",
"expirationDate": "2030-09-20T00:13:59.270Z",
"status": null
}
},
"authProvider": {
"url": "https://creds.dock.io/claims",
"scope": [
"openid"
],
"clientId": "eyAic2NoZW1hIjogImh0dHBzOi8vZG9ja25ldHdvcmsuZ2l0aHViLmlvL3ZjLXNjaGVtYXMvYmFzaWMtY3JlZGVudGlhbC5qc29uIiwgImNsYWltcyI6IFsibmFtZSJdIH0=",
"clientSecret": "gpO2IVK+OALL8W+DcFlIfFhJtNA=",
"claimsSource": "idToken",
"requestParameters": {
"login_hint": "user@example.com",
"prompt": "login"
}
},
"claimMap": {
"name": "name"
},
"singleUse": false,
"issuer": "text",
"protocol": "default"
}
]Returns the configuration details of an existing OpenID issuer, identified by its UUID. This can be used to view the issuer's settings and supported features.
OpenID issuer UUID
Returns the information about the OpenID issuer
Represents the configuration and options for an OpenID issuer, including credential options, authentication provider details, and claim mappings.
Key/value pair mapping for OpenID claims to JSON-LD terms
{"name":"name"}falsedefaultApplication error
OpenID issuer was not found.
GET /openid/issuers/{id} HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Accept: */*
{
"credentialOptions": {
"persist": true,
"password": "securepass",
"template": "",
"recipientEmail": "",
"algorithm": "dockbbs",
"distribute": false,
"format": "jsonld",
"credential": {
"id": "",
"name": "Basic Credential",
"description": "My first credential",
"schema": "https://docknetwork.github.io/vc-schemas/basic-credential.json",
"context": "https://docknetwork.github.io/vc-schemas/basic-credential.json-ld",
"type": [
"BasicCredential"
],
"subject": {
"id": "did:key:123",
"name": "A. Holder"
},
"issuer": "did:dock:xyz",
"issuanceDate": "2026-01-01T00:00:00.000Z",
"expirationDate": "2030-09-20T00:13:59.270Z",
"status": null
}
},
"authProvider": {
"url": "https://creds.dock.io/claims",
"scope": [
"openid"
],
"clientId": "eyAic2NoZW1hIjogImh0dHBzOi8vZG9ja25ldHdvcmsuZ2l0aHViLmlvL3ZjLXNjaGVtYXMvYmFzaWMtY3JlZGVudGlhbC5qc29uIiwgImNsYWltcyI6IFsibmFtZSJdIH0=",
"clientSecret": "gpO2IVK+OALL8W+DcFlIfFhJtNA=",
"claimsSource": "idToken",
"requestParameters": {
"login_hint": "user@example.com",
"prompt": "login"
}
},
"claimMap": {
"name": "name"
},
"singleUse": false,
"issuer": "text",
"protocol": "default"
}Deletes the specified OpenID issuer and all associated data from the system. Use this endpoint to clean up issuers that are no longer needed.
OpenID issuer UUID
OpenID issuer will be deleted
No content
Something went wrong.
OpenID issuer was not found.
DELETE /openid/issuers/{id} HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Accept: */*
No content
Returns the proof request object in OID4VP format, which can be used with a request URI for processing verifiable presentations.
Proof request UUID
Returns the information about the OID4VP request
eyJhbG...zKQIDwApplication error
Proof request was not found.
GET /openid/vp/{id}/request HTTP/1.1
Host: api-testnet.dock.io
X-RapidAPI-Proxy-Secret: YOUR_API_KEY
Accept: */*
eyJhbG...zKQIDwCreates and returns a deep link or QR code for an OID4VP proof request, allowing for easy scanning or clicking by users to initiate the proof process.
Proof request UUID
falsefalseReturns the information about the OID4VP request
The generated OpenID request URL
openid://?client_id=https%3A%2F%2Fexample.com%2Fopenid%2Fvp%2F6600...e165&request_uri=https%3A%2F%2Fexample.com%2Fopenid%2Fvp%2F6600...e165%2FrequestApplication error
Unauthorized
Proof request was not found.
POST /openid/vp/{id}/request-url HTTP/1.1
Host: api-testnet.dock.io
DOCK-API-TOKEN: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 44
{
"withIdToken": false,
"withRequestURI": false
}{
"url": "openid://?client_id=https%3A%2F%2Fexample.com%2Fopenid%2Fvp%2F6600...e165&request_uri=https%3A%2F%2Fexample.com%2Fopenid%2Fvp%2F6600...e165%2Frequest"
}Last updated
Was this helpful?