[ { "method": "GET", "path": "/api/v1/agents", "description": "Returns all registered agents in the swarm.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "agents", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/agents", "description": "Registers a new agent in the swarm with its initial capabilities.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [], "tags": [ "agents", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/agents/:id", "description": "Removes an agent from the swarm registry.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/agents/:id", "description": "Returns a single agent by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "read" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/agents/:id", "description": "Fully replaces an agent record with the provided payload.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/agents/:id/capabilities", "description": "Adds a named capability to the specified agent's capability set.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/agents/:id/capabilities/:capability", "description": "Removes a named capability from the specified agent.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" }, { "name": "capability", "kind": "string", "constraint": "required", "description": "Capability name" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/agents/:id/health", "description": "Probes an agent's health and returns liveness status.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "health", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/agents/:id/skills", "description": "Adds a named skill to the specified agent's skill set.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/agents/:id/status", "description": "Transitions an agent to a new lifecycle status and fires inactivity notifications.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" } ], "tags": [ "agents", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/agents/available", "description": "Returns agents currently available to accept new task assignments.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "agents", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/agent/:id", "description": "Returns performance metrics for a specific agent over the requested period.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Agent identifier" }, { "name": "period", "kind": "string", "constraint": "optional", "description": "Time period (hour/day/week/month/all)" } ], "tags": [ "analytics", "agents", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/cost-report", "description": "Returns a cost efficiency report with per-provider and per-task-type breakdown.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "period", "kind": "string", "constraint": "optional", "description": "Time period (hour/day/week/month/all)" } ], "tags": [ "analytics", "cost", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/dashboard", "description": "Returns aggregated system-wide dashboard metrics for the requested period.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "period", "kind": "string", "constraint": "optional", "description": "Time period (hour/day/week/month/all)" } ], "tags": [ "analytics", "dashboard", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/providers", "description": "Returns cost breakdown grouped by LLM provider with percentage share.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [], "tags": [ "analytics", "providers", "cost", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/providers/:provider", "description": "Returns detailed cost and success-rate analytics for a single LLM provider.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "provider", "kind": "string", "constraint": "required", "description": "Provider name (e.g. openai, anthropic)" } ], "tags": [ "analytics", "providers", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/providers/:provider/forecast", "description": "Returns weekly and monthly cost forecast for a provider based on recent usage trend.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "provider", "kind": "string", "constraint": "required", "description": "Provider name (e.g. openai, anthropic)" } ], "tags": [ "analytics", "providers", "cost", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/providers/:provider/tasks/:task_type", "description": "Returns a provider's performance metrics scoped to a specific task type.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "provider", "kind": "string", "constraint": "required", "description": "Provider name" }, { "name": "task_type", "kind": "string", "constraint": "required", "description": "Task type name" } ], "tags": [ "analytics", "providers", "tasks", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/providers/efficiency", "description": "Returns providers ranked by efficiency ratio combining quality and cost scores.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [], "tags": [ "analytics", "providers", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/summary", "description": "Returns a combined analytics summary covering dashboard metrics and cost report.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "period", "kind": "string", "constraint": "optional", "description": "Time period (hour/day/week/month/all)" } ], "tags": [ "analytics", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/analytics/task-types/:task_type", "description": "Returns aggregate analytics for a specific task type over the requested period.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "task_type", "kind": "string", "constraint": "required", "description": "Task type name" }, { "name": "period", "kind": "string", "constraint": "optional", "description": "Time period (hour/day/week/month/all)" } ], "tags": [ "analytics", "tasks", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/channels", "description": "Returns the names of all registered notification channels.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [], "tags": [ "channels", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/channels/:name/test", "description": "Sends a test message through the named notification channel to verify connectivity.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "name", "kind": "string", "constraint": "required", "description": "Channel name" } ], "tags": [ "channels", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/projects", "description": "Returns all projects visible to the authenticated tenant.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "projects", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/projects", "description": "Creates a new project under the authenticated tenant.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [], "tags": [ "projects", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/projects/:id", "description": "Permanently removes a project and all its associated data.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" } ], "tags": [ "projects", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/projects/:id", "description": "Returns a single project by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" } ], "tags": [ "projects", "read" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/projects/:id", "description": "Fully replaces a project record with the provided payload.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" } ], "tags": [ "projects", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/projects/:id/archive", "description": "Marks the project as archived, making it read-only.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" } ], "tags": [ "projects", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/projects/:id/features", "description": "Adds a named feature flag to the specified project.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" } ], "tags": [ "projects", "features", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/projects/:id/features/:feature", "description": "Removes a named feature flag from the specified project.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Project identifier" }, { "name": "feature", "kind": "string", "constraint": "required", "description": "Feature name" } ], "tags": [ "projects", "features", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/proposals", "description": "Returns proposals for a project, optionally filtered by status.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "project_id", "kind": "string", "constraint": "required", "description": "Parent project identifier" }, { "name": "status", "kind": "string", "constraint": "optional", "description": "Filter by proposal status" } ], "tags": [ "proposals", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/proposals", "description": "Creates a new change proposal with risk level and execution plan.", "auth": "bearer", "actors": [ "agent", "developer", "admin" ], "params": [], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/proposals/:id", "description": "Permanently removes a proposal by its identifier.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/proposals/:id", "description": "Returns a single proposal by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "read" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/proposals/:id", "description": "Fully replaces a proposal record with the provided payload.", "auth": "bearer", "actors": [ "agent", "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/proposals/:id/approve", "description": "Approves a submitted proposal and fires approval notifications.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/proposals/:id/executed", "description": "Marks an approved proposal as executed after the change has been applied.", "auth": "bearer", "actors": [ "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/proposals/:id/reject", "description": "Rejects a submitted proposal and fires rejection notifications.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/proposals/:id/reviews", "description": "Returns all reviews attached to the specified proposal.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "reviews", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/proposals/:id/reviews", "description": "Adds a reviewer decision (approve/reject with feedback) to a proposal.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "reviews", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/proposals/:id/submit", "description": "Submits a draft proposal into the approval workflow.", "auth": "bearer", "actors": [ "agent", "developer" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Proposal identifier" } ], "tags": [ "proposals", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/rlm/analyze", "description": "Dispatches a query against retrieved chunks to an LLM and returns the synthesized response.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [], "tags": [ "rlm", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/rlm/documents", "description": "Loads, scans, and chunks a document into the RLM index for subsequent queries.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [], "tags": [ "rlm", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/rlm/query", "description": "Retrieves relevant document chunks using BM25 and semantic hybrid search.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [], "tags": [ "rlm", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/schedules", "description": "Returns all scheduled workflows with their cron expressions and next fire times.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "schedules", "read" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/schedules/:id", "description": "Permanently removes a scheduled workflow and its run history.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/schedules/:id", "description": "Returns a single scheduled workflow by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "read" ], "feature": "" }, { "method": "PATCH", "path": "/api/v1/schedules/:id", "description": "Partially updates a schedule; recomputes next_fire_at if cron_expression changes.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/schedules/:id", "description": "Creates or fully replaces a scheduled workflow, validating cron and timezone.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/schedules/:id/fire", "description": "Manually fires a scheduled workflow immediately, bypassing the cron timer.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/schedules/:id/runs", "description": "Returns the execution run history for a scheduled workflow (last 100, descending).", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Schedule identifier" } ], "tags": [ "schedules", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/swarm/health", "description": "Returns the overall health status of the swarm based on agent availability.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "swarm", "health", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/swarm/stats", "description": "Returns live swarm statistics including agent counts, average load, and active tasks.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "swarm", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/tasks", "description": "Returns tasks for a project, optionally filtered by status or assignee.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "project_id", "kind": "string", "constraint": "required", "description": "Parent project identifier" }, { "name": "status", "kind": "string", "constraint": "optional", "description": "Filter by task status" }, { "name": "assignee", "kind": "string", "constraint": "optional", "description": "Filter by assignee" } ], "tags": [ "tasks", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/tasks", "description": "Creates a new task, scanning input for prompt-injection before persisting.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "DELETE", "path": "/api/v1/tasks/:id", "description": "Permanently removes a task by its identifier.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/tasks/:id", "description": "Returns a single task by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "read" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/tasks/:id", "description": "Fully replaces a task record after prompt-injection scan.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/tasks/:id/assign", "description": "Assigns a task to the specified agent or user.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/tasks/:id/priority", "description": "Updates the priority level of the specified task.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/tasks/:id/reorder", "description": "Updates a task's board position and optionally its status for Kanban drag-and-drop.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "PUT", "path": "/api/v1/tasks/:id/status", "description": "Transitions a task to a new status and triggers notifications on completion.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Task identifier" } ], "tags": [ "tasks", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/tracking/entries", "description": "Returns tracked change log entries with optional project, source, and limit filters.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "project", "kind": "string", "constraint": "optional", "description": "Filter by project path" }, { "name": "source", "kind": "string", "constraint": "optional", "description": "Filter by source type" }, { "name": "limit", "kind": "string", "constraint": "optional", "description": "Maximum number of results" } ], "tags": [ "tracking", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/tracking/health", "description": "Returns liveness status of the tracking service.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "tracking", "health", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/tracking/summary", "description": "Returns aggregate statistics for tracked entries including change and TODO counts.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "tracking", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflow_orchestrator", "description": "Returns all active and completed workflow instances managed by the orchestrator.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "workflow_orchestrator", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflow_orchestrator", "description": "Starts a new multi-stage orchestrated workflow from a named template.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [], "tags": [ "workflow_orchestrator", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflow_orchestrator/:id", "description": "Returns the current state and stage of a specific orchestrated workflow instance.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow instance identifier" } ], "tags": [ "workflow_orchestrator", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflow_orchestrator/:id/approve", "description": "Approves the current pending stage of an orchestrated workflow, unblocking execution.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow instance identifier" } ], "tags": [ "workflow_orchestrator", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflow_orchestrator/:id/cancel", "description": "Cancels a running or approval-pending orchestrated workflow with a reason.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow instance identifier" } ], "tags": [ "workflow_orchestrator", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflow_orchestrator/templates", "description": "Returns the names of all registered workflow templates available for instantiation.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "workflow_orchestrator", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflows", "description": "Returns all workflow definitions stored in the workflow service.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "workflows", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflows", "description": "Parses a YAML workflow definition and persists it to the workflow service.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [], "tags": [ "workflows", "write" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflows/:id", "description": "Returns a single workflow definition by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow identifier" } ], "tags": [ "workflows", "read" ], "feature": "" }, { "method": "GET", "path": "/api/v1/workflows/:id/audit", "description": "Returns the full audit trail of state transitions for a workflow instance.", "auth": "bearer", "actors": [ "developer", "ci", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow identifier" } ], "tags": [ "workflows", "audit", "read" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflows/:id/execute", "description": "Triggers execution of a stored workflow by its identifier.", "auth": "bearer", "actors": [ "developer", "agent", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow identifier" } ], "tags": [ "workflows", "write" ], "feature": "" }, { "method": "POST", "path": "/api/v1/workflows/:id/rollback", "description": "Rolls back a failed or partially executed workflow to its previous state.", "auth": "bearer", "actors": [ "developer", "admin" ], "params": [ { "name": "id", "kind": "string", "constraint": "required", "description": "Workflow identifier" } ], "tags": [ "workflows", "write" ], "feature": "" }, { "method": "GET", "path": "/health", "description": "Returns current server liveness status and build version.", "auth": "none", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "health", "system" ], "feature": "" }, { "method": "GET", "path": "/metrics", "description": "Exposes Prometheus metrics for scraping in text/plain format.", "auth": "none", "actors": [ "developer", "agent", "ci", "admin" ], "params": [], "tags": [ "metrics", "observability" ], "feature": "" } ]