Skip to main content
A connection represents a DIDComm peer-to-peer channel established between two agents. Once a connection is active, both parties can exchange verifiable credentials, proof requests, and basic messages without disclosing their DIDs to third parties. CREDEBL supports two connection methods:
  • 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