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
  • API contract: api-contract.yaml

Frontend Pages

PageRouteDescription
Home/
A2A Protocol Test Page/a2aInteractive testing interface for the Agent-to-Agent (A2A) protocol
AG-UI Protocol Test Page/ag-uiStandalone page for testing AG-UI protocol integration
Debug / Acp Replay/debug/acp-replay
Mcp Tools/mcp-tools
Messages Page - Notification & PR Agent Execution History/messagesShows: - All notifications with filtering - PR Agent execution history from back
Settings Page/settingsProvides a full-page UI for all Routa settings: - Providers (default agent provi
Agent Installation Settings Page/settings/agentsProvides a full-page UI for managing ACP agent installations
Settings / Fitness/settings/fitness
Settings / Fluency/settings/fluency
Settings / Harness/settings/harness
Settings / Mcp/settings/mcp
Settings / Schedules/settings/schedules
Settings / Specialists/settings/specialists
GitHub Webhook Trigger Settings Page/settings/webhooksProvides a full-page UI for configuring GitHub webhook event-driven triggers
Settings / Workflows/settings/workflows
Trace Page/tracesFull-page view for browsing and analyzing Agent Trace records
Workspace Page (Server Component Wrapper)/workspace/:workspaceIdThis server component provides generateStaticParams for static export and redire
Codebases / Reposlide/workspace/:workspaceId/codebases/:codebaseId/reposlide
Workspace / Kanban/workspace/:workspaceId/kanban
Workspace / Overview/workspace/:workspaceId/overview
Workspace Session Page (Server Component Wrapper)/workspace/:workspaceId/sessions/:sessionIdThis server component provides generateStaticParams for static export and render
Workspace / Team/workspace/:workspaceId/team
Workspace / Team/workspace/:workspaceId/team/:sessionId

API Endpoints

A2A (8)

MethodEndpointDescription
GET/api/a2a/sessionsList A2A sessions
GET/api/a2a/cardA2A agent card
POST/api/a2a/rpcA2A JSON-RPC
GET/api/a2a/rpcA2A SSE stream
POST/api/a2a/messageSend a message via the A2A protocol
GET/api/a2a/tasksList A2A tasks
GET/api/a2a/tasks/{id}Get an A2A task by ID
POST/api/a2a/tasks/{id}Update / respond to an A2A task

A2ui (2)

MethodEndpointDescription
GET/api/a2ui/dashboardGet A2UI v0.10 dashboard data
POST/api/a2ui/dashboardAdd custom A2UI messages to the dashboard

ACP (15)

MethodEndpointDescription
POST/api/acpACP JSON-RPC endpoint
GET/api/acpACP SSE stream
GET/api/acp/registryList agents in the ACP registry
POST/api/acp/registryRegister an agent in the ACP registry
POST/api/acp/installInstall an ACP agent
DELETE/api/acp/installUninstall an ACP agent
GET/api/acp/runtimeGet ACP runtime status
POST/api/acp/runtimeStart ACP runtime
GET/api/acp/warmupGet ACP warmup status
POST/api/acp/warmupTrigger ACP warmup
GET/api/acp/docker/statusGet Docker daemon status
POST/api/acp/docker/pullPull a Docker image
GET/api/acp/docker/containersList Docker containers for OpenCode agents
POST/api/acp/docker/container/startStart a Docker container for OpenCode agent
POST/api/acp/docker/container/stopStop a Docker container

Ag-Ui (1)

MethodEndpointDescription
POST/api/ag-uiProcess AG-UI protocol request (SSE stream)

Agents (5)

MethodEndpointDescription
GET/api/agentsList agents (or get single by id query param)
POST/api/agentsCreate a new agent
GET/api/agents/{id}Get agent by ID (REST-style path param)
DELETE/api/agents/{id}Delete an agent
POST/api/agents/{id}/statusUpdate agent status

Background-Tasks (7)

MethodEndpointDescription
GET/api/background-tasksList background tasks
POST/api/background-tasksCreate a background task
POST/api/background-tasks/processProcess the next pending background task
GET/api/background-tasks/{id}Get a background task by ID
PATCH/api/background-tasks/{id}Update a background task (PENDING only)
DELETE/api/background-tasks/{id}Cancel a background task
POST/api/background-tasks/{id}/retryRetry a failed background task

Clone (8)

MethodEndpointDescription
GET/api/cloneList cloned repositories
POST/api/cloneClone a GitHub repository
PATCH/api/cloneSwitch branch on cloned repo
POST/api/clone/progressClone with SSE progress
POST/api/clone/localLoad an existing local git repository
GET/api/clone/branchesGet branch info
POST/api/clone/branchesFetch remote branches
PATCH/api/clone/branchesCheckout branch

Codebases (3)

MethodEndpointDescription
PATCH/api/codebases/{id}Update codebase metadata
DELETE/api/codebases/{id}Delete a codebase
POST/api/codebases/{id}/defaultSet a codebase as the default

Debug (1)

MethodEndpointDescription
GET/api/debug/pathDebug endpoint — returns resolved binary paths (desktop only)

Files (1)

MethodEndpointDescription
GET/api/files/searchSearch files in a codebase

Fitness (4)

MethodEndpointDescription
POST/api/fitness/analyzeRun harness fluency analysis and return the additive harnessability baseline for one or more profiles
GET/api/fitness/planBuild the executable fitness plan for a repository context
GET/api/fitness/reportRead persisted harness fluency snapshots and their additive harnessability baseline payloads
GET/api/fitness/specsInspect docs/fitness source files and parsed metric metadata

GitHub (7)

MethodEndpointDescription
GET/api/githubList active GitHub virtual workspaces
POST/api/github/importImport a GitHub repo as a virtual workspace (zipball download)
GET/api/github/issuesList GitHub issues for a workspace codebase
GET/api/github/treeGet file tree for an imported GitHub repo
GET/api/github/fileRead a file from an imported GitHub repo
GET/api/github/searchSearch files in an imported GitHub repo
POST/api/github/pr-commentPost a comment on a GitHub pull request

Harness (10)

MethodEndpointDescription
GET/api/harness/github-actionsInspect repository GitHub Actions workflow files
GET/api/harness/agent-hooksRead and validate agent hook lifecycle configuration
GET/api/harness/hooksInspect hook runtime profiles, bound hook files, and resolved metrics
GET/api/harness/hooks/previewRun hook runtime preview for a configured profile
GET/api/harness/instructionsRead repository guidance documents used by harness views
GET/api/harness/codeownersParse CODEOWNERS and report ownership coverage for the selected repository
GET/api/harness/repo-signalsDetect YAML-driven build and test harness surfaces for the selected repository
GET/api/harness/automationsInspect repo-defined automation definitions, pending findings, and runtime schedule state
GET/api/harness/spec-sourcesDetect specification and planning source systems for the selected repository
GET/api/harness/design-decisionsDetect architecture and ADR design decision sources for the selected repository

Health (1)

MethodEndpointDescription
GET/api/healthHealth check — returns service status

Kanban (8)

MethodEndpointDescription
GET/api/kanban/boardsList Kanban boards for a workspace
POST/api/kanban/boardsCreate a Kanban board
GET/api/kanban/boards/{boardId}Get a Kanban board by ID
PATCH/api/kanban/boards/{boardId}Update a Kanban board
POST/api/kanban/decomposeDecompose natural language input into multiple Kanban tasks
GET/api/kanban/exportExport kanban boards as YAML
POST/api/kanban/importImport kanban boards from YAML
GET/api/kanban/eventsStream kanban workspace events over SSE

MCP (6)

MethodEndpointDescription
POST/api/mcpMCP Streamable HTTP (JSON-RPC)
GET/api/mcpMCP SSE stream
DELETE/api/mcpTerminate MCP session
GET/api/mcp/toolsList MCP tools
POST/api/mcp/toolsExecute an MCP tool
PATCH/api/mcp/toolsUpdate MCP tool configuration

Mcp-Server (3)

MethodEndpointDescription
GET/api/mcp-serverGet MCP server status
POST/api/mcp-serverStart MCP server
DELETE/api/mcp-serverStop MCP server

Mcp-Servers (4)

MethodEndpointDescription
GET/api/mcp-serversList custom MCP servers (or get single by id query param)
POST/api/mcp-serversCreate a new custom MCP server
PUT/api/mcp-serversUpdate an existing custom MCP server
DELETE/api/mcp-serversDelete a custom MCP server

Memory (3)

MethodEndpointDescription
GET/api/memoryList memory entries for a workspace
POST/api/memoryCreate a memory entry
DELETE/api/memoryDelete memory entries

Notes (6)

MethodEndpointDescription
GET/api/notesList notes or get single by noteId
POST/api/notesCreate or update a note
DELETE/api/notesDelete note by query params
GET/api/notes/eventsSSE stream for note change events
GET/api/notes/{workspaceId}/{noteId}Get note by workspace + note ID
DELETE/api/notes/{workspaceId}/{noteId}Delete note by path params

Polling (4)

MethodEndpointDescription
GET/api/polling/configGet polling configuration
POST/api/polling/configUpdate polling configuration
GET/api/polling/checkRun a polling check (GET)
POST/api/polling/checkRun a polling check (POST)

Providers (2)

MethodEndpointDescription
GET/api/providersList configured LLM providers
GET/api/providers/modelsList available models for configured providers

Review (1)

MethodEndpointDescription
POST/api/review/analyzeAnalyze a git diff with the single public PR Reviewer specialist

Rpc (2)

MethodEndpointDescription
POST/api/rpcGeneric JSON-RPC endpoint
GET/api/rpc/methodsList available RPC methods

Sandboxes (8)

MethodEndpointDescription
GET/api/sandboxesList all active sandbox containers
POST/api/sandboxesCreate a new sandbox container
POST/api/sandboxes/explainResolve and explain an effective sandbox policy without creating a sandbox
GET/api/sandboxes/{id}Get sandbox info by ID
DELETE/api/sandboxes/{id}Stop and remove a sandbox container
POST/api/sandboxes/{id}/permissions/explainPreview the effective sandbox policy after applying permission constraints
POST/api/sandboxes/{id}/permissions/applyRecreate a sandbox with permission constraints applied to its policy
POST/api/sandboxes/{id}/executeExecute code in a sandbox and stream results as NDJSON

Schedules (8)

MethodEndpointDescription
GET/api/schedulesList scheduled tasks
POST/api/schedulesCreate a new schedule
GET/api/schedules/{id}Get a schedule by ID
PATCH/api/schedules/{id}Update a schedule
DELETE/api/schedules/{id}Delete a schedule
POST/api/schedules/{id}/runTrigger a schedule to run immediately
GET/api/schedules/tickGet tick status for scheduled tasks
POST/api/schedules/tickManually trigger the schedule tick

Sessions (10)

MethodEndpointDescription
GET/api/sessionsList ACP sessions
GET/api/sessions/{sessionId}/contextGet hierarchical context for a session
GET/api/sessions/{sessionId}/reposlide-resultRead the RepoSlide result payload extracted from a session transcript
GET/api/sessions/{sessionId}/reposlide-result/downloadDownload the generated RepoSlide PPTX artifact for a completed session
GET/api/sessions/{id}Get session by ID
PATCH/api/sessions/{id}Update session metadata
DELETE/api/sessions/{id}Delete a session
GET/api/sessions/{id}/historyGet message history for a session
GET/api/sessions/{id}/transcriptGet preferred transcript payload for a session
POST/api/sessions/{id}/disconnectDisconnect and kill an active session process

Shared-Sessions (12)

MethodEndpointDescription
GET/api/shared-sessionsList shared sessions
POST/api/shared-sessionsCreate a shared session
GET/api/shared-sessions/{sharedSessionId}Get a shared session with participants and approvals
DELETE/api/shared-sessions/{sharedSessionId}Close a shared session
POST/api/shared-sessions/{sharedSessionId}/joinJoin a shared session
POST/api/shared-sessions/{sharedSessionId}/leaveLeave a shared session
GET/api/shared-sessions/{sharedSessionId}/participantsList shared session participants
GET/api/shared-sessions/{sharedSessionId}/messagesList shared session messages
POST/api/shared-sessions/{sharedSessionId}/messagesSend a shared session message
POST/api/shared-sessions/{sharedSessionId}/promptsSend a shared session prompt
POST/api/shared-sessions/{sharedSessionId}/approvals/{approvalId}Approve or reject a pending shared session prompt
GET/api/shared-sessions/{sharedSessionId}/streamStream shared session events over SSE

Skills (7)

MethodEndpointDescription
GET/api/skillsList skills or get by name
POST/api/skillsReload skills from disk
GET/api/skills/cloneDiscover skills from repo path
POST/api/skills/cloneClone a skill repository
POST/api/skills/uploadUpload skill as zip
GET/api/skills/catalogList available skills in the registry
POST/api/skills/catalogRefresh the local skill catalog from registry

Specialists (4)

MethodEndpointDescription
GET/api/specialistsList configured specialist agents
POST/api/specialistsCreate a specialist configuration
PUT/api/specialistsUpdate an existing specialist
DELETE/api/specialistsDelete a specialist

Tasks (11)

MethodEndpointDescription
GET/api/tasksList tasks
POST/api/tasksCreate a task
DELETE/api/tasksDelete all tasks for a workspace
GET/api/tasks/{id}Get task by ID
PATCH/api/tasks/{id}Update a task
DELETE/api/tasks/{id}Delete a task
POST/api/tasks/{id}/statusUpdate task status
GET/api/tasks/readyFind tasks with all dependencies satisfied
GET/api/tasks/{id}/artifactsList all artifacts for a task
POST/api/tasks/{id}/artifactsAttach an artifact to a task
GET/api/tasks/{id}/runsList normalized execution runs for a task

Test-Mcp (1)

MethodEndpointDescription
GET/api/test-mcpTest MCP config

Traces (4)

MethodEndpointDescription
GET/api/tracesList agent execution traces
POST/api/tracesCreate a new trace record
GET/api/traces/statsGet aggregated trace statistics
GET/api/traces/{id}Get a single trace by ID

Webhooks (10)

MethodEndpointDescription
GET/api/webhooks/configsList webhook configurations
POST/api/webhooks/configsCreate a webhook configuration
PUT/api/webhooks/configsUpdate a webhook configuration
DELETE/api/webhooks/configsDelete a webhook configuration
GET/api/webhooks/githubList registered GitHub webhooks
POST/api/webhooks/githubHandle an incoming GitHub webhook event
GET/api/webhooks/registerList webhook registrations
POST/api/webhooks/registerRegister a new webhook
DELETE/api/webhooks/registerUnregister a webhook
GET/api/webhooks/webhook-logsList webhook delivery logs

Workflows (6)

MethodEndpointDescription
GET/api/workflowsList all workflow YAML definitions from resources/flows/
POST/api/workflowsCreate a new workflow YAML file
GET/api/workflows/{id}Get a specific workflow by ID
PUT/api/workflows/{id}Update a workflow YAML file
DELETE/api/workflows/{id}Delete a workflow YAML file
POST/api/workflows/{id}/triggerTrigger a workflow run inside a workspace

Workspaces (12)

MethodEndpointDescription
GET/api/workspacesList all workspaces
POST/api/workspacesCreate a workspace
GET/api/workspaces/{id}Get workspace by ID
PATCH/api/workspaces/{id}Update workspace (title, repoPath, branch, status, metadata)
DELETE/api/workspaces/{id}Delete workspace
POST/api/workspaces/{id}/archiveArchive or unarchive a workspace
GET/api/workspaces/{id}/codebasesList codebases in a workspace
POST/api/workspaces/{id}/codebasesAdd a codebase to a workspace
GET/api/workspaces/{id}/codebases/changesList git change summaries for workspace codebases
GET/api/workspaces/{workspaceId}/codebases/{codebaseId}/reposlideGet RepoSlide launch context for an agent-driven deck generation session
GET/api/workspaces/{workspace_id}/codebases/{codebase_id}/worktreesList worktrees for a codebase
POST/api/workspaces/{workspace_id}/codebases/{codebase_id}/worktreesCreate a new git worktree

Worktrees (3)

MethodEndpointDescription
GET/api/worktrees/{id}Get a single worktree
DELETE/api/worktrees/{id}Remove a worktree
POST/api/worktrees/{id}/validateValidate worktree health on disk