Skip to main content

Organizations API

Manage organizations and cross-space aggregation for multi-tenant deployments.

Endpoints Overview

MethodEndpointDescription
GET/organizationsList organizations
POST/organizationsCreate organization
GET/organizations/{slug}Get organization
PATCH/organizations/{slug}Update organization
DELETE/organizations/{slug}Delete organization
POST/organizations/{slug}/spacesAdd space
DELETE/organizations/{slug}/spaces/{space_id}Remove space
POST/organizations/{slug}/usersAdd user
PATCH/organizations/{slug}/users/{user_id}Update user role
DELETE/organizations/{slug}/users/{user_id}Remove user

Aggregation Endpoints

MethodEndpointDescription
GET/organizations/{slug}/productsAggregated products
GET/organizations/{slug}/contractsAggregated contracts
GET/organizations/{slug}/issuesAggregated issues
GET/organizations/{slug}/qualityAggregated quality checks
GET/organizations/{slug}/statsOrganization statistics

List Organizations

GET /organizations

Returns organizations the current user has access to.

Response

[
{
"id": "...",
"name": "Acme Corp",
"slug": "acme",
"spaces": [
{"id": "...", "name": "Analytics", "slug": "analytics"},
{"id": "...", "name": "Marketing", "slug": "marketing"}
],
"user_count": 45,
"created_at": "2025-01-01T00:00:00Z"
}
]

Create Organization

POST /organizations

Requires superadmin privileges.

{
"name": "Acme Corp",
"slug": "acme"
}

Add Space to Organization

POST /organizations/{slug}/spaces
{
"space_id": "space-uuid"
}

Add User to Organization

POST /organizations/{slug}/users
{
"user_email": "user@example.com",
"role": "member"
}

Organization Roles

RoleDescription
adminFull organization management
memberView organization content

Aggregated Products

GET /organizations/{slug}/products

Returns products from all spaces in the organization that the user can access.

Query Parameters

ParameterTypeDescription
pageintegerPage number
sizeintegerItems per page
searchstringSearch filter

Aggregated Issues

GET /organizations/{slug}/issues

Query Parameters

ParameterTypeDescription
statusstringFilter by status (comma-separated)
prioritystringFilter by priority
assignee_iduuidFilter by assignee
limitintegerMax results

Organization Statistics

GET /organizations/{slug}/stats

Response

{
"total_spaces": 5,
"total_products": 234,
"total_users": 45,
"quality_score": 0.92,
"open_issues": 12,
"active_contracts": 8
}

Organization Quality

GET /organizations/{slug}/quality

Aggregates quality checks across all spaces.

Query Parameters

ParameterTypeDescription
include_archivedbooleanInclude archived checks

Error Responses

StatusDescription
403Not authorized for this organization
404Organization not found