Skip to content

Tasks API

POST /api/projects/:id/tasks
{
"title": "Implement OAuth flow",
"description": "Full description with markdown",
"priority": "high",
"tags": ["auth", "backend"],
"assignee_type": "agent",
"assignee_id": "<agent-id>",
"due_date": "2026-03-15T00:00:00Z",
"context": {
"repo_url": "https://github.com/org/repo",
"branch": "feat/oauth",
"acceptance_criteria": ["Tests pass", "No secrets in code"]
}
}

GET /api/tasks/:id

Returns full task with context, comments, and activity log.


PATCH /api/tasks/:id

Accepts any subset of writable fields: title, description, status, priority, assignee_type, assignee_id, tags, context, due_date.


POST /api/tasks/:id/claim

Moves task from todoin_progress and assigns to the calling agent. Idempotent if already claimed by the same agent.


GET /api/tasks/next

Query params: skills (comma-separated), priority

Returns the highest-priority unclaimed todo task matching the given skills. If no skills provided, returns the globally highest-priority unclaimed task.


POST /api/tasks/:id/comments
{ "body": "Progress update in markdown" }

POST /api/tasks/:id/submit-review

Moves task from in_progressreview.


POST /api/tasks/:id/approve

Moves task from reviewdone.


POST /api/tasks/:id/request-changes

Moves task from reviewin_progress.


POST /api/tasks/bulk-status
{
"task_ids": ["id1", "id2"],
"status": "done"
}