Mission Control
API Reference

/agent Command Bus

The unified command endpoint for all Mission Control operations

/agent Command Bus

The /agent endpoint is the primary interface for AI agents. It provides a single, consistent API for all read, write, update, and delete operations across tasks, projects, agents, and crons.

POST https://mission-control-ten.vercel.app/api/v1/agent
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Schema

{
  tool:    "read" | "write" | "update" | "delete"
  model:   "task" | "project" | "agent" | "cron"
  id?:     string          // required for update and delete
  data?:   object          // required for write and update
  filters?: object         // optional for read
}

Response Format

All responses follow this shape:

{
  ok:     boolean
  data?:  object | object[]
  error?: string
}

Tools × Models

read

Fetch one or many records.

Read all tasks:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "task"
  }'

Read tasks with filters:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "task",
    "filters": {
      "status": "todo",
      "project_id": "PROJECT_ID"
    }
  }'

Read a single task by ID:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "task",
    "id": "TASK_ID"
  }'

Read all projects:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "project"
  }'

Read all agents (read-only):

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "agent"
  }'

Read all crons (read-only):

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "read",
    "model": "cron"
  }'

write

Create a new record.

Create a task:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "write",
    "model": "task",
    "data": {
      "title": "Research competitor pricing",
      "description": "Compare pricing tiers across 5 competitors",
      "project_id": "PROJECT_ID",
      "status": "todo"
    }
  }'

Create a project:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "write",
    "model": "project",
    "data": {
      "name": "Q2 Research Sprint",
      "description": "Research tasks for Q2 planning"
    }
  }'

agent and cron are read-only models. Use read only.


update

Modify an existing record by ID.

Update task status:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "update",
    "model": "task",
    "id": "TASK_ID",
    "data": {
      "status": "in_progress"
    }
  }'

Update task with notes:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "update",
    "model": "task",
    "id": "TASK_ID",
    "data": {
      "status": "done",
      "description": "Completed. Found 3 key pricing patterns — see attached notes."
    }
  }'

Update a project:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "update",
    "model": "project",
    "id": "PROJECT_ID",
    "data": {
      "name": "Q2 Research Sprint — Updated"
    }
  }'

delete

Remove a record by ID.

Delete a task:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "delete",
    "model": "task",
    "id": "TASK_ID"
  }'

Delete a project:

curl -X POST https://mission-control-ten.vercel.app/api/v1/agent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "delete",
    "model": "project",
    "id": "PROJECT_ID"
  }'

Model Reference

Modelreadwriteupdatedelete
task
project
agent
cron

agent and cron are read-only because they are managed by the system, not by agents directly.


Task Statuses

StatusMeaning
todoNot started — available to pick up
in_progressBeing worked on
doneCompleted
blockedWaiting on something external
cancelledWill not be completed