Skip to content

Dashboard REST API โ€‹

Quick Reference

  • Base URL: http://codymaster.localhost:48120
  • Format: JSON
  • Auth: None (local only)

Project API โ€‹

GET /api/projects โ€‹

List all projects with enriched data.

Response:

json
[
  {
    "id": "uuid",
    "name": "My Project",
    "path": "/path/to/project",
    "agents": ["antigravity"],
    "createdAt": "2026-03-20T10:00:00Z",
    "taskCount": 5,
    "doneCount": 2,
    "activeAgents": ["antigravity"]
  }
]

POST /api/projects โ€‹

Create a new project.

Request:

json
{
  "name": "My Project",
  "path": "/path/to/project",
  "agents": ["antigravity", "claude"]
}

PUT /api/projects/:id โ€‹

Update a project's name, path, or agents.

DELETE /api/projects/:id โ€‹

Delete a project and all its tasks.


Task API โ€‹

GET /api/tasks โ€‹

List tasks. Optional query: ?projectId=uuid

POST /api/tasks โ€‹

Create a new task.

Request:

json
{
  "title": "Fix login bug",
  "description": "Users can't login with Google OAuth",
  "column": "backlog",
  "priority": "high",
  "projectId": "uuid",
  "agent": "antigravity",
  "skill": "cm-debugging"
}

POST /api/tasks/sync โ€‹

Bulk-import tasks from an external source.

Request:

json
{
  "projectId": "uuid",
  "projectName": "My Project",
  "agent": "antigravity",
  "skill": "cm-execution",
  "tasks": [
    { "title": "Task 1", "priority": "high" },
    { "title": "Task 2", "column": "in-progress" }
  ]
}

PUT /api/tasks/:id โ€‹

Update task properties (title, description, priority, agent, skill).

PUT /api/tasks/:id/move โ€‹

Move task to a different column with ordering.

Request:

json
{
  "column": "in-progress",
  "order": 0
}

POST /api/tasks/:id/transition โ€‹

Validated state transition with reason tracking.

Request:

json
{
  "column": "review",
  "reason": "Code complete, needs review"
}

Error (invalid transition):

json
{
  "error": "Invalid transition: backlog โ†’ done. Allowed: in-progress",
  "errorCode": "INVALID_TRANSITION",
  "allowed": ["in-progress"]
}

POST /api/tasks/bulk-transition โ€‹

Transition multiple tasks at once.

Request:

json
{
  "taskIds": ["uuid1", "uuid2"],
  "column": "done",
  "reason": "Sprint complete"
}

GET /api/tasks/stuck โ€‹

Get tasks stuck in in-progress beyond threshold.

Query: ?threshold=1800000 (ms, default 30 minutes)

POST /api/tasks/:id/dispatch โ€‹

Dispatch a task to an AI agent. Validates preconditions and generates dispatch files.

Response (success):

json
{
  "success": true,
  "task": { ... },
  "filePath": "/path/to/dispatch-file.md",
  "prompt": "Task prompt text",
  "cliCommand": "cm task dispatch <id>"
}

DELETE /api/tasks/:id โ€‹

Delete a task.


Judge API โ€‹

GET /api/judge โ€‹

Evaluate all tasks' health. Optional: ?projectId=uuid

GET /api/judge/:taskId โ€‹

Evaluate a single task.

GET /api/judge/suggestions โ€‹

Get transition suggestions for all tasks.

GET /api/agents/suggest โ€‹

Suggest best agents for a skill. Query: ?skill=cm-tdd

GET /api/agents/suggest/:taskId โ€‹

Suggest agents for a specific task.


Working Memory API โ€‹

GET /api/continuity โ€‹

Get working memory status for all projects.

GET /api/continuity/:projectId โ€‹

Get detailed memory for a project.

POST /api/continuity/:projectId โ€‹

Update working memory state.

POST /api/continuity/:projectId/init โ€‹

Initialize working memory for a project.

GET /api/learnings/:projectId โ€‹

List all captured learnings.

POST /api/learnings/:projectId โ€‹

Add a new learning.

Request:

json
{
  "whatFailed": "Used wrong API endpoint",
  "whyFailed": "Documentation was outdated",
  "howToPrevent": "Always verify against OpenAPI spec",
  "agent": "antigravity",
  "taskId": "uuid"
}

GET /api/decisions/:projectId โ€‹

List all architecture decisions.

POST /api/decisions/:projectId โ€‹

Record a new decision.

Request:

json
{
  "decision": "Use Supabase for auth",
  "rationale": "RLS, real-time, PostgreSQL",
  "agent": "antigravity"
}

Deployment API โ€‹

GET /api/deployments โ€‹

List deployments. Optional: ?projectId=uuid

POST /api/deployments โ€‹

Record a new deployment.

Request:

json
{
  "projectId": "uuid",
  "env": "staging",
  "commit": "abc123",
  "branch": "main",
  "agent": "antigravity",
  "message": "Fix login flow"
}

PUT /api/deployments/:id/status โ€‹

Update deployment status.

POST /api/deployments/:id/rollback โ€‹

Roll back a deployment.


Chain API โ€‹

GET /api/chains โ€‹

List available skill chains.

GET /api/chains/:id โ€‹

Get chain details.

GET /api/chains/suggest/:title โ€‹

Auto-match a title to the best chain.

GET /api/chain-executions โ€‹

List chain executions. Optional: ?status=running&projectId=uuid

POST /api/chain-executions โ€‹

Start a new chain execution.

Request:

json
{
  "chainId": "feature",
  "taskTitle": "Add user authentication",
  "projectId": "uuid",
  "agent": "antigravity"
}

PUT /api/chain-executions/:id/advance โ€‹

Advance to the next chain step.

PUT /api/chain-executions/:id/skip โ€‹

Skip the current step.

PUT /api/chain-executions/:id/abort โ€‹

Abort a chain execution.


Activity & Changelog API โ€‹

GET /api/activities โ€‹

List activities. Optional: ?projectId=uuid&limit=50

GET /api/changelog โ€‹

List changelog entries. Optional: ?projectId=uuid

POST /api/changelog โ€‹

Add a changelog entry.

Request:

json
{
  "projectId": "uuid",
  "version": "2.1.0",
  "title": "Authentication Overhaul",
  "changes": ["Added OAuth support", "Fixed session handling"],
  "agent": "antigravity"
}

Open Source AI Agent Skills Framework