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