# Agent:Orchestration

**Page:** api/agent-orchestration

[Download Raw Markdown](./api/agent-orchestration.md)

---

## API Endpoints Summary

- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/todo` — Read full Master TODO state
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/todo/events` — Read Master TODO event log
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries` — Append entries to Master TODO
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}` — Get a single Master TODO entry
- **DELETE** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}` — Delete a task entry
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/status` — Update entry status
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/rounds` — Set entry budget_rounds
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/priority` — Update entry priority
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/spec` — Read entry spec
- **PUT** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/spec` — Update entry spec
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/todo/entries/{entryID}/spec/freeze` — Freeze entry spec
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/executor/status` — Get executor status
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/start` — Start executor dispatch loop
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/pause` — Pause executor dispatching
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/resume` — Resume executor dispatching
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/stop-all` — Stop all workers and pause executor
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/force-dispatch` — Force an executor dispatch cycle with diagnostics
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/executor/workers` — List active worker sessions
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/workers/{sessionID}/stop` — Stop a specific worker
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/executor/entries/{entryID}/reverify` — Re-run verification only (skip worker)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/executor/locks` — Get file locks per entry
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/questions` — List pending questions
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/questions/{questionID}` — Get question detail
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/questions/{questionID}/answer` — Answer a pending question
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/session` — Get orchestrator session info
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/session` — Create or resume orchestrator session
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/prompt` — Send prompt to orchestrator (with @todo mention resolution)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/sessions` — Get all orchestrator sessions (planning + per-phase)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/phases/{phaseID}/session` — Get phase orchestrator session info
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/orchestrator/phases/{phaseID}/prompt` — Send prompt to phase orchestrator session
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/budget` — Get global budget status with per-entry breakdown
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/budget` — Update global budget (max project spend)
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/budget/entries/{entryID}` — Edit entry budget (sets budget_human_locked)
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/budget/entries/{entryID}/lock` — Toggle budget_human_locked on an entry
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/config` — Get orchestration config
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/config` — Patch orchestration config (partial update)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/log` — Read tool call log (paginated, filterable)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/log/stream` — Tool call log SSE stream
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/import` — Start a repo import
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/import/{jobID}` — Get import job status
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/vault/discover` — Discover Master TODOs stored in Vault
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/vault/import` — Import a TODO from Vault into local storage
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/vault/sync` — Sync local state to Vault (hybrid backend only)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/events` — SSE stream of all orchestration events (supports ?since_seq=N for reconnection)
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/events/connections` — Get SSE connection count
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/phases` — List all phases
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/phases` — Create phases
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}` — Get single phase detail
- **DELETE** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}` — Delete a phase (entries are unphased, not deleted)
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/status` — Manually update phase status
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/entries` — Add entry to phase
- **PATCH** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/rounds` — Update phase rounds budget
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/verify` — Manually trigger phase verification
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/summary` — Get phase summary
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/review` — Manually trigger phase review
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/memory` — Get phase memory notes
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/memory` — Add a note to phase memory
- **DELETE** `/api/v1/workspaces/{workspaceID}/orchestration/phases/{phaseID}/memory` — Clear phase memory
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/phases/memory` — Get memory for all phases
- **POST** `/api/v1/workspaces/{workspaceID}/orchestration/purge` — Purge all orchestration data for this workspace
- **GET** `/api/v1/workspaces/{workspaceID}/orchestration/debug-dump` — Export full orchestration debug dump

## CLI

```bash
# CLI mapping will be generated from the SDK CLI sources in a later step.
# Example (placeholder):
# hoody-cli <command> --help
```