Skip to main content

Create Workspace

POST /workspaces
Authorization: Bearer ek_...

{
  "name": "My Startup",
  "slug": "my-startup"
}
Response
{
  "id": "ws_abc123",
  "name": "My Startup",
  "slug": "my-startup",
  "created_at": "2026-04-13T00:00:00Z"
}

List Workspaces

GET /workspaces
Authorization: Bearer ek_...
Returns all workspaces the authenticated user is a member of.

Get Workspace

GET /workspaces/:id
Authorization: Bearer ek_...

Update Workspace

PATCH /workspaces/:id
Authorization: Bearer ek_...

{
  "name": "New Name"
}

Members

List Members

GET /workspaces/:id/members
Authorization: Bearer ek_...

Add Member

POST /workspaces/:id/members
Authorization: Bearer ek_...

{
  "user_id": "usr_...",
  "role": "member"
}
Roles: owner, admin, member

Remove Member

DELETE /workspaces/:id/members/:userId
Authorization: Bearer ek_...

Member Detail

Full drill-down for a specific member: sessions, decisions, traces, work packages, file reservations.
GET /workspaces/:id/members/:userId/detail
Authorization: Bearer ek_...

File Reservations

List Reservations

GET /workspaces/:id/reservations
Authorization: Bearer ek_...
Response
[
  {
    "file_path": "src/auth/login.ts",
    "user_id": "usr_abc",
    "user_name": "Developer A",
    "conversation_id": "conv_xyz",
    "current_task": "Build JWT auth flow",
    "expires_at": "2026-04-13T10:35:00Z"
  }
]

Work Packages

List Packages

GET /workspaces/:id/packages
Authorization: Bearer ek_...
Query params:
  • status — filter by open, claimed, in_progress, completed
  • assignee — filter by user ID

Claim Package

POST /workspaces/:id/packages/:pid/claim
Authorization: Bearer ek_...

Update Package Status

PATCH /workspaces/:id/packages/:pid/status
Authorization: Bearer ek_...

{
  "status": "in_progress"
}

Knowledge Graph

Returns nodes and edges for the force-directed graph visualization.
GET /workspaces/:id/graph
Authorization: Bearer ek_...
Response
{
  "nodes": [
    { "id": "dec_abc", "type": "decision", "label": "Use JWT for auth" },
    { "id": "file_src/auth/login.ts", "type": "file", "label": "src/auth/login.ts" }
  ],
  "edges": [
    { "source": "dec_abc", "target": "file_src/auth/login.ts" }
  ]
}

Real-time Feed (SSE)

Server-Sent Events stream of agent activity.
GET /workspaces/:id/feed
Authorization: Bearer ek_...
Event types: agent_sync, decision_recorded, file_reserved, conflict_detected
data: {"type":"decision_recorded","decision":{"title":"Use JWT for auth"},"user":"Developer A"}

data: {"type":"file_reserved","file":"src/auth/login.ts","by":"Developer A"}