Skip to main content

Routa.js — Product Feature Specification

Multi-agent coordination platform. This document is auto-generated from:

  • Frontend routes: src/app/**/page.tsx
  • Contract API: api-contract.yaml
  • Next.js API routes: src/app/api/**/route.ts
  • Rust API routes: crates/routa-server/src/api/**/*.rs
  • Feature metadata: feature_metadata frontmatter in this file (source_files regenerated)

Frontend Pages

PageRouteSource FileDescription
Home/src/app/page.tsxWorkspace-first landing page for selecting a workspace, connecting providers, an
A2A Protocol Test Page/a2asrc/app/a2a/page.tsxInteractive testing interface for the Agent-to-Agent (A2A) protocol
AG-UI Protocol Test Page/ag-uisrc/app/ag-ui/page.tsxStandalone page for testing AG-UI protocol integration
Canvas/canvas/:idsrc/app/canvas/[id]/page.tsxViewer page for opening a saved canvas artifact by ID, including static-export p
Debug / Acp Replay/debug/acp-replaysrc/app/debug/acp-replay/page.tsxDebug surface for replaying ACP transcripts and inspecting session event sequenc
Mcp Tools/mcp-toolssrc/app/mcp-tools/page.tsxShortcut route that redirects to the MCP tools settings experience for browsing
Messages Page - Notification & PR Agent Execution History/messagessrc/app/messages/page.tsxShows: - All notifications with filtering - PR Agent execution history from back
Settings Page/settingssrc/app/settings/page.tsxProvides a full-page UI for all Routa settings: - Providers (default agent provi
Settings / Agents/settings/agentssrc/app/settings/agents/page.tsxSettings page for installing, discovering, and managing ACP-compatible agent run
Settings / Fitness/settings/fitnesssrc/app/settings/fitness/page.tsxCompatibility route that forwards fitness configuration requests to the fluency
Settings / Fluency/settings/fluencysrc/app/settings/fluency/page.tsxSettings page for repository fluency analysis, fitness snapshots, and harnessabi
Settings / Harness/settings/harnesssrc/app/settings/harness/page.tsxSettings entry for the harness console, including repository signals, design dec
Settings / Mcp/settings/mcpsrc/app/settings/mcp/page.tsxSettings page for managing MCP servers, tools, and transport-level configuration
Settings / Schedules/settings/schedulessrc/app/settings/schedules/page.tsxWorkspace-aware schedule management page for triggers, recurring runs, and sched
Settings / Specialists/settings/specialistssrc/app/settings/specialists/page.tsxSettings page for configuring specialist personas, bindings, and model-aware spe
Settings / Webhooks/settings/webhookssrc/app/settings/webhooks/page.tsxSettings page for configuring GitHub webhook ingestion and inspecting the webhoo
Settings / Workflows/settings/workflowssrc/app/settings/workflows/page.tsxSettings page for defining reusable workflows and reviewing workflow-focused exe
Trace Page/tracessrc/app/traces/page.tsxFull-page view for browsing and analyzing Agent Trace records
Workspace Page (Server Component Wrapper)/workspace/:workspaceIdsrc/app/workspace/[workspaceId]/page.tsxThis server component provides generateStaticParams for static export and redire
Codebases / Reposlide/workspace/:workspaceId/codebases/:codebaseId/reposlidesrc/app/workspace/[workspaceId]/codebases/[codebaseId]/reposlide/page.tsxWorkspace-scoped RepoSlide surface for generating and reviewing presentation out
Workspace / Feature Explorer/workspace/:workspaceId/feature-explorersrc/app/workspace/[workspaceId]/feature-explorer/page.tsx
Workspace / Kanban/workspace/:workspaceId/kanbansrc/app/workspace/[workspaceId]/kanban/page.tsxMain kanban board for workspace-scoped task coordination, lane automation, and g
Workspace / Overview/workspace/:workspaceId/overviewsrc/app/workspace/[workspaceId]/overview/page.tsxWorkspace entry route that currently redirects to the sessions surface while pre
Workspace / Sessions/workspace/:workspaceId/sessionssrc/app/workspace/[workspaceId]/sessions/page.tsxWorkspace-scoped session index for browsing, filtering, and opening agent execut
Workspace Session Page (Server Component Wrapper)/workspace/:workspaceId/sessions/:sessionIdsrc/app/workspace/[workspaceId]/sessions/[sessionId]/page.tsxThis server component provides generateStaticParams for static export and render
Workspace / Spec/workspace/:workspaceId/specsrc/app/workspace/[workspaceId]/spec/page.tsxDense issue relationship board for local docs/issues records
Workspace / Team/workspace/:workspaceId/teamsrc/app/workspace/[workspaceId]/team/page.tsxWorkspace-scoped team run index for multi-agent collaboration and coordination h
Workspace / Team/workspace/:workspaceId/team/:sessionIdsrc/app/workspace/[workspaceId]/team/[sessionId]/page.tsxDetail page for inspecting a specific workspace team run and its coordinated ses

API Contract Endpoints

A2a (8)

MethodEndpointDetailsNext.jsRust
GET/api/a2a/cardA2A agent cardsrc/app/api/a2a/card/route.tscrates/routa-server/src/api/a2a.rs
POST/api/a2a/messageSend a message via the A2A protocolsrc/app/api/a2a/message/route.tscrates/routa-server/src/api/a2a.rs
GET/api/a2a/rpcA2A SSE streamsrc/app/api/a2a/rpc/route.tscrates/routa-server/src/api/a2a.rs
POST/api/a2a/rpcA2A JSON-RPCsrc/app/api/a2a/rpc/route.tscrates/routa-server/src/api/a2a.rs
GET/api/a2a/sessionsList A2A sessionssrc/app/api/a2a/sessions/route.tscrates/routa-server/src/api/a2a.rs
GET/api/a2a/tasksList A2A taskssrc/app/api/a2a/tasks/route.tscrates/routa-server/src/api/a2a.rs
GET/api/a2a/tasks/{id}Get an A2A task by IDsrc/app/api/a2a/tasks/[id]/route.tscrates/routa-server/src/api/a2a.rs
POST/api/a2a/tasks/{id}Update / respond to an A2A tasksrc/app/api/a2a/tasks/[id]/route.tscrates/routa-server/src/api/a2a.rs

A2ui (2)

MethodEndpointDetailsNext.jsRust
GET/api/a2ui/dashboardGet A2UI v0.10 dashboard datasrc/app/api/a2ui/dashboard/route.tscrates/routa-server/src/api/a2ui.rs
POST/api/a2ui/dashboardAdd custom A2UI messages to the dashboardsrc/app/api/a2ui/dashboard/route.tscrates/routa-server/src/api/a2ui.rs

Acp (15)

MethodEndpointDetailsNext.jsRust
GET/api/acpACP SSE streamsrc/app/api/acp/route.tscrates/routa-server/src/api/acp_routes.rs
POST/api/acpACP JSON-RPC endpointsrc/app/api/acp/route.tscrates/routa-server/src/api/acp_routes.rs
POST/api/acp/docker/container/startStart a Docker container for OpenCode agentsrc/app/api/acp/docker/container/start/route.tscrates/routa-server/src/api/acp_docker.rs
POST/api/acp/docker/container/stopStop a Docker containersrc/app/api/acp/docker/container/stop/route.tscrates/routa-server/src/api/acp_docker.rs
GET/api/acp/docker/containersList Docker containers for OpenCode agentssrc/app/api/acp/docker/containers/route.tscrates/routa-server/src/api/acp_docker.rs
POST/api/acp/docker/pullPull a Docker imagesrc/app/api/acp/docker/pull/route.tscrates/routa-server/src/api/acp_docker.rs
GET/api/acp/docker/statusGet Docker daemon statussrc/app/api/acp/docker/status/route.tscrates/routa-server/src/api/acp_docker.rs
DELETE/api/acp/installUninstall an ACP agentsrc/app/api/acp/install/route.tscrates/routa-server/src/api/acp_registry.rs
POST/api/acp/installInstall an ACP agentsrc/app/api/acp/install/route.tscrates/routa-server/src/api/acp_registry.rs
GET/api/acp/registryList agents in the ACP registrysrc/app/api/acp/registry/route.tscrates/routa-server/src/api/acp_registry.rs
POST/api/acp/registryRegister an agent in the ACP registrysrc/app/api/acp/registry/route.tscrates/routa-server/src/api/acp_registry.rs
GET/api/acp/runtimeGet ACP runtime statussrc/app/api/acp/runtime/route.tscrates/routa-server/src/api/acp_registry.rs
POST/api/acp/runtimeStart ACP runtimesrc/app/api/acp/runtime/route.tscrates/routa-server/src/api/acp_registry.rs
GET/api/acp/warmupGet ACP warmup statussrc/app/api/acp/warmup/route.tscrates/routa-server/src/api/acp_registry.rs
POST/api/acp/warmupTrigger ACP warmupsrc/app/api/acp/warmup/route.tscrates/routa-server/src/api/acp_registry.rs

Ag-Ui (1)

MethodEndpointDetailsNext.jsRust
POST/api/ag-uiProcess AG-UI protocol request (SSE stream)src/app/api/ag-ui/route.tscrates/routa-server/src/api/ag_ui.rs

Agents (5)

MethodEndpointDetailsNext.jsRust
GET/api/agentsList agents (or get single by id query param)src/app/api/agents/route.tscrates/routa-server/src/api/agents.rs
POST/api/agentsCreate a new agentsrc/app/api/agents/route.tscrates/routa-server/src/api/agents.rs
DELETE/api/agents/{id}Delete an agentsrc/app/api/agents/[id]/route.tscrates/routa-server/src/api/agents.rs
GET/api/agents/{id}Get agent by ID (REST-style path param)src/app/api/agents/[id]/route.tscrates/routa-server/src/api/agents.rs
POST/api/agents/{id}/statusUpdate agent statussrc/app/api/agents/[id]/status/route.tscrates/routa-server/src/api/agents.rs

Background-Tasks (7)

MethodEndpointDetailsNext.jsRust
GET/api/background-tasksList background taskssrc/app/api/background-tasks/route.tscrates/routa-server/src/api/background_tasks.rs
POST/api/background-tasksCreate a background tasksrc/app/api/background-tasks/route.tscrates/routa-server/src/api/background_tasks.rs
DELETE/api/background-tasks/{id}Cancel a background tasksrc/app/api/background-tasks/[id]/route.tscrates/routa-server/src/api/background_tasks.rs
GET/api/background-tasks/{id}Get a background task by IDsrc/app/api/background-tasks/[id]/route.tscrates/routa-server/src/api/background_tasks.rs
PATCH/api/background-tasks/{id}Update a background task (PENDING only)src/app/api/background-tasks/[id]/route.tscrates/routa-server/src/api/background_tasks.rs
POST/api/background-tasks/{id}/retryRetry a failed background tasksrc/app/api/background-tasks/[id]/retry/route.tscrates/routa-server/src/api/background_tasks.rs
POST/api/background-tasks/processProcess the next pending background tasksrc/app/api/background-tasks/process/route.tscrates/routa-server/src/api/background_tasks.rs

Canvas (5)

MethodEndpointDetailsNext.jsRust
GET/api/canvasList canvas artifacts for a workspacesrc/app/api/canvas/route.tscrates/routa-server/src/api/canvas.rs
POST/api/canvasCreate a canvas artifactsrc/app/api/canvas/route.tscrates/routa-server/src/api/canvas.rs
DELETE/api/canvas/{id}Delete a canvas artifactsrc/app/api/canvas/[id]/route.tscrates/routa-server/src/api/canvas.rs
GET/api/canvas/{id}Fetch a canvas artifact by IDsrc/app/api/canvas/[id]/route.tscrates/routa-server/src/api/canvas.rs
POST/api/canvas/specialistGenerate a canvas artifact directly from a specialist promptsrc/app/api/canvas/specialist/route.tscrates/routa-server/src/api/canvas.rs

Clone (9)

MethodEndpointDetailsNext.jsRust
GET/api/cloneList cloned repositoriessrc/app/api/clone/route.tscrates/routa-server/src/api/clone.rs
PATCH/api/cloneSwitch branch on cloned reposrc/app/api/clone/route.tscrates/routa-server/src/api/clone.rs
POST/api/cloneClone a GitHub repositorysrc/app/api/clone/route.tscrates/routa-server/src/api/clone.rs
DELETE/api/clone/branchesDelete local branchsrc/app/api/clone/branches/route.tscrates/routa-server/src/api/clone_branches.rs
GET/api/clone/branchesGet branch infosrc/app/api/clone/branches/route.tscrates/routa-server/src/api/clone_branches.rs
PATCH/api/clone/branchesCheckout branchsrc/app/api/clone/branches/route.tscrates/routa-server/src/api/clone_branches.rs
POST/api/clone/branchesFetch remote branchessrc/app/api/clone/branches/route.tscrates/routa-server/src/api/clone_branches.rs
POST/api/clone/localLoad an existing local git repositorysrc/app/api/clone/local/route.tscrates/routa-server/src/api/clone_local.rs
POST/api/clone/progressClone with SSE progresssrc/app/api/clone/progress/route.tscrates/routa-server/src/api/clone_progress.rs

Codebases (3)

MethodEndpointDetailsNext.jsRust
DELETE/api/codebases/{id}Delete a codebasesrc/app/api/codebases/[codebaseId]/route.tscrates/routa-server/src/api/codebases.rs
PATCH/api/codebases/{id}Update codebase metadatasrc/app/api/codebases/[codebaseId]/route.tscrates/routa-server/src/api/codebases.rs
POST/api/codebases/{id}/defaultSet a codebase as the defaultsrc/app/api/codebases/[codebaseId]/default/route.tscrates/routa-server/src/api/codebases.rs

Debug (1)

MethodEndpointDetailsNext.jsRust
GET/api/debug/pathDebug endpoint — returns resolved binary paths (desktop only)src/app/api/debug/path/route.tscrates/routa-server/src/api/debug.rs

Files (1)

MethodEndpointDetailsNext.jsRust
GET/api/files/searchSearch files in a codebasesrc/app/api/files/search/route.tscrates/routa-server/src/api/files.rs

Fitness (6)

MethodEndpointDetailsNext.jsRust
POST/api/fitness/analyzeRun harness fluency analysis and return the additive harnessability baseline for one or more profilessrc/app/api/fitness/analyze/route.tscrates/routa-server/src/api/fitness.rs
GET/api/fitness/architectureGet backend architecture quality report for a repo contextsrc/app/api/fitness/architecture/route.tscrates/routa-server/src/api/fitness.rs
GET/api/fitness/planBuild the executable fitness plan for a repository contextsrc/app/api/fitness/plan/route.tscrates/routa-server/src/api/fitness.rs
GET/api/fitness/reportRead persisted harness fluency snapshots and their additive harnessability baseline payloadssrc/app/api/fitness/report/route.tscrates/routa-server/src/api/fitness.rs
GET/api/fitness/runtimeRead latest Entrix runtime fitness status and artifact summary for a repository contextsrc/app/api/fitness/runtime/route.tscrates/routa-server/src/api/fitness.rs
GET/api/fitness/specsInspect docs/fitness source files and parsed metric metadatasrc/app/api/fitness/specs/route.tscrates/routa-server/src/api/fitness.rs

Git (3)

MethodEndpointDetailsNext.jsRust
GET/api/git/commitGet git commit metadata and changed filessrc/app/api/git/commit/route.tscrates/routa-server/src/api/git.rs
GET/api/git/logList git commit history for a local repositorysrc/app/api/git/log/route.tscrates/routa-server/src/api/git.rs
GET/api/git/refsList git refs for a local repositorysrc/app/api/git/refs/route.tscrates/routa-server/src/api/git.rs

Github (8)

MethodEndpointDetailsNext.jsRust
GET/api/githubList active GitHub virtual workspacessrc/app/api/github/route.tscrates/routa-server/src/api/github.rs
GET/api/github/fileRead a file from an imported GitHub reposrc/app/api/github/file/route.tscrates/routa-server/src/api/github.rs
POST/api/github/importImport a GitHub repo as a virtual workspace (zipball download)src/app/api/github/import/route.tscrates/routa-server/src/api/github.rs
GET/api/github/issuesList GitHub issues for a workspace codebasesrc/app/api/github/issues/route.tscrates/routa-server/src/api/github.rs
POST/api/github/pr-commentPost a comment on a GitHub pull requestsrc/app/api/github/pr-comment/route.tscrates/routa-server/src/api/github.rs
GET/api/github/pullsList GitHub pull requests for a workspace codebasesrc/app/api/github/pulls/route.tscrates/routa-server/src/api/github.rs
GET/api/github/searchSearch files in an imported GitHub reposrc/app/api/github/search/route.tscrates/routa-server/src/api/github.rs
GET/api/github/treeGet file tree for an imported GitHub reposrc/app/api/github/tree/route.tscrates/routa-server/src/api/github.rs

Graph (1)

MethodEndpointDetailsNext.jsRust
GET/api/graph/analyzeAnalyze repository module dependencies and return a graph snapshotsrc/app/api/graph/analyze/route.tscrates/routa-server/src/api/graph.rs

Harness (13)

MethodEndpointDetailsNext.jsRust
GET/api/harness/agent-hooksRead and validate agent hook lifecycle configurationsrc/app/api/harness/agent-hooks/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/automationsInspect repo-defined automation definitions, pending findings, and runtime schedule statesrc/app/api/harness/automations/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/codeownersParse CODEOWNERS and report ownership coverage for the selected repositorysrc/app/api/harness/codeowners/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/design-decisionsDetect architecture and ADR design decision sources for the selected repositorysrc/app/api/harness/design-decisions/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/github-actionsInspect repository GitHub Actions workflow filessrc/app/api/harness/github-actions/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/hooksInspect hook runtime profiles, bound hook files, and resolved metricssrc/app/api/harness/hooks/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/hooks/previewRun hook runtime preview for a configured profilesrc/app/api/harness/hooks/preview/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/instructionsRead repository guidance documents used by harness viewssrc/app/api/harness/instructions/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/repo-signalsDetect YAML-driven build and test harness surfaces for the selected repositorysrc/app/api/harness/repo-signals/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/spec-sourcesDetect specification and planning source systems for the selected repositorysrc/app/api/harness/spec-sources/route.tscrates/routa-server/src/api/harness.rs
GET/api/harness/templatesList harness templates for a repo contextsrc/app/api/harness/templates/route.tscrates/routa-server/src/api/harness_templates.rs
GET/api/harness/templates/doctorRun harness template diagnostics for a repo contextsrc/app/api/harness/templates/doctor/route.tscrates/routa-server/src/api/harness_templates.rs
GET/api/harness/templates/validateValidate a harness template for a repo contextsrc/app/api/harness/templates/validate/route.tscrates/routa-server/src/api/harness_templates.rs

Health (1)

MethodEndpointDetailsNext.jsRust
GET/api/healthHealth check — returns service statussrc/app/api/health/route.tscrates/routa-server/src/lib.rs

Kanban (8)

MethodEndpointDetailsNext.jsRust
GET/api/kanban/boardsList Kanban boards for a workspacesrc/app/api/kanban/boards/route.tscrates/routa-server/src/api/kanban.rs
POST/api/kanban/boardsCreate a Kanban boardsrc/app/api/kanban/boards/route.tscrates/routa-server/src/api/kanban.rs
GET/api/kanban/boards/{boardId}Get a Kanban board by IDsrc/app/api/kanban/boards/[boardId]/route.tscrates/routa-server/src/api/kanban.rs
PATCH/api/kanban/boards/{boardId}Update a Kanban boardsrc/app/api/kanban/boards/[boardId]/route.tscrates/routa-server/src/api/kanban.rs
POST/api/kanban/decomposeDecompose natural language input into multiple Kanban taskssrc/app/api/kanban/decompose/route.tscrates/routa-server/src/api/kanban.rs
GET/api/kanban/eventsStream kanban workspace events over SSEsrc/app/api/kanban/events/route.tscrates/routa-server/src/api/kanban.rs
GET/api/kanban/exportExport kanban boards as YAMLsrc/app/api/kanban/export/route.tscrates/routa-server/src/api/kanban.rs
POST/api/kanban/importImport kanban boards from YAMLsrc/app/api/kanban/import/route.tscrates/routa-server/src/api/kanban.rs

Mcp (6)

MethodEndpointDetailsNext.jsRust
DELETE/api/mcpTerminate MCP sessionsrc/app/api/mcp/route.tscrates/routa-server/src/api/mcp_routes.rs, crates/routa-server/src/api/mcp_routes/rmcp_service.rs, crates/routa-server/src/api/mcp_routes/tool_catalog.rs, crates/routa-server/src/api/mcp_routes/tool_executor.rs, crates/routa-server/src/api/mcp_routes/tool_executor/agents_tasks.rs, crates/routa-server/src/api/mcp_routes/tool_executor/delegation.rs, crates/routa-server/src/api/mcp_routes/tool_executor/events_kanban.rs, crates/routa-server/src/api/mcp_routes/tool_executor/notes_workspace.rs
GET/api/mcpMCP SSE streamsrc/app/api/mcp/route.tscrates/routa-server/src/api/mcp_routes.rs, crates/routa-server/src/api/mcp_routes/rmcp_service.rs, crates/routa-server/src/api/mcp_routes/tool_catalog.rs, crates/routa-server/src/api/mcp_routes/tool_executor.rs, crates/routa-server/src/api/mcp_routes/tool_executor/agents_tasks.rs, crates/routa-server/src/api/mcp_routes/tool_executor/delegation.rs, crates/routa-server/src/api/mcp_routes/tool_executor/events_kanban.rs, crates/routa-server/src/api/mcp_routes/tool_executor/notes_workspace.rs
POST/api/mcpMCP Streamable HTTP (JSON-RPC)src/app/api/mcp/route.tscrates/routa-server/src/api/mcp_routes.rs, crates/routa-server/src/api/mcp_routes/rmcp_service.rs, crates/routa-server/src/api/mcp_routes/tool_catalog.rs, crates/routa-server/src/api/mcp_routes/tool_executor.rs, crates/routa-server/src/api/mcp_routes/tool_executor/agents_tasks.rs, crates/routa-server/src/api/mcp_routes/tool_executor/delegation.rs, crates/routa-server/src/api/mcp_routes/tool_executor/events_kanban.rs, crates/routa-server/src/api/mcp_routes/tool_executor/notes_workspace.rs
GET/api/mcp/toolsList MCP toolssrc/app/api/mcp/tools/route.tscrates/routa-server/src/api/mcp_tools.rs
PATCH/api/mcp/toolsUpdate MCP tool configurationsrc/app/api/mcp/tools/route.tscrates/routa-server/src/api/mcp_tools.rs
POST/api/mcp/toolsExecute an MCP toolsrc/app/api/mcp/tools/route.tscrates/routa-server/src/api/mcp_tools.rs

Mcp-Server (3)

MethodEndpointDetailsNext.jsRust
DELETE/api/mcp-serverStop MCP serversrc/app/api/mcp-server/route.tscrates/routa-server/src/api/mcp_server_mgmt.rs
GET/api/mcp-serverGet MCP server statussrc/app/api/mcp-server/route.tscrates/routa-server/src/api/mcp_server_mgmt.rs
POST/api/mcp-serverStart MCP serversrc/app/api/mcp-server/route.tscrates/routa-server/src/api/mcp_server_mgmt.rs

Mcp-Servers (4)

MethodEndpointDetailsNext.jsRust
DELETE/api/mcp-serversDelete a custom MCP serversrc/app/api/mcp-servers/route.tscrates/routa-server/src/api/mcp_servers.rs
GET/api/mcp-serversList custom MCP servers (or get single by id query param)src/app/api/mcp-servers/route.tscrates/routa-server/src/api/mcp_servers.rs
POST/api/mcp-serversCreate a new custom MCP serversrc/app/api/mcp-servers/route.tscrates/routa-server/src/api/mcp_servers.rs
PUT/api/mcp-serversUpdate an existing custom MCP serversrc/app/api/mcp-servers/route.tscrates/routa-server/src/api/mcp_servers.rs

Memory (3)

MethodEndpointDetailsNext.jsRust
DELETE/api/memoryDelete memory entriessrc/app/api/memory/route.tscrates/routa-server/src/api/memory.rs
GET/api/memoryList memory entries for a workspacesrc/app/api/memory/route.tscrates/routa-server/src/api/memory.rs
POST/api/memoryCreate a memory entrysrc/app/api/memory/route.tscrates/routa-server/src/api/memory.rs

Notes (6)

MethodEndpointDetailsNext.jsRust
DELETE/api/notesDelete note by query paramssrc/app/api/notes/route.tscrates/routa-server/src/api/notes.rs
GET/api/notesList notes or get single by noteIdsrc/app/api/notes/route.tscrates/routa-server/src/api/notes.rs
POST/api/notesCreate or update a notesrc/app/api/notes/route.tscrates/routa-server/src/api/notes.rs
DELETE/api/notes/{workspaceId}/{noteId}Delete note by path paramssrc/app/api/notes/[workspaceId]/[noteId]/route.tscrates/routa-server/src/api/notes.rs
GET/api/notes/{workspaceId}/{noteId}Get note by workspace + note IDsrc/app/api/notes/[workspaceId]/[noteId]/route.tscrates/routa-server/src/api/notes.rs
GET/api/notes/eventsSSE stream for note change eventssrc/app/api/notes/events/route.tscrates/routa-server/src/api/notes.rs

Polling (4)

MethodEndpointDetailsNext.jsRust
GET/api/polling/checkRun a polling check (GET)src/app/api/polling/check/route.tscrates/routa-server/src/api/polling.rs
POST/api/polling/checkRun a polling check (POST)src/app/api/polling/check/route.tscrates/routa-server/src/api/polling.rs
GET/api/polling/configGet polling configurationsrc/app/api/polling/config/route.tscrates/routa-server/src/api/polling.rs
POST/api/polling/configUpdate polling configurationsrc/app/api/polling/config/route.tscrates/routa-server/src/api/polling.rs

Providers (2)

MethodEndpointDetailsNext.jsRust
GET/api/providersList configured LLM providerssrc/app/api/providers/route.tscrates/routa-server/src/api/providers.rs
GET/api/providers/modelsList available models for configured providerssrc/app/api/providers/models/route.tscrates/routa-server/src/api/provider_models.rs

Review (1)

MethodEndpointDetailsNext.jsRust
POST/api/review/analyzeAnalyze a git diff with the single public PR Reviewer specialistsrc/app/api/review/analyze/route.tscrates/routa-server/src/api/review.rs

Rpc (2)

MethodEndpointDetailsNext.jsRust
POST/api/rpcGeneric JSON-RPC endpointsrc/app/api/rpc/route.tscrates/routa-server/src/api/rpc.rs
GET/api/rpc/methodsList available RPC methodssrc/app/api/rpc/methods/route.tscrates/routa-server/src/api/rpc.rs

Sandboxes (8)

MethodEndpointDetailsNext.jsRust
GET/api/sandboxesList all active sandbox containerssrc/app/api/sandboxes/route.tscrates/routa-server/src/api/sandbox.rs
POST/api/sandboxesCreate a new sandbox containersrc/app/api/sandboxes/route.tscrates/routa-server/src/api/sandbox.rs
DELETE/api/sandboxes/{id}Stop and remove a sandbox containersrc/app/api/sandboxes/[id]/route.tscrates/routa-server/src/api/sandbox.rs
GET/api/sandboxes/{id}Get sandbox info by IDsrc/app/api/sandboxes/[id]/route.tscrates/routa-server/src/api/sandbox.rs
POST/api/sandboxes/{id}/executeExecute code in a sandbox and stream results as NDJSONsrc/app/api/sandboxes/[id]/execute/route.tscrates/routa-server/src/api/sandbox.rs
POST/api/sandboxes/{id}/permissions/applyRecreate a sandbox with permission constraints applied to its policysrc/app/api/sandboxes/[id]/permissions/apply/route.tscrates/routa-server/src/api/sandbox.rs
POST/api/sandboxes/{id}/permissions/explainPreview the effective sandbox policy after applying permission constraintssrc/app/api/sandboxes/[id]/permissions/explain/route.tscrates/routa-server/src/api/sandbox.rs
POST/api/sandboxes/explainResolve and explain an effective sandbox policy without creating a sandboxsrc/app/api/sandboxes/explain/route.tscrates/routa-server/src/api/sandbox.rs

Schedules (8)

MethodEndpointDetailsNext.jsRust
GET/api/schedulesList scheduled taskssrc/app/api/schedules/route.tscrates/routa-server/src/api/schedules.rs
POST/api/schedulesCreate a new schedulesrc/app/api/schedules/route.tscrates/routa-server/src/api/schedules.rs
DELETE/api/schedules/{id}Delete a schedulesrc/app/api/schedules/[id]/route.tscrates/routa-server/src/api/schedules.rs
GET/api/schedules/{id}Get a schedule by IDsrc/app/api/schedules/[id]/route.tscrates/routa-server/src/api/schedules.rs
PATCH/api/schedules/{id}Update a schedulesrc/app/api/schedules/[id]/route.tscrates/routa-server/src/api/schedules.rs
POST/api/schedules/{id}/runTrigger a schedule to run immediatelysrc/app/api/schedules/[id]/run/route.tscrates/routa-server/src/api/schedules.rs
GET/api/schedules/tickGet tick status for scheduled taskssrc/app/api/schedules/tick/route.tscrates/routa-server/src/api/schedules.rs
POST/api/schedules/tickManually trigger the schedule ticksrc/app/api/schedules/tick/route.tscrates/routa-server/src/api/schedules.rs

Sessions (10)

MethodEndpointDetailsNext.jsRust
GET/api/sessionsList ACP sessionssrc/app/api/sessions/route.tscrates/routa-server/src/api/sessions.rs
DELETE/api/sessions/{id}Delete a sessionsrc/app/api/sessions/[sessionId]/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{id}Get session by IDsrc/app/api/sessions/[sessionId]/route.tscrates/routa-server/src/api/sessions.rs
PATCH/api/sessions/{id}Update session metadatasrc/app/api/sessions/[sessionId]/route.tscrates/routa-server/src/api/sessions.rs
POST/api/sessions/{id}/disconnectDisconnect and kill an active session processsrc/app/api/sessions/[sessionId]/disconnect/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{id}/historyGet message history for a sessionsrc/app/api/sessions/[sessionId]/history/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{id}/transcriptGet preferred transcript payload for a sessionsrc/app/api/sessions/[sessionId]/transcript/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{sessionId}/contextGet hierarchical context for a sessionsrc/app/api/sessions/[sessionId]/context/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{sessionId}/reposlide-resultRead the RepoSlide result payload extracted from a session transcriptsrc/app/api/sessions/[sessionId]/reposlide-result/route.tscrates/routa-server/src/api/sessions.rs
GET/api/sessions/{sessionId}/reposlide-result/downloadDownload the generated RepoSlide PPTX artifact for a completed sessionsrc/app/api/sessions/[sessionId]/reposlide-result/download/route.tscrates/routa-server/src/api/sessions.rs

Shared-Sessions (12)

MethodEndpointDetailsNext.jsRust
GET/api/shared-sessionsList shared sessionssrc/app/api/shared-sessions/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessionsCreate a shared sessionsrc/app/api/shared-sessions/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
DELETE/api/shared-sessions/{sharedSessionId}Close a shared sessionsrc/app/api/shared-sessions/[sharedSessionId]/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
GET/api/shared-sessions/{sharedSessionId}Get a shared session with participants and approvalssrc/app/api/shared-sessions/[sharedSessionId]/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessions/{sharedSessionId}/approvals/{approvalId}Approve or reject a pending shared session promptsrc/app/api/shared-sessions/[sharedSessionId]/approvals/[approvalId]/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessions/{sharedSessionId}/joinJoin a shared sessionsrc/app/api/shared-sessions/[sharedSessionId]/join/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessions/{sharedSessionId}/leaveLeave a shared sessionsrc/app/api/shared-sessions/[sharedSessionId]/leave/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
GET/api/shared-sessions/{sharedSessionId}/messagesList shared session messagessrc/app/api/shared-sessions/[sharedSessionId]/messages/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessions/{sharedSessionId}/messagesSend a shared session messagesrc/app/api/shared-sessions/[sharedSessionId]/messages/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
GET/api/shared-sessions/{sharedSessionId}/participantsList shared session participantssrc/app/api/shared-sessions/[sharedSessionId]/participants/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
POST/api/shared-sessions/{sharedSessionId}/promptsSend a shared session promptsrc/app/api/shared-sessions/[sharedSessionId]/prompts/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs
GET/api/shared-sessions/{sharedSessionId}/streamStream shared session events over SSEsrc/app/api/shared-sessions/[sharedSessionId]/stream/route.tscrates/routa-server/src/api/shared_sessions.rs, crates/routa-server/src/api/shared_sessions/store.rs

Skills (7)

MethodEndpointDetailsNext.jsRust
GET/api/skillsList skills or get by namesrc/app/api/skills/route.tscrates/routa-server/src/api/skills.rs
POST/api/skillsReload skills from disksrc/app/api/skills/route.tscrates/routa-server/src/api/skills.rs
GET/api/skills/catalogList available skills in the registrysrc/app/api/skills/catalog/route.tscrates/routa-server/src/api/skills_catalog.rs
POST/api/skills/catalogRefresh the local skill catalog from registrysrc/app/api/skills/catalog/route.tscrates/routa-server/src/api/skills_catalog.rs
GET/api/skills/cloneDiscover skills from repo pathsrc/app/api/skills/clone/route.tscrates/routa-server/src/api/skills_clone.rs
POST/api/skills/cloneClone a skill repositorysrc/app/api/skills/clone/route.tscrates/routa-server/src/api/skills_clone.rs
POST/api/skills/uploadUpload skill as zipsrc/app/api/skills/upload/route.tscrates/routa-server/src/api/skills_upload.rs

Spec (3)

MethodEndpointDetailsNext.jsRust
POST/api/spec/feature-tree/generateScan the repository and generate FEATURE_TREE.md + feature-tree.index.jsonsrc/app/api/spec/feature-tree/generate/route.tscrates/routa-server/src/api/spec.rs
GET/api/spec/issuesList local issue specssrc/app/api/spec/issues/route.tscrates/routa-server/src/api/spec.rs
GET/api/spec/surface-indexRead the generated product surface index for spec analysissrc/app/api/spec/surface-index/route.tscrates/routa-server/src/api/spec.rs

Specialists (4)

MethodEndpointDetailsNext.jsRust
DELETE/api/specialistsDelete a specialistsrc/app/api/specialists/route.tscrates/routa-server/src/api/specialists.rs
GET/api/specialistsList configured specialist agentssrc/app/api/specialists/route.tscrates/routa-server/src/api/specialists.rs
POST/api/specialistsCreate a specialist configurationsrc/app/api/specialists/route.tscrates/routa-server/src/api/specialists.rs
PUT/api/specialistsUpdate an existing specialistsrc/app/api/specialists/route.tscrates/routa-server/src/api/specialists.rs

Tasks (15)

MethodEndpointDetailsNext.jsRust
DELETE/api/tasksDelete all tasks for a workspacesrc/app/api/tasks/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasksList taskssrc/app/api/tasks/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
POST/api/tasksCreate a tasksrc/app/api/tasks/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
DELETE/api/tasks/{id}Delete a tasksrc/app/api/tasks/[taskId]/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{id}Get task by IDsrc/app/api/tasks/[taskId]/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
PATCH/api/tasks/{id}Update a tasksrc/app/api/tasks/[taskId]/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{id}/artifactsList all artifacts for a tasksrc/app/api/tasks/[taskId]/artifacts/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
POST/api/tasks/{id}/artifactsAttach an artifact to a tasksrc/app/api/tasks/[taskId]/artifacts/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{id}/runsList normalized execution runs for a tasksrc/app/api/tasks/[taskId]/runs/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
POST/api/tasks/{id}/statusUpdate task statussrc/app/api/tasks/[taskId]/status/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{taskId}/changesGet repository or worktree changes associated with a tasksrc/app/api/tasks/[taskId]/changes/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{taskId}/changes/commitGet diff for a single commit associated with a task repositorysrc/app/api/tasks/[taskId]/changes/commit/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{taskId}/changes/fileGet diff for a single changed file associated with a tasksrc/app/api/tasks/[taskId]/changes/file/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/{taskId}/changes/statsGet additions and deletions for a subset of changed files associated with a tasksrc/app/api/tasks/[taskId]/changes/stats/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs
GET/api/tasks/readyFind tasks with all dependencies satisfiedsrc/app/api/tasks/ready/route.tscrates/routa-server/src/api/tasks/changes.rs, crates/routa-server/src/api/tasks/dto.rs, crates/routa-server/src/api/tasks/evidence.rs, crates/routa-server/src/api/tasks/handlers.rs, crates/routa-server/src/api/tasks/mod.rs

Test-Mcp (1)

MethodEndpointDetailsNext.jsRust
GET/api/test-mcpTest MCP configsrc/app/api/test-mcp/route.tscrates/routa-server/src/api/test_mcp.rs

Traces (4)

MethodEndpointDetailsNext.jsRust
GET/api/tracesList agent execution tracessrc/app/api/traces/route.tscrates/routa-server/src/api/traces.rs
GET/api/traces/{id}Get a single trace by IDsrc/app/api/traces/[id]/route.tscrates/routa-server/src/api/traces.rs
POST/api/traces/exportExport trace records in Agent Trace JSON formatsrc/app/api/traces/export/route.tscrates/routa-server/src/api/traces.rs
GET/api/traces/statsGet aggregated trace statisticssrc/app/api/traces/stats/route.tscrates/routa-server/src/api/traces.rs

Webhooks (10)

MethodEndpointDetailsNext.jsRust
DELETE/api/webhooks/configsDelete a webhook configurationsrc/app/api/webhooks/configs/route.tscrates/routa-server/src/api/webhooks.rs
GET/api/webhooks/configsList webhook configurationssrc/app/api/webhooks/configs/route.tscrates/routa-server/src/api/webhooks.rs
POST/api/webhooks/configsCreate a webhook configurationsrc/app/api/webhooks/configs/route.tscrates/routa-server/src/api/webhooks.rs
PUT/api/webhooks/configsUpdate a webhook configurationsrc/app/api/webhooks/configs/route.tscrates/routa-server/src/api/webhooks.rs
GET/api/webhooks/githubList registered GitHub webhookssrc/app/api/webhooks/github/route.tscrates/routa-server/src/api/webhooks.rs
POST/api/webhooks/githubHandle an incoming GitHub webhook eventsrc/app/api/webhooks/github/route.tscrates/routa-server/src/api/webhooks.rs
DELETE/api/webhooks/registerUnregister a webhooksrc/app/api/webhooks/register/route.tscrates/routa-server/src/api/webhooks.rs
GET/api/webhooks/registerList webhook registrationssrc/app/api/webhooks/register/route.tscrates/routa-server/src/api/webhooks.rs
POST/api/webhooks/registerRegister a new webhooksrc/app/api/webhooks/register/route.tscrates/routa-server/src/api/webhooks.rs
GET/api/webhooks/webhook-logsList webhook delivery logssrc/app/api/webhooks/webhook-logs/route.tscrates/routa-server/src/api/webhooks.rs

Workflows (6)

MethodEndpointDetailsNext.jsRust
GET/api/workflowsList all workflow YAML definitions from resources/flows/src/app/api/workflows/route.tscrates/routa-server/src/api/workflows.rs
POST/api/workflowsCreate a new workflow YAML filesrc/app/api/workflows/route.tscrates/routa-server/src/api/workflows.rs
DELETE/api/workflows/{id}Delete a workflow YAML filesrc/app/api/workflows/[id]/route.tscrates/routa-server/src/api/workflows.rs
GET/api/workflows/{id}Get a specific workflow by IDsrc/app/api/workflows/[id]/route.tscrates/routa-server/src/api/workflows.rs
PUT/api/workflows/{id}Update a workflow YAML filesrc/app/api/workflows/[id]/route.tscrates/routa-server/src/api/workflows.rs
POST/api/workflows/{id}/triggerTrigger a workflow run inside a workspacesrc/app/api/workflows/[id]/trigger/route.tscrates/routa-server/src/api/workflows.rs

Workspaces (14)

MethodEndpointDetailsNext.jsRust
GET/api/workspacesList all workspacessrc/app/api/workspaces/route.tscrates/routa-server/src/api/workspaces.rs
POST/api/workspacesCreate a workspacesrc/app/api/workspaces/route.tscrates/routa-server/src/api/workspaces.rs
DELETE/api/workspaces/{id}Delete workspacesrc/app/api/workspaces/[workspaceId]/route.tscrates/routa-server/src/api/workspaces.rs
GET/api/workspaces/{id}Get workspace by IDsrc/app/api/workspaces/[workspaceId]/route.tscrates/routa-server/src/api/workspaces.rs
PATCH/api/workspaces/{id}Update workspace (title, repoPath, branch, status, metadata)src/app/api/workspaces/[workspaceId]/route.tscrates/routa-server/src/api/workspaces.rs
POST/api/workspaces/{id}/archiveArchive or unarchive a workspacesrc/app/api/workspaces/[workspaceId]/archive/route.tscrates/routa-server/src/api/workspaces.rs
GET/api/workspaces/{id}/codebasesList codebases in a workspacesrc/app/api/workspaces/[workspaceId]/codebases/route.tscrates/routa-server/src/api/codebases.rs
POST/api/workspaces/{id}/codebasesAdd a codebase to a workspacesrc/app/api/workspaces/[workspaceId]/codebases/route.tscrates/routa-server/src/api/codebases.rs
GET/api/workspaces/{id}/codebases/changesList git change summaries for workspace codebasessrc/app/api/workspaces/[workspaceId]/codebases/changes/route.tscrates/routa-server/src/api/codebases.rs
GET/api/workspaces/{workspace_id}/codebases/{codebase_id}/worktreesList worktrees for a codebasesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/worktrees/route.tscrates/routa-server/src/api/worktrees.rs
POST/api/workspaces/{workspace_id}/codebases/{codebase_id}/worktreesCreate a new git worktreesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/worktrees/route.tscrates/routa-server/src/api/worktrees.rs
DELETE/api/workspaces/{workspaceId}/codebases/{codebaseId}Delete a codebase from a workspace-scoped routesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/route.tscrates/routa-server/src/api/codebases.rs
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/reposlideGet RepoSlide launch context for an agent-driven deck generation sessionsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/reposlide/route.tscrates/routa-server/src/api/codebases.rs
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/wikiGenerate an architecture-aware RepoWiki summary payload for a codebasesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/wiki/route.tscrates/routa-server/src/api/codebases.rs

Worktrees (3)

MethodEndpointDetailsNext.jsRust
DELETE/api/worktrees/{id}Remove a worktreesrc/app/api/worktrees/[worktreeId]/route.tscrates/routa-server/src/api/worktrees.rs
GET/api/worktrees/{id}Get a single worktreesrc/app/api/worktrees/[worktreeId]/route.tscrates/routa-server/src/api/worktrees.rs
POST/api/worktrees/{id}/validateValidate worktree health on disksrc/app/api/worktrees/[worktreeId]/validate/route.tscrates/routa-server/src/api/worktrees.rs

Next.js-only API Routes

Canvas (1)

MethodEndpointSource Files
POST/api/canvas/specialist/materializesrc/app/api/canvas/specialist/materialize/route.ts

Feature-Explorer (4)

MethodEndpointSource Files
GET/api/feature-explorersrc/app/api/feature-explorer/route.ts
GET/api/feature-explorer/{featureId}src/app/api/feature-explorer/[featureId]/route.ts
GET/api/feature-explorer/{featureId}/apissrc/app/api/feature-explorer/[featureId]/apis/route.ts
GET/api/feature-explorer/{featureId}/filessrc/app/api/feature-explorer/[featureId]/files/route.ts

Fitness (1)

MethodEndpointSource Files
POST/api/fitness/runsrc/app/api/fitness/run/route.ts

Github (1)

MethodEndpointSource Files
GET/api/github/accesssrc/app/api/github/access/route.ts

Sessions (1)

MethodEndpointSource Files
POST/api/sessions/{sessionId}/forksrc/app/api/sessions/[sessionId]/fork/route.ts

Tasks (1)

MethodEndpointSource Files
POST/api/tasks/{taskId}/pr-runsrc/app/api/tasks/[taskId]/pr-run/route.ts

Workspaces (11)

MethodEndpointSource Files
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/commitsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/commit/route.ts
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/commitssrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/commits/route.ts
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/commits/{sha}/diffsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/commits/[sha]/diff/route.ts
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/diffsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/diff/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/discardsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/discard/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/exportsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/export/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/pullsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/pull/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/rebasesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/rebase/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/resetsrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/reset/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/stagesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/stage/route.ts
POST/api/workspaces/{workspaceId}/codebases/{codebaseId}/git/unstagesrc/app/api/workspaces/[workspaceId]/codebases/[codebaseId]/git/unstage/route.ts

Rust-only API Routes

Canvas (1)

MethodEndpointSource Files
POST/api/canvas/specialist/materializecrates/routa-server/src/api/canvas.rs

Feature-Explorer (4)

MethodEndpointSource Files
GET/api/feature-explorercrates/routa-server/src/api/feature_explorer.rs
GET/api/feature-explorer/{featureId}crates/routa-server/src/api/feature_explorer.rs
GET/api/feature-explorer/{featureId}/apiscrates/routa-server/src/api/feature_explorer.rs
GET/api/feature-explorer/{featureId}/filescrates/routa-server/src/api/feature_explorer.rs

Git (11)

MethodEndpointSource Files
POST/api/git/commitcrates/routa-server/src/api/git.rs
GET/api/git/commitscrates/routa-server/src/api/git.rs
GET/api/git/commits/{sha}/diffcrates/routa-server/src/api/git.rs
GET/api/git/diffcrates/routa-server/src/api/git.rs
POST/api/git/discardcrates/routa-server/src/api/git.rs
POST/api/git/exportcrates/routa-server/src/api/git.rs
POST/api/git/pullcrates/routa-server/src/api/git.rs
POST/api/git/rebasecrates/routa-server/src/api/git.rs
POST/api/git/resetcrates/routa-server/src/api/git.rs
POST/api/git/stagecrates/routa-server/src/api/git.rs
POST/api/git/unstagecrates/routa-server/src/api/git.rs

Github (1)

MethodEndpointSource Files
GET/api/github/accesscrates/routa-server/src/api/github.rs

Sessions (1)

MethodEndpointSource Files
POST/api/sessions/{session_id}/forkcrates/routa-server/src/api/sessions.rs