Skip to content

Organization Management

Overview

The Organization Management API provides endpoints for managing organizations (groups) within a tenant. You can manage organization hierarchy, membership, and organization-level access control.

Endpoint List

MethodEndpointDescription
GET/api/admin/organizationsList organizations
GET/api/admin/organizations/:idGet organization details
POST/api/admin/organizationsCreate organization
PUT/api/admin/organizations/:idUpdate organization
DELETE/api/admin/organizations/:idDelete organization
GET/api/admin/organizations/:id/membersList members
POST/api/admin/organizations/:id/membersAdd member
DELETE/api/admin/organizations/:id/members/:userIdRemove member
GET/api/admin/organizations/:id/hierarchyGet hierarchy

List Organizations

Retrieve a list of organizations within the tenant.

Endpoint

GET /api/admin/organizations

Query Parameters

ParameterTypeRequiredDescription
limitinteger-Number of items (default: 20, max: 100)
cursorstring-Pagination cursor
searchstring-Search by name
parent_idstring-Filter by parent organization ID
include_childrenboolean-Include child organizations

Request Example

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/organizations" \
-H "Authorization: Bearer {token}"

Response Example

{
"items": [
{
"id": "org_abc123",
"name": "Engineering",
"display_name": "Engineering Department",
"description": "Engineering department",
"parent_id": null,
"member_count": 25,
"created_at": 1705881600,
"updated_at": 1705968000
},
{
"id": "org_def456",
"name": "Backend",
"display_name": "Backend Team",
"description": "Backend development team",
"parent_id": "org_abc123",
"member_count": 10,
"created_at": 1705968000,
"updated_at": 1706054400
}
],
"total": 15,
"cursor": null
}

Get Organization Details

Retrieve detailed information for a specified organization.

Endpoint

GET /api/admin/organizations/:id

Path Parameters

ParameterTypeRequiredDescription
idstringOrganization ID

Request Example

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/organizations/org_abc123" \
-H "Authorization: Bearer {token}"

Response Example

{
"id": "org_abc123",
"name": "Engineering",
"display_name": "Engineering Department",
"description": "Engineering department",
"parent_id": null,
"parent": null,
"children": [
{
"id": "org_def456",
"name": "Backend",
"display_name": "Backend Team"
},
{
"id": "org_ghi789",
"name": "Frontend",
"display_name": "Frontend Team"
}
],
"member_count": 25,
"metadata": {
"cost_center": "CC-001",
"location": "New York"
},
"created_at": 1705881600,
"updated_at": 1705968000
}

Create Organization

Create a new organization.

Endpoint

POST /api/admin/organizations

Request Body

FieldTypeRequiredDescription
namestringOrganization name (alphanumeric, hyphens, underscores)
display_namestringDisplay name
descriptionstring-Description
parent_idstring-Parent organization ID
metadataobject-Custom metadata

Request Example

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/organizations" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "DevOps",
"display_name": "DevOps Team",
"description": "Infrastructure and DevOps",
"parent_id": "org_abc123",
"metadata": {
"cost_center": "CC-003"
}
}'

Response Example

{
"id": "org_xyz789",
"name": "DevOps",
"display_name": "DevOps Team",
"description": "Infrastructure and DevOps",
"parent_id": "org_abc123",
"member_count": 0,
"created_at": 1706140800
}

Update Organization

Update existing organization information.

Endpoint

PUT /api/admin/organizations/:id

Request Example

Terminal window
curl -X PUT "https://{tenant-domain}/api/admin/organizations/org_abc123" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "Engineering Division",
"description": "Engineering division (updated)"
}'

Delete Organization

Delete an organization.

Endpoint

DELETE /api/admin/organizations/:id

Request Example

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/organizations/org_abc123" \
-H "Authorization: Bearer {token}"

Response

Status code 204 No Content (no body)


List Members

Retrieve a list of members for a specified organization.

Endpoint

GET /api/admin/organizations/:id/members

Query Parameters

ParameterTypeRequiredDescription
limitinteger-Number of items (default: 20, max: 100)
cursorstring-Pagination cursor
rolestring-Filter by organization role

Request Example

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/organizations/org_abc123/members" \
-H "Authorization: Bearer {token}"

Response Example

{
"items": [
{
"user_id": "usr_member001",
"email": "[email protected]",
"name": "John Doe",
"organization_role": "admin",
"joined_at": 1705881600
},
{
"user_id": "usr_member002",
"email": "[email protected]",
"name": "Jane Smith",
"organization_role": "member",
"joined_at": 1705968000
}
],
"total": 25,
"cursor": "eyJ1c2VyX2lkIjoidXNyX21lbWJlcjAwMiJ9"
}

Add Member

Add a member to an organization.

Endpoint

POST /api/admin/organizations/:id/members

Request Body

FieldTypeRequiredDescription
user_idstringUser ID
rolestring-Organization role (admin, member, default: member)

Request Example

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/organizations/org_abc123/members" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"user_id": "usr_new789",
"role": "member"
}'

Response Example

{
"organization_id": "org_abc123",
"user_id": "usr_new789",
"role": "member",
"joined_at": 1706140800
}

Remove Member

Remove a member from an organization.

Endpoint

DELETE /api/admin/organizations/:id/members/:userId

Path Parameters

ParameterTypeRequiredDescription
idstringOrganization ID
userIdstringUser ID

Request Example

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/organizations/org_abc123/members/usr_member002" \
-H "Authorization: Bearer {token}"

Response

Status code 204 No Content (no body)


Get Hierarchy

Retrieve the organization hierarchy.

Endpoint

GET /api/admin/organizations/:id/hierarchy

Query Parameters

ParameterTypeRequiredDescription
depthinteger-Depth of hierarchy to retrieve (default: unlimited)

Request Example

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/organizations/org_abc123/hierarchy?depth=3" \
-H "Authorization: Bearer {token}"

Response Example

{
"id": "org_abc123",
"name": "Engineering",
"display_name": "Engineering Department",
"member_count": 25,
"children": [
{
"id": "org_def456",
"name": "Backend",
"display_name": "Backend Team",
"member_count": 10,
"children": [
{
"id": "org_sub001",
"name": "API",
"display_name": "API Team",
"member_count": 5,
"children": []
}
]
},
{
"id": "org_ghi789",
"name": "Frontend",
"display_name": "Frontend Team",
"member_count": 8,
"children": []
}
]
}