API Reference¶
All API endpoints require authentication via Bearer token in the Authorization header.
Missions¶
List missions¶
Create mission¶
{
"mission": {
"mission_id": "mission-001",
"goal": "Build authentication module",
"status": "planning"
}
}
Get mission¶
Update mission¶
Start mission¶
Starts the OTP process tree for a mission.
Pause mission¶
Stops the OTP process tree for a mission.
Tasks¶
Create task (under a mission)¶
Get task¶
Update task¶
Execute task¶
Dispatches a task to its assigned agent.
Report task progress¶
{
"progress": {
"status": "in_progress",
"outputs": { "files_changed": 3 },
"logs": [{ "message": "Tests passing", "timestamp": "2026-02-26T12:00:00Z" }]
}
}
Valid status values: pending, in_progress, blocked, pending_review, rejected, completed, failed
Status transitions are enforced by a state machine. Invalid transitions return 422.
Approve task¶
Transitions a task from pending_review to completed. Merges the associated GitHub PR if task.outputs.pr_url is set.
Reject task¶
Transitions a task from pending_review to rejected. Records reviewer feedback in the trace log.
Mission Agents¶
List agents on a mission¶
Add agent to mission¶
Remove agent from mission¶
Agents¶
List agents¶
Create agent¶
{
"agent": {
"agent_id": "claude-code-1",
"name": "Claude Code Agent",
"adapter_module": "claude_code",
"capabilities": ["coding", "testing"]
}
}
Get agent¶
Update agent¶
Report agent activity¶
Reports agent state changes. Agents are auto-registered on first activity report if not already known.
{
"event": "task_start",
"context": {
"task_id": "task-001",
"description": "Working on login endpoint"
}
}
Valid events: session_start, task_start, task_complete, blocked, completed, error, stop, waiting_for_input, heartbeat
Sprints¶
List sprints¶
Create sprint¶
{
"sprint": {
"sprint_id": "sprint-1",
"name": "Sprint 1",
"goal": "MVP features",
"start_date": "2026-02-24",
"end_date": "2026-03-07"
}
}
Get sprint¶
Update sprint¶
Policies¶
List policies¶
Create policy¶
{
"policy": {
"policy_id": "no-force-push",
"description": "Prevent force pushing to protected branches",
"scope": "global",
"conditions": { "action_type": "git_push", "force": true },
"actions": [{ "block": "Force push not allowed" }]
}
}
Get policy¶
Update policy¶
Traceability¶
List trace logs¶
Get mission trace¶
Replay mission trace¶
Knowledge Base¶
Store document¶
{
"title": "Architecture Decision Record",
"content": "We chose PostgreSQL because...",
"metadata": { "type": "adr" }
}
Get document¶
Semantic search¶
Objectives¶
List objectives¶
Create objective¶
{
"objective": {
"objective_id": "S1",
"title": "Generate Revenue",
"description": "AI-Native PM",
"priority": 1
}
}
Get objective¶
Update objective¶
List key results¶
Create key result¶
Requirements¶
List requirements¶
Create requirement¶
{
"requirement": {
"requirement_id": "AC-CORE-01",
"title": "Mission Coordination",
"priority": "p1",
"horizon": "h1"
}
}
Get requirement¶
Update requirement¶
Traceability Matrix¶
Get traceability matrix¶
Returns the full OKR→Requirement→Task tree with coverage statistics including total objectives, requirements, tasks, linked/unlinked task counts, and task coverage percentage.