Skip to main content

Organizations

Organizations are the top-level entity providing complete isolation between business entities. Each organization has isolated vaults, accounts, and permissions.

Overview

In most deployments, an organization maps to a single legal or operational business entity. If you operate multiple independent entities (e.g., subsidiaries), create multiple organizations — each with fully isolated resources.

List Organizations

curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations

Get Organization Details

curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/{organizationId}

Roles & Permissions

Every authenticated client has a base readOwn ability. Roles are assigned at the Organization or Vault level.

Organization-Level Roles

RoleAbilities
OrgAdminread, edit, inviteUser, removeUser, assignRole, suspendUser, manageClients, viewAudit, manageVaults, manageAddressBook, viewClients
SecurityOfficerread, suspendUser, manageClients, viewAudit, suspendVaults, viewClients
Userread
HostedSignersign
ManagedSignersign
SharedSignersign

Vault-Level Roles

RoleAbilities
VaultAdminread, generateDetails, initiate, edit, assignRole, suspend, viewAudit, approve, decline, manageAddressBook, viewClients, manageNotifications
Treasurerread, generateDetails, initiate, approve, decline, manageAddressBook, viewClients, manageNotifications
Operatorread, generateDetails, initiate, viewClients
Approverread, generateDetails, approve, decline, viewClients
Viewerread

Managing Clients

List Clients in Organization

curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/{orgId}/clients

Add a Client

curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"role": "User"
}' \
https://api.carabaas.com/api/v1/organizations/{orgId}/clients

Change Client Role

curl -X PATCH \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "role": "OrgAdmin" }' \
https://api.carabaas.com/api/v1/organizations/clients/{clientId}/role

Suspend / Unsuspend a Client

# Suspend
curl -X PATCH \
-H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/clients/{clientId}/suspend

# Unsuspend
curl -X PATCH \
-H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/clients/{clientId}/unsuspend

API Key Management

Create an Authentication Key

curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"publicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
"name": "Production API Key"
}' \
https://api.carabaas.com/api/v1/organizations/keys

Block / Unblock a Key

# Block
curl -X PATCH -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/keys/{keyId}/block

# Unblock
curl -X PATCH -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/organizations/keys/{keyId}/unblock

See Also