Skip to main content

Spaces API

Manage workspaces and team membership.

Endpoints Overview

MethodEndpointDescription
GET/spacesList accessible spaces
POST/spacesCreate space (superadmin)
GET/spaces/{slug}Get space details
PATCH/spaces/{slug}Update space
GET/spaces/{slug}/membersList members
POST/spaces/{slug}/membersAdd member

List Spaces

GET /spaces

Returns spaces the authenticated user has access to.

Response

{
"items": [
{
"id": "...",
"name": "Marketing Analytics",
"slug": "marketing-analytics",
"description": "Marketing team data workspace",
"member_count": 12,
"product_count": 45,
"created_at": "2025-01-15T00:00:00Z"
}
]
}

Create Space

POST /spaces

Requires: Superadmin role

Request Body

{
"name": "Finance Data",
"slug": "finance-data",
"description": "Finance team workspace for financial data products"
}

Required Fields

FieldTypeDescription
namestringDisplay name
slugstringURL-friendly identifier (unique)

Get Space Details

GET /spaces/{slug}

Response

{
"id": "...",
"name": "Marketing Analytics",
"slug": "marketing-analytics",
"description": "...",
"member_count": 12,
"product_count": 45,
"issue_count": 3,
"meeting_count": 5,
"created_at": "2025-01-15T00:00:00Z",
"updated_at": "2026-01-10T00:00:00Z"
}

Space Members

List Members

GET /spaces/{slug}/members

Response

{
"items": [
{
"user": {
"id": "...",
"email": "jane@example.com",
"name": "Jane Developer"
},
"role": "admin",
"joined_at": "2025-01-15T00:00:00Z"
}
]
}

Add Member

POST /spaces/{slug}/members
{
"user_id": "user-uuid",
"role": "editor"
}

Roles: viewer, editor, admin

Update Member Role

PATCH /spaces/{slug}/members/{user_id}
{
"role": "admin"
}

Remove Member

DELETE /spaces/{slug}/members/{user_id}

Space Statistics

Get Analytics

GET /analytics/spaces/{slug}/overview
{
"products": {
"total": 45,
"by_type": {
"table": 30,
"view": 10,
"dashboard": 5
}
},
"quality": {
"health_score": 0.94,
"checks_passing": 145,
"checks_failing": 8
},
"activity": {
"products_created_30d": 5,
"issues_resolved_30d": 12
}
}