HTTP API
The backend serves a JSON HTTP API under /api.
The web app and the agentic CLI both drive it.
There is no authentication, so expose it only on a trusted network.
Health
| Method |
Path |
Purpose |
GET |
/api/health |
Liveness check with the service name and status. |
Tasks
| Method |
Path |
Purpose |
GET |
/api/tasks |
List tasks. Accepts status, tag (repeatable, AND), and q. |
GET |
/api/tasks/deadlines |
Tasks with a deadline, overdue first, within a window. |
POST |
/api/tasks |
Create a task. |
POST |
/api/tasks/bulk |
Create or update several tasks at once. |
GET / PATCH / DELETE |
/api/tasks/{id} |
Read, update, and delete a task. |
POST |
/api/tasks/{id}/items |
Associate an item, by item_id or URL. |
DELETE |
/api/tasks/{id}/items/{item_id} |
Remove an association. |
GET |
/api/tasks/{id}/timeline |
The task's timeline events. |
GET / POST |
/api/tasks/{id}/dependencies |
List and add before/after dependency links. |
DELETE |
/api/tasks/{id}/dependencies/{related_id} |
Remove a dependency link. |
Worktrees, sessions, and runs
| Method |
Path |
Purpose |
GET / POST |
/api/tasks/{id}/worktrees |
List and create worktrees. |
DELETE |
/api/tasks/{id}/worktrees/{worktree_id} |
Remove a worktree. |
GET / POST |
/api/tasks/{id}/sessions |
List and record agent sessions. |
GET / PATCH / DELETE |
/api/tasks/{id}/sessions/{session_id} |
Read, update, and remove one recorded session. |
GET / POST |
/api/tasks/{id}/runs |
List runs and enqueue a run. |
POST |
/api/tasks/{id}/context/refresh |
Enqueue a context-refresh run. |
GET |
/api/tasks/{id}/context |
Preview the context a refresh would read. |
POST |
/api/tasks/{id}/summary/refresh |
Enqueue a summary-refresh run. |
GET |
/api/runs/{id} |
One run. |
GET |
/api/runs/{id}/events |
The run's recorded events. |
POST |
/api/runs/{id}/cancel |
Cancel a run. |
GET |
/api/runs/{id}/stream |
Server-sent events for the agent transcript. |
GET |
/api/tasks/{id}/stream |
Server-sent events for task changes. |
Stack
| Method |
Path |
Purpose |
GET / POST |
/api/stack |
List the focus queue and push a task onto it. |
GET |
/api/stack/history |
Soft-deleted entries. |
GET |
/api/stack/current |
The current task. |
POST |
/api/stack/pop |
Complete the current task and promote the next. |
POST |
/api/stack/reorder |
Move an entry. |
POST |
/api/stack/{id}/promote |
Make an entry current. |
PATCH / DELETE |
/api/stack/{id} |
Edit the task or remove the entry. |
Items, repositories, groups, and people
| Method |
Path |
Purpose |
GET / POST |
/api/items |
List and create source items. |
POST |
/api/items/refresh-due |
Run one refresh pass immediately. |
GET / PATCH / DELETE |
/api/items/{id} |
Read, update, and delete an item. |
POST |
/api/items/{id}/refresh |
Refresh one item now. |
GET |
/api/items/{id}/reviews |
List the review reports a pull request item has on disk. |
GET |
/api/items/{id}/reviews/{name} |
Read one review report. |
GET / POST |
/api/repositories |
List and create registered repositories. |
POST |
/api/repositories/bulk |
Add several repositories at once. |
GET / DELETE |
/api/repositories/{id} |
Read and remove a repository. |
GET / POST |
/api/groups |
List and create repository groups. |
GET / PATCH / DELETE |
/api/groups/{id} |
Read, update, and remove a group. |
GET / POST |
/api/people |
List and create people. |
GET / PATCH / DELETE |
/api/people/{id} |
Read, update, and remove a person. |
POST |
/api/people/{id}/merge |
Merge one person into another. |
GET |
/api/tags |
Tags in use, with counts. |
Review queue
| Method |
Path |
Purpose |
GET |
/api/reviews |
Every pull request with review reports in the store, with its review-step state (?refresh=true re-reads each PR's GitHub fields). |
GET |
/api/reviews/report/{number}/{name} |
Read one review report, by repository (owner/name) and its path. |
Scheduled tasks
| Method |
Path |
Purpose |
GET / POST |
/api/schedules |
List and create cron-scheduled shell tasks. Each has a timezone (IANA name); omitted means the server's zone. |
GET / PATCH / DELETE |
/api/schedules/{id} |
Read, update, and delete one scheduled task. |
POST |
/api/schedules/{id}/run |
Run one now, ignoring its schedule. |
GET |
/api/schedules/{id}/runs |
The task's run history, newest first. |
GET |
/api/schedules/runs |
Every task's executions, newest first. |
GET |
/api/schedules/runs/{id} |
One run, with its exit code and output. |
GET |
/api/schedules/preview |
The next runs of a cron expression in a timezone (query schedule, optional timezone), plus the zone used. |
Graph, Gantt, inbox, and operations
| Method |
Path |
Purpose |
GET |
/api/graph |
The whole before/after dependency DAG (nodes and edges). |
GET |
/api/gantt |
Tasks in flight, one marker per timeline event. |
GET |
/api/inbox |
Suggested next actions. |
GET |
/api/operations |
The provenance audit log. |
Changes and metrics
| Method |
Path |
Purpose |
GET / POST |
/api/changes |
List and record changes. |
GET / PATCH / DELETE |
/api/changes/{id} |
Read, update, and delete a change. |
POST |
/api/changes/{id}/status |
Move a change through its lifecycle. |
POST |
/api/changes/{id}/interventions |
Record a human touch. |
GET |
/api/metrics |
Autonomy rate and yield. |
GET |
/api/metrics/baselines |
List stored baselines. |
PUT / DELETE |
/api/metrics/baselines/{metric} |
Set or clear one metric's baseline. |
Harnesses, settings, and integrations
| Method |
Path |
Purpose |
GET |
/api/harnesses |
Harness availability and the default flag. |
GET |
/api/harnesses/full |
Full harness rows. |
POST |
/api/harnesses |
Create a harness. |
PATCH / DELETE |
/api/harnesses/{id} |
Update or remove a harness. |
GET / PATCH |
/api/settings |
Effective settings and overrides. |
POST |
/api/settings/refresh-policy/preview |
Preview a refresh policy's schedule. |
GET |
/api/github/issues |
Issue picker for import. |
POST |
/api/github/issues |
Create an issue from a title and body. |
GET |
/api/github/issue |
One issue by URL. |
GET |
/api/fs/list |
Server-side directory picker. |