Create organization
POST /orgs
Creates a new organization. The authenticated user becomes the owner of the new organization.
Required roles: Authenticated user (no org role required — creates a new org).
Request body
Display name for the organization. Must be between 2 and 200 characters.
A short description of the organization. Must be between 2 and 1000 characters.
Logo image encoded as a base64 string or a URL. Defaults to an empty string.
The organization’s website URL.
A fully qualified URL (including protocol and TLD) where the platform sends event notifications. Must include
http:// or https://.Official registration number for the organization.
Numeric ID for the organization’s country.
Numeric ID for the organization’s state or province.
Numeric ID for the organization’s city.
Response
Returns201 Created with the created organization object.
HTTP status code.
201 on success.Human-readable result message.
The newly created organization.
List organizations
GET /orgs
Returns all organizations the authenticated user is a member of. Supports filtering by role and pagination.
Required roles: Authenticated user.
Query parameters
Page number to retrieve. Must be 1 or greater.
Number of results per page. Must be between 1 and 100.
Filter organizations by name.
Filter by the user’s role within each organization. Accepted values:
owner, admin, issuer, verifier, member, holder, super_admin, platform_admin.Get organization
GET /orgs/:orgId
Returns the details of a single organization by its ID.
Required roles: owner, admin, issuer, verifier, member
Path parameters
UUID of the organization.
Response
200 on success.Human-readable result message.
Organization details.
Update organization
PUT /orgs/:orgId
Updates the mutable fields of an existing organization. All body fields are optional — only the fields you include are changed.
Required roles: owner, admin
Path parameters
UUID of the organization to update. Must be a valid UUID v4.
Request body
Updated display name. Between 2 and 200 characters.
Updated description. Between 2 and 1000 characters.
Updated logo as a base64-encoded image string. Must pass the
ImageBase64Validator check.Updated website URL.
When
true, the organization appears in public profile listings.Updated country ID.
Updated state or province ID.
Updated city ID.
Delete organization
DELETE /orgs/:orgId
Permanently deletes an organization and all associated data. This action is irreversible.
Required roles: owner
Path parameters
UUID of the organization to delete. Must be a valid UUID v4.
List DIDs
GET /orgs/:orgId/dids
Returns all decentralized identifiers (DIDs) registered to an organization.
Required roles: owner, admin, issuer, member
Path parameters
UUID of the organization.
Response
Array of DID records.
Set primary DID
PUT /orgs/:orgId/primary-did
Designates one of the organization’s registered DIDs as its primary identifier. The primary DID is used by default in credential issuance and verification flows.
Required roles: owner, admin, issuer, verifier, member
Path parameters
UUID of the organization.
Request body
The DID string to set as primary (e.g.,
did:indy:sovrin:staging:ABcDeFGhiJkLmNoPqRsTuV).The UUID of the DID record in the platform database. Retrieve this from
GET /orgs/:orgId/dids.Get org roles
GET /orgs/:orgId/roles
Returns the available role definitions for a specific organization.
Required roles: owner, admin
Path parameters
UUID of the organization.
Generate client credentials
POST /orgs/:orgId/client_credentials
Creates a client ID and client secret for the organization, enabling machine-to-machine (M2M) access without a user session. Use the returned credentials with POST /orgs/:clientId/token to obtain an access token.
Required roles: owner
Path parameters
UUID of the organization.
Response
The generated client credentials.
Get client token
POST /orgs/:clientId/token
Exchanges an organization’s client credentials for an access token using the client_credentials OAuth 2.0 grant. The token is returned in the response body and a session_id cookie is also set.
Authentication: No JWT bearer token required. Uses client credentials in the request body.
Path parameters
The client ID obtained from
POST /orgs/:orgId/client_credentials.Request body
The client secret paired with the client ID.
Response
The authentication result.