- Invitation-based — one agent creates an invitation object or URL; the peer accepts it to complete the handshake.
- Out-of-band (OOB) — an invitation is shared as a URL or QR code and can be scanned by any compatible agent. OOB invitations may be single-use or reusable (
multiUseInvitation).
Base path
All endpoints are rooted at/orgs/:orgId/connections or /orgs/:orgId/question-answer.
Authentication
Every endpoint requires a JWT bearer token.Role-based access
Endpoints
List connections
GET /orgs/:orgId/connections — Paginated list of all connections for an organization.Get connection
GET /orgs/:orgId/connections/:connectionId — Retrieve a single connection by its ID.Create invitation
POST /orgs/:orgId/connections — Create an outbound OOB connection invitation.Receive invitation URL
POST /orgs/:orgId/receive-invitation-url — Accept an invitation delivered as a URL.Receive invitation object
POST /orgs/:orgId/receive-invitation — Accept an invitation delivered as a JSON object.Send question
POST /orgs/:orgId/question-answer/question/:connectionId — Send a question-and-answer message over a connection.Get Q&A records
GET /orgs/:orgId/question-answer/question — Retrieve all question-answer records for an organization.Send basic message
POST /orgs/:orgId/basic-message/:connectionId — Send a plain-text message over a connection.Delete connections
DELETE /orgs/:orgId/connections — Delete all connection records for an organization.List connections
GET /orgs/:orgId/connections
Retrieve all connections for an organization. Supports pagination, full-text search, and sorting.
Required roles: owner, admin, issuer, verifier, member
Path parameters
string
required
UUID of the organization.
Query parameters
number
Page to retrieve. Defaults to
1.number
Number of records per page. Min
1, max 100. Defaults to 10.string
Free-text search across connection fields.
string
Field to sort by. Enum:
createDateTime (default) and other available sort fields.string
Sort direction.
ASC or DESC (default).Response
number
200 on success.string
Human-readable result message.
object
Examples
200 response
Get connection by ID
GET /orgs/:orgId/connections/:connectionId
Retrieve the details of a specific connection.
Required roles: owner, admin, issuer, verifier, member
Path parameters
string
required
UUID of the organization.
string
required
UUID of the connection to retrieve.
Examples
200 response
Create connection invitation
POST /orgs/:orgId/connections
Creates an outbound out-of-band connection invitation. The response contains an invitation URL and object that the peer can use to establish a connection.
Required roles: owner, admin, issuer, verifier, member
Path parameters
string
required
UUID of the organization creating the invitation.
Request body
All fields are optional. When the body is omitted or left empty, a default invitation is created.string
Human-readable label to display to the recipient.
string
Internal alias for this invitation.
string
URL of an image to include in the invitation.
string
A code expressing the intended goal of the connection (e.g.,
"issue-vc").string
A human-readable description of the connection’s purpose.
boolean
Whether to include a handshake protocol in the invitation. Defaults to
true.string[]
Array of DIDComm handshake protocol URIs to advertise. For example,
["https://didcomm.org/connections/1.0"].boolean
When
true, the invitation can be accepted by multiple peers. Defaults to false.boolean
Automatically accept the connection once the peer responds. Defaults to
false.boolean
Attempt to reuse an existing connection if one exists with the same peer.
string
A specific recipient key (verkey) to use for this invitation.
string
A DID to use as the invitation endpoint instead of a service endpoint.
object
Custom routing configuration for the invitation.
object[]
Additional attachments to include in the OOB invitation message.
object[]
Pre-attached messages to deliver alongside the invitation.
Response
object
Examples
201 response
Receive invitation URL
POST /orgs/:orgId/receive-invitation-url
Accept an OOB invitation delivered as a URL string. The agent parses the URL and completes the connection handshake.
Required roles: owner, admin
Path parameters
string
required
UUID of the organization accepting the invitation.
Request body
string
required
The full OOB invitation URL to accept.
string
Internal alias for the resulting connection.
string
Display label for the resulting connection.
boolean
Automatically complete the connection handshake. Defaults to
false.boolean
Automatically accept the invitation without user confirmation. Defaults to
false.boolean
Attempt to reuse an existing connection with the same peer.
number
Timeout in milliseconds to wait for the peer to respond.
Examples
Receive invitation object
POST /orgs/:orgId/receive-invitation
Accept an OOB invitation delivered as a raw JSON invitation object.
Required roles: owner, admin
Path parameters
string
required
UUID of the organization accepting the invitation.
Request body
object
required
The DIDComm invitation object.
string
Internal alias for the resulting connection.
boolean
Automatically complete the handshake.
boolean
Automatically accept without user confirmation.
boolean
Attempt to reuse an existing connection with the same peer.
Send question
POST /orgs/:orgId/question-answer/question/:connectionId
Send a question-and-answer message to a connected peer. The peer receives a list of valid text responses and must pick one.
Required roles: owner, admin, issuer, verifier, member, holder, super_admin, platform_admin
Path parameters
string
required
UUID of the organization.
string
required
ID of the connection over which to send the question.
Request body
string
required
The question text to send to the peer. Example:
"What is your name?".object[]
required
Array of valid response objects the peer may choose from. Each object must have a
text (string) field.Example: [{ "text": "Emma" }, { "text": "Kiva" }]string
Optional supplementary detail or context for the question.
Examples
201 response
Get question-answer records
GET /orgs/:orgId/question-answer/question
Retrieve all question-answer records for the organization.
Required roles: owner, admin, issuer, verifier, member, holder, super_admin, platform_admin
Path parameters
string
required
UUID of the organization.
Examples
Send basic message
POST /orgs/:orgId/basic-message/:connectionId
Send a plain-text DIDComm basic message to a connected peer.
Required roles: owner, admin, issuer, verifier, member, holder, super_admin, platform_admin
Path parameters
string
required
UUID of the organization.
string
required
UUID of the connection to message.
Request body
string
The plain-text message body to send.
Examples
201 response
Delete connections
DELETE /orgs/:orgId/connections
Delete all connection records associated with an organization. This action is irreversible.
Required roles: owner
Path parameters
string
required
UUID of the organization whose connection records will be deleted.
Examples
200 response