Skip to main content

List Projects

GET /api/projects
Returns all projects with basic info.
[
  {
    "id": 1,
    "name": "My App",
    "slug": "my-app",
    "workingDir": "/home/user/my-app",
    "createdAt": "2025-01-15T10:00:00Z"
  }
]

Get Project Summary

GET /api/projects/summary
Returns all projects with task counts per status. Useful for dashboard overview.

Get Project

GET /api/projects/:id
Returns a single project with full settings including permission mode, allowed tools, and queue configuration.

Create Project

POST /api/projects
Content-Type: application/json
{
  "name": "My App",
  "slug": "my-app",
  "workingDir": "/home/user/my-app",
  "permissionMode": "auto-accept",
  "allowedTools": [],
  "autoQueue": false,
  "maxConcurrent": 1
}
FieldRequiredDescription
nameYesProject display name
slugYesURL-safe identifier
workingDirYesAbsolute path to codebase
permissionModeNoauto-accept, allow-tools, default
allowedToolsNoArray of tool names (for allow-tools mode)
autoQueueNoEnable auto-queue
maxConcurrentNoMax concurrent agents (1–5)

Update Project

PUT /api/projects/:id
Content-Type: application/json
Accepts the same fields as Create. Only included fields are updated.

Delete Project

DELETE /api/projects/:id
Deleting a project removes all its tasks, logs, webhooks, snippets, and templates. This cannot be undone.