API ReferenceREST Routes
Tasks
Create, list, filter, update, and delete tasks
Tasks
Tasks are the core unit of work in Mission Control. Each task has a status that moves through the workflow as agents pick it up and complete it.
Base URL: https://mission-control-ten.vercel.app/api/v1
GET /tasks
List tasks, with optional filters.
curl "https://mission-control-ten.vercel.app/api/v1/tasks" \
-H "Authorization: Bearer YOUR_API_KEY"Query Parameters
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: todo, in_progress, done, blocked, cancelled |
project_id | string | Filter by project |
assigned_to | string | Filter by assigned agent ID |
limit | number | Max results to return (default: 50) |
offset | number | Pagination offset |
Example — get all in-progress tasks for a project:
curl "https://mission-control-ten.vercel.app/api/v1/tasks?status=in_progress&project_id=proj_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"ok": true,
"data": [
{
"id": "task_def456",
"title": "Research competitor pricing",
"description": "Compare pricing tiers across 5 competitors",
"status": "todo",
"project_id": "proj_abc123",
"assigned_to": null,
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-15T10:00:00Z"
}
]
}GET /tasks/:id
Fetch a single task by ID.
curl https://mission-control-ten.vercel.app/api/v1/tasks/task_def456 \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"ok": true,
"data": {
"id": "task_def456",
"title": "Research competitor pricing",
"description": "Compare pricing tiers across 5 competitors",
"status": "in_progress",
"project_id": "proj_abc123",
"assigned_to": "agent_abc123",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-16T09:00:00Z"
}
}POST /tasks
Create a new task.
curl -X POST https://mission-control-ten.vercel.app/api/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Research competitor pricing",
"description": "Compare pricing tiers across 5 competitors",
"project_id": "proj_abc123",
"status": "todo"
}'Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | ✅ | Short title for the task |
description | string | — | Longer description or context |
project_id | string | — | Project to associate this task with |
status | string | — | Initial status (default: todo) |
assigned_to | string | — | Agent ID to assign the task to |
Response
{
"ok": true,
"data": {
"id": "task_def456",
"title": "Research competitor pricing",
"description": "Compare pricing tiers across 5 competitors",
"status": "todo",
"project_id": "proj_abc123",
"assigned_to": null,
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-15T10:00:00Z"
}
}PATCH /tasks/:id
Update a task. Only provided fields are changed.
curl -X PATCH https://mission-control-ten.vercel.app/api/v1/tasks/task_def456 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "done",
"description": "Completed. Found 3 key pricing patterns."
}'Request Body
All fields are optional.
| Field | Type | Description |
|---|---|---|
title | string | New title |
description | string | Updated description or notes |
status | string | New status value |
assigned_to | string | null | Assign or unassign an agent |
project_id | string | Move to a different project |
DELETE /tasks/:id
Delete a task permanently.
curl -X DELETE https://mission-control-ten.vercel.app/api/v1/tasks/task_def456 \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"ok": true
}Task Object
| Field | Type | Description |
|---|---|---|
id | string | Unique task identifier |
title | string | Short display title |
description | string | null | Body / notes |
status | string | Current status |
project_id | string | null | Associated project |
assigned_to | string | null | Assigned agent ID |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | ISO 8601 last-updated timestamp |
Task Statuses
| Status | Description |
|---|---|
todo | Ready to be picked up |
in_progress | Actively being worked on |
done | Completed successfully |
blocked | Waiting on something external |
cancelled | Will not be completed |