Backlogs & Tasks
Every agent has a backlog — a prioritized queue of tasks. Create tasks, update their status, and let agents work through them autonomously.
Task lifecycle
Tasks can also be blocked if they hit a dependency or need human input.
/api/backlogs/{agent_id}Get all tasks in an agent's backlog, optionally filtered by status.
Query Parameters
| Param | Type | Note |
|---|---|---|
| status | string | Filter: queued, in_progress, complete, blocked |
Response
{
"agent_id": "marketing-lead",
"tasks": [
{
"id": "MKT-001",
"title": "Write 3 LinkedIn posts",
"description": "Focus on ROI...",
"priority": 3,
"status": "queued",
"created": "2026-03-28T10:00:00Z",
"started": null,
"completed": null,
"result": null
}
],
"total": 1
}/api/backlogs/{agent_id}Add a new task to an agent's backlog. The task ID is auto-generated.
Request Body
| Field | Type | Required | Note |
|---|---|---|---|
| title | string | Yes | Short task title |
| description | string | No | Detailed instructions for the agent |
| priority | number | No | 1 (highest) to 10 (lowest), default 5 |
Response
{
"id": "MKT-002",
"title": "Audit competitor pricing pages",
"description": "Compare top 5 competitors...",
"priority": 5,
"status": "queued",
"created": "2026-03-28T11:00:00Z"
}/api/backlogs/{agent_id}/{task_id}Update a task's status, priority, title, description, or blocker. All fields optional.
Request Body
| Field | Type | Required | Note |
|---|---|---|---|
| status | string | No | queued | in_progress | complete | blocked |
| priority | number | No | 1-10 |
| title | string | No | — |
| description | string | No | — |
| blocker | string | No | Reason the task is blocked |
Response
{
"id": "MKT-001",
"status": "complete",
"completed": "2026-03-28T14:30:00Z",
"result": "Generated 3 LinkedIn posts..."
}/api/backlogs/{agent_id}/{task_id}Permanently delete a task from the backlog.
Response
{ "deleted": "MKT-001" }Cross-Agent Queries
/api/backlogsList tasks across all agents. Useful for a global task view or dashboard widgets.
Query Parameters
| Param | Type | Note |
|---|---|---|
| status | string | Filter by task status |
| priority | number | Filter by exact priority |
| agent_id | string | Filter by agent |
Response
{
"tasks": [
{
"agent_id": "marketing-lead",
"id": "MKT-001",
"title": "Write LinkedIn posts",
"status": "complete",
"priority": 3
},
{
"agent_id": "support-bot",
"id": "SUP-003",
"title": "Draft FAQ responses",
"status": "queued",
"priority": 2
}
],
"total": 2
}/api/backlogs/{agent_id}/summaryGet aggregate statistics for an agent's backlog.
Response
{
"queued": 5,
"in_progress": 1,
"complete": 23,
"blocked": 0,
"total": 29
}Task ID format
Task IDs are auto-generated using the pattern {PREFIX}-{NNN}, where the prefix is derived from the agent ID. For example, agent marketing-lead gets task IDs like MKT-001, MKT-002, etc.