List 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
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
}
| Field | Required | Description |
|---|
name | Yes | Project display name |
slug | Yes | URL-safe identifier |
workingDir | Yes | Absolute path to codebase |
permissionMode | No | auto-accept, allow-tools, default |
allowedTools | No | Array of tool names (for allow-tools mode) |
autoQueue | No | Enable auto-queue |
maxConcurrent | No | Max 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
Deleting a project removes all its tasks, logs, webhooks, snippets, and templates. This cannot be undone.