Skip to main content

REST API

The platform offers all operations through a RESTful API. The API uses Keycloak-based authentication and exchanges data in JSON format. The API follows OpenAPI 3.0.3 specification with interactive documentation available via Swagger UI.

API Structure

The v2 API is organized into functional modules:

Endpoint Hierarchy
/api/v2/multi-agent
├── /holder → Credential holder operations
├── /groups → Agent group management
│ ├── /{groupId}/issuer → Issuer operations via group
│ └── /{groupId}/mediator → Mediator operations via group

All v2 routes require Keycloak authentication.


Root & Health Endpoints

MethodPathDescription
GET/Welcome message for DT Cloud SSI API Service
GET/healthHealth check for Issuer and Holder agents
GET/health/metricsSystem and process metrics
GET/docsSwagger UI documentation
GET/docs.jsonOpenAPI specification in JSON

Holder - Credential Holder (/api/v2/multi-agent/holder)

Connection Management

MethodPathDescription
POST/holder/connections/receive-invitationReceive invitation
GET/holder/connectionsList connections
GET/holder/connections/activeList active connections
GET/holder/connections/{connectionId}Get connection details
DELETE/holder/connectionsDelete connections

Credential Management

MethodPathDescription
GET/holder/credentials/offersGet credential offers
POST/holder/credentials/offers/{credExId}/acceptAccept credential offer
GET/holder/credentials/exchangesList credential exchanges
GET/holder/credentials/walletGet wallet credentials
GET/holder/credentials/wallet/with-revocationGet credentials with revocation status
POST/holder/credentials/proposalsCreate credential proposal
POST/holder/credentials/requestRequest credential
DELETE/holder/credentials/offersDelete credential offers
DELETE/holder/credentials/exchangesDelete credential exchanges

Revocation Requests

MethodPathDescription
POST/holder/revocation-requestsCreate revocation request
GET/holder/revocation-requestsList revocation requests
GET/holder/revocation-requests/{requestId}Get specific revocation request

Group Management (/api/v2/multi-agent/groups)

MethodPathDescription
POST/groupsCreate agent group
GET/groupsList agent groups
GET/groups/{groupId}Get agent group
PUT/groups/{groupId}Update agent group
DELETE/groups/{groupId}Delete agent group
POST/groups/{groupId}/agents/{tenantId}Add agent to group
DELETE/groups/{groupId}/agents/{tenantId}Remove agent from group
GET/groups/{groupId}/select-agentSelect agent from group
POST/groups/{groupId}/auto-scaleConfigure auto-scaling

Issuer - Credential Issuer (/api/v2/multi-agent/groups/{groupId}/issuer)

Connection Management

MethodPathDescription
POST/issuer/connections/create-invitationCreate invitation
GET/issuer/connectionsList connections
GET/issuer/connections/{connectionId}Get connection details

Schema Management

MethodPathDescription
POST/issuer/schemasCreate schema
GET/issuer/schemasList schemas

Credential Definition Management

MethodPathDescription
POST/issuer/credential-definitionsCreate credential definition
GET/issuer/credential-definitionsList credential definitions

Credential Issuance

MethodPathDescription
POST/issuer/credentials/issue-by-schemaIssue credential by schema
POST/issuer/credentials/send-offerSend credential offer
GET/issuer/credentials/exchangesList credential exchanges
POST/issuer/credentials/exchanges/{credExId}/issueIssue credential from exchange

Revocation Management

MethodPathDescription
POST/issuer/revocation/revokeRevoke credential
GET/issuer/revocation/registriesList revocation registries
GET/issuer/revocation/registries/{revRegId}Get revocation registry details

Proof/Verification

MethodPathDescription
GET/issuer/proofs/recordsList proof records
POST/issuer/proofs/records/{presExId}/verifyVerify proof
GET/issuer/proofs/transcriptsGet transcript proofs
GET/issuer/proofs/diplomasGet diploma proofs

Wallet Management

MethodPathDescription
POST/issuer/wallet/register-public-didRegister public DID
GET/issuer/wallet/public-didGet public DID
GET/issuer/wallet/didsList DIDs

Mediator (/api/v2/multi-agent/groups/{groupId}/mediator)

Connection Management

MethodPathDescription
POST/mediator/connections/create-invitationCreate invitation
GET/mediator/connectionsList connections
GET/mediator/connections/{connectionId}Get connection details
DELETE/mediator/connections/{connectionId}Delete connection
DELETE/mediator/connectionsDelete all connections

Mediation Management

MethodPathDescription
GET/mediator/mediation/recordsList mediation records
GET/mediator/mediation/records/{mediationId}Get mediation record
GET/mediator/mediation/keylistsGet mediation keylists
POST/mediator/mediation/records/{mediationId}/grantGrant mediation
POST/mediator/mediation/records/{mediationId}/denyDeny mediation
DELETE/mediator/mediation/records/{mediationId}Delete mediation record
DELETE/mediator/mediation/recordsDelete all mediation records

API Flow


Error Codes

CodeDescription
200Success
201Created
400Bad request
401Unauthorized
403Forbidden
404Not found
500Server error

Summary

MetricValue
API Versionv2
AuthenticationKeycloak
DocumentationOpenAPI 3.0.3 via Swagger UI
Agent TypesHolder (Holder), Issuer (Issuer), Mediator