Teams API
Manage collaborative teams within spaces, including membership and roles.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| POST | /spaces/{slug}/teams | Create team |
| GET | /spaces/{slug}/teams | List teams |
| GET | /spaces/{slug}/teams/{id} | Get team |
| PATCH | /spaces/{slug}/teams/{id} | Update team |
| DELETE | /spaces/{slug}/teams/{id} | Delete team |
| POST | /spaces/{slug}/teams/{id}/members | Add member |
| PATCH | /spaces/{slug}/teams/{id}/members/{user_id} | Update member role |
| DELETE | /spaces/{slug}/teams/{id}/members/{user_id} | Remove member |
Create Team
POST /spaces/{slug}/teams
Request Body
{
"name": "Data Engineering",
"description": "Responsible for pipeline operations",
"manager_id": "550e8400-e29b-41d4-a716-446655440000"
}
Response
{
"id": "...",
"name": "Data Engineering",
"description": "Responsible for pipeline operations",
"manager": { "id": "...", "full_name": "Jane Smith" },
"member_count": 1,
"created_at": "2026-01-15T10:00:00Z"
}
List Teams
GET /spaces/{slug}/teams
Returns all teams in the space with member counts.
Get Team
GET /spaces/{slug}/teams/{team_id}
Returns team details with full member list.
Update Team
PATCH /spaces/{slug}/teams/{team_id}
Requires Space Admin or team manager role.
{
"name": "Data Engineering v2",
"description": "Updated description"
}
Delete Team
DELETE /spaces/{slug}/teams/{team_id}
Requires Space Admin role. Removes the team and all memberships.
Add Member
POST /spaces/{slug}/teams/{team_id}/members
{
"user_id": "...",
"role": "member"
}
Roles: member, manager
Update Member Role
PATCH /spaces/{slug}/teams/{team_id}/members/{user_id}
{
"role": "manager"
}
Remove Member
DELETE /spaces/{slug}/teams/{team_id}/members/{user_id}
Requires Space Admin or team manager role.
Error Responses
| Status | Description |
|---|---|
404 | Team or member not found |
409 | Team name already exists / member already in team |