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
string
required
Display name for the organization. Must be between 2 and 200 characters.
string
required
A short description of the organization. Must be between 2 and 1000 characters.
string
Logo image encoded as a base64 string or a URL. Defaults to an empty string.
string
The organization’s website URL.
string
A fully qualified URL (including protocol and TLD) where the platform sends event notifications. Must include
http:// or https://.string
Official registration number for the organization.
number
Numeric ID for the organization’s country.
number
Numeric ID for the organization’s state or province.
number
Numeric ID for the organization’s city.
Response
Returns201 Created with the created organization object.
number
HTTP status code.
201 on success.string
Human-readable result message.
object
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
number
default:"1"
Page number to retrieve. Must be 1 or greater.
number
default:"10"
Number of results per page. Must be between 1 and 100.
string
Filter organizations by name.
string
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
string
required
UUID of the organization.
Response
number
200 on success.string
Human-readable result message.
object
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
string
required
UUID of the organization to update. Must be a valid UUID v4.
Request body
string
Updated display name. Between 2 and 200 characters.
string
Updated description. Between 2 and 1000 characters.
string
Updated logo as a base64-encoded image string. Must pass the
ImageBase64Validator check.string
Updated website URL.
boolean
default:"false"
When
true, the organization appears in public profile listings.number
Updated country ID.
number
Updated state or province ID.
number
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
string
required
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
string
required
UUID of the organization.
Response
object[]
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
string
required
UUID of the organization.
Request body
string
required
The DID string to set as primary (e.g.,
did:indy:sovrin:staging:ABcDeFGhiJkLmNoPqRsTuV).string
required
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
string
required
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
string
required
UUID of the organization.
Response
object
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
string
required
The client ID obtained from
POST /orgs/:orgId/client_credentials.Request body
string
required
The client secret paired with the client ID.
Response
object
The authentication result.