Tasks
The task system is a Kanban-style board for tracking work assigned to agents. Tasks move through defined statuses, can carry dependencies, and link to projects and agents.
Base path: /api/kanban-tasks
All endpoints require Authorization: Bearer <token>.
Task Statuses
| Status | Description |
|---|---|
backlog | Not yet assigned — waiting in the queue |
assigned | Assigned to an agent but not yet started |
in_progress | Agent is actively working on it |
qa_review | Work is done; waiting for QA validation |
up_for_review | Ready for human review |
done | Completed and accepted |
List Tasks
GET /api/kanban-tasksQuery parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status (see table above) |
priority | string | low, medium, high, critical |
assigned_agent | string | Filter by agent name |
project_id | string | Filter by project |
limit | number | Default 20, max 100 |
offset | number | Default 0 |
Response:
json
{
"success": true,
"data": [
{
"id": "tk_01J...",
"title": "Implement pagination for agents list",
"description": "Add limit/offset to GET /api/agents",
"status": "in_progress",
"priority": "high",
"assignedAgent": "backend-coder",
"projectId": "proj_01J...",
"dependsOn": [],
"createdAt": "2026-04-01T09:00:00Z",
"updatedAt": "2026-04-03T11:42:00Z"
}
],
"pagination": { "limit": 20, "offset": 0, "total": 38 }
}curl:
bash
curl "https://api.cortex.acrobi.com/api/kanban-tasks?status=in_progress&priority=high" \
-H "Authorization: Bearer <token>"Create Task
POST /api/kanban-tasksRequest body:
json
{
"title": "Add rate limiting to auth endpoints",
"description": "Apply 10 req/min limit to /api/auth/login and /api/auth/signup",
"status": "backlog",
"priority": "high",
"assignedAgent": "backend-coder",
"projectId": "proj_01J...",
"dependsOn": ["tk_01J...", "tk_02J..."]
}| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Short task title |
description | string | No | Detailed description or acceptance criteria |
status | string | No | Default backlog |
priority | string | No | low, medium (default), high, critical |
assignedAgent | string | No | Agent name to assign |
projectId | string | No | Project to associate |
dependsOn | string[] | No | Task IDs that must complete first |
Response: 201 Created
json
{
"success": true,
"data": {
"id": "tk_01J...",
"title": "Add rate limiting to auth endpoints",
"status": "backlog",
"priority": "high",
"createdAt": "2026-04-03T12:00:00Z"
}
}curl:
bash
curl -X POST "https://api.cortex.acrobi.com/api/kanban-tasks" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Add rate limiting to auth endpoints",
"priority": "high",
"assignedAgent": "backend-coder"
}'Get Task
GET /api/kanban-tasks/:idReturns full task detail including dependency states.
Response:
json
{
"success": true,
"data": {
"id": "tk_01J...",
"title": "Add rate limiting to auth endpoints",
"description": "Apply 10 req/min limit...",
"status": "assigned",
"priority": "high",
"assignedAgent": "backend-coder",
"projectId": "proj_01J...",
"dependsOn": [
{
"id": "tk_00J...",
"title": "Set up Redis connection",
"status": "done"
}
],
"blockedBy": [],
"createdAt": "2026-04-03T12:00:00Z",
"updatedAt": "2026-04-03T12:05:00Z"
}
}Update Task
PATCH /api/kanban-tasks/:idPartial update — include only the fields you want to change. Moving a task through statuses is done via this endpoint.
Request body:
json
{
"status": "qa_review",
"assignedAgent": "qa-tester"
}Response: 200 OK — returns updated task object.
curl:
bash
curl -X PATCH "https://api.cortex.acrobi.com/api/kanban-tasks/tk_01J..." \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"status": "qa_review", "assignedAgent": "qa-tester"}'Delete Task
DELETE /api/kanban-tasks/:idPermanently deletes the task.
Response:
json
{ "success": true }WARNING
Tasks with dependent tasks cannot be deleted until those dependencies are resolved or removed.