Skip to content

Workspaces API

GET /api/workspaces

Returns workspaces the authenticated user belongs to.

Response 200 OK

[
{
"id": "ws_abc123",
"name": "My Workspace",
"role": "owner",
"created_at": "2025-01-01T00:00:00Z"
}
]
POST /api/workspaces

Request body

{
"name": "My Team Workspace"
}
GET /api/workspaces/{id}
PUT /api/workspaces/{id}

Request body

{
"name": "Renamed Workspace",
"autonomous_enabled": true,
"weekly_budget_cents": 10000
}
DELETE /api/workspaces/{id}
GET /api/workspaces/{id}/members

Response 200 OK

[
{
"id": "mem_1",
"user_id": "user_abc",
"role": "owner",
"user": {
"name": "Alice",
"email": "alice@example.com",
"avatar_url": "https://..."
}
}
]
DELETE /api/workspaces/{id}/members
GET /api/workspaces/{id}/invitations
POST /api/workspaces/{id}/invitations

Request body

{
"email": "bob@example.com",
"role": "member"
}
GET /api/invitations/{id}
POST /api/invitations/{id}

Accepts the invitation and adds the user to the workspace.

DELETE /api/invitations/{id}
POST /api/attachments

Upload a file attachment for use in chat messages. Files are stored in Cloudflare R2.

GET /api/attachments?key=attachment-key

Retrieve an uploaded attachment by its storage key.

GET /api/settings
PUT /api/settings

Key-value store for user preferences.

GET /api/models

Returns the list of available AI models and their pricing.

GET /api/integrations

Returns connected third-party integrations and their status.