Skip to main content
All admin endpoints require authentication via the CEMS_ADMIN_KEY environment variable.

Authentication

Include the admin key in the Authorization header:
Authorization: Bearer <CEMS_ADMIN_KEY>

Create Team

POST /admin/teams
Authorization: Bearer <CEMS_ADMIN_KEY>
Content-Type: application/json

{
  "name": "engineering",
  "company_id": "acme-corp",
  "settings": {}
}
name
string
required
Unique team name
company_id
string
required
Company identifier for the team
settings
object
default:"{}"
Optional team settings dictionary
team
object
Created team details
message
string
Success message
{
  "team": {
    "id": "650e8400-e29b-41d4-a716-446655440001",
    "name": "engineering",
    "company_id": "acme-corp"
  },
  "message": "Team created"
}

List Teams

GET /admin/teams?limit=100&offset=0
Authorization: Bearer <CEMS_ADMIN_KEY>
limit
integer
default:"100"
Maximum number of teams to return
offset
integer
default:"0"
Offset for pagination
teams
array
List of team objects
count
integer
Number of teams returned

Get Team

GET /admin/teams/{team_id}
Authorization: Bearer <CEMS_ADMIN_KEY>
team_id
string
required
Team UUID or team name
{
  "id": "650e8400-e29b-41d4-a716-446655440001",
  "name": "engineering",
  "company_id": "acme-corp",
  "created_at": "2024-01-10T08:00:00Z",
  "settings": {},
  "members": [
    {
      "user_id": "550e8400-e29b-41d4-a716-446655440000",
      "username": "alice",
      "role": "admin",
      "joined_at": "2024-01-10T08:05:00Z"
    },
    {
      "user_id": "550e8400-e29b-41d4-a716-446655440002",
      "username": "bob",
      "role": "member",
      "joined_at": "2024-01-11T09:30:00Z"
    }
  ]
}

Delete Team

DELETE /admin/teams/{team_id}
Authorization: Bearer <CEMS_ADMIN_KEY>
team_id
string
required
Team UUID or team name
{
  "message": "Team deleted"
}

Add Team Member

POST /admin/teams/{team_id}/members
Authorization: Bearer <CEMS_ADMIN_KEY>
Content-Type: application/json

{
  "user_id": "alice",
  "role": "member"
}
team_id
string
required
Team UUID or team name
user_id
string
required
User UUID or username to add
role
string
default:"member"
Member role: admin, member, or viewer
member
object
Created membership details
message
string
Success message
{
  "member": {
    "team_id": "650e8400-e29b-41d4-a716-446655440001",
    "user_id": "550e8400-e29b-41d4-a716-446655440000",
    "role": "member"
  },
  "message": "Member added"
}

Remove Team Member

DELETE /admin/teams/{team_id}/members/{user_id}
Authorization: Bearer <CEMS_ADMIN_KEY>
team_id
string
required
Team UUID or team name
user_id
string
required
User UUID or username to remove
{
  "message": "Member removed"
}

Build docs developers (and LLMs) love