Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.risolu.to/llms.txt

Use this file to discover all available pages before exploring further.

State & Metrics

Core orchestrator state, runtime metadata, real-time events, and observability.
MethodPathDescription
GET/api/v1/stateFull orchestrator snapshot — queued, running, completed issues and token totals
GET/api/v1/runtimeRuntime info — version, data directory, feature flags
GET/api/v1/observabilityAggregate observability snapshot — metrics summaries and health signals
GET/api/v1/recoveryLatest startup recovery report — orphaned attempts resolved on boot
POST/api/v1/refreshTrigger an immediate poll/reconciliation cycle
GET/api/v1/transitionsAvailable state machine transitions per issue
GET/metricsPrometheus-format service metrics
GET/api/v1/eventsSSE stream of real-time orchestrator events
GET/api/v1/modelsList available AI models from the configured provider
POST /api/v1/refresh returns 202 Accepted, not 200. The reconciliation runs asynchronously.
curl http://127.0.0.1:4000/api/v1/state

Issue Management

Inspect individual issues, control running agents, override models and templates, and transition issue state.
MethodPathDescription
GET/api/v1/:idIssue detail with recent events and attempts
POST/api/v1/:id/abortAbort a running issue
POST/api/v1/:id/modelSet per-issue model override
POST/api/v1/:id/steerSend mid-turn guidance to the running agent
POST/api/v1/:id/templateOverride the prompt template for this issue
DELETE/api/v1/:id/templateClear the template override
POST/api/v1/:id/transitionTransition issue to a new workflow state
The :id parameter is the Linear issue identifier (e.g. ENG-123).

Model Override

model
string
required
The model identifier to use for this issue (e.g. o4-mini, gpt-4.1).
curl -X POST http://127.0.0.1:4000/api/v1/ENG-123/model \
  -H "Content-Type: application/json" \
  -d '{"model": "o4-mini"}'

Mid-Turn Steering

message
string
required
Guidance text injected into the running agent’s context.
curl -X POST http://127.0.0.1:4000/api/v1/ENG-123/steer \
  -H "Content-Type: application/json" \
  -d '{"message": "Focus on the auth module first, skip the tests for now."}'

State Transition

to
string
required
Target state name. Use GET /api/v1/transitions to see valid transitions.
reason
string
Optional human-readable reason for the transition.
curl -X POST http://127.0.0.1:4000/api/v1/ENG-123/transition \
  -H "Content-Type: application/json" \
  -d '{"to": "queued", "reason": "Retry after fix"}'

Attempts

Each issue can have multiple attempts. An attempt represents a single agent execution run.
MethodPathDescription
GET/api/v1/:id/attemptsList all attempts for an issue
GET/api/v1/attempts/:aidDetail for a specific attempt including event timeline
GET/api/v1/attempts/:aid/checkpointsCheckpoint history for an attempt — progress markers written by the agent runner
curl http://127.0.0.1:4000/api/v1/ENG-123/attempts

Configuration

Read the effective merged config, inspect the schema, and manage runtime overlay overrides.
MethodPathDescription
GET/api/v1/configEffective merged configuration (base + overlay)
GET/api/v1/config/schemaConfig JSON schema with example payloads
GET/api/v1/config/overlayCurrent overlay values only
PUT/api/v1/config/overlayReplace the entire overlay
PATCH/api/v1/config/overlay/:pathPatch a single config path
DELETE/api/v1/config/overlay/:pathDelete a specific overlay path
The overlay is persisted to disk and survives restarts. It merges on top of the base config file and environment variables.
curl http://127.0.0.1:4000/api/v1/config

Secrets

Manage runtime secrets without restarting the service. Secrets are encrypted at rest.
MethodPathDescription
GET/api/v1/secretsList configured secret keys (values are not exposed)
POST/api/v1/secrets/:keyStore a secret
DELETE/api/v1/secrets/:keyDelete a secret
GET /api/v1/secrets returns key names only, never the secret values.
curl http://127.0.0.1:4000/api/v1/secrets

Templates

Manage prompt templates for agent instructions. Templates support variable interpolation.
MethodPathDescription
GET/api/v1/templatesList all prompt templates
GET/api/v1/templates/:idGet a specific template
POST/api/v1/templatesCreate a new template
PUT/api/v1/templates/:idUpdate an existing template
DELETE/api/v1/templates/:idDelete a template
POST/api/v1/templates/:id/previewPreview rendered output with sample variables
curl http://127.0.0.1:4000/api/v1/templates

Workspaces & Git

Inspect and manage the working directory pool and git routing context.
MethodPathDescription
GET/api/v1/workspacesList workspaces with disk usage
DELETE/api/v1/workspaces/:keyRemove a workspace and free disk
GET/api/v1/git/contextGit repo context — branches, remotes, routing rules
curl http://127.0.0.1:4000/api/v1/workspaces

Audit

Paginated audit log of all orchestrator actions for compliance and debugging.
MethodPathDescription
GET/api/v1/auditQuery audit log entries (supports pagination)
curl "http://127.0.0.1:4000/api/v1/audit?limit=50&offset=0"

Notifications

Persistent notification timeline for run lifecycle alerts. Backed by the notification store and deduplicated per run.
MethodPathDescription
GET/api/v1/notificationsList persisted notifications. Supports limit and unread query parameters
POST/api/v1/notifications/:id/readMark a single notification as read
POST/api/v1/notifications/read-allMark every notification as read
POST/api/v1/notifications/testSend a test Slack notification using the saved webhook
curl "http://127.0.0.1:4000/api/v1/notifications?unread=true&limit=50"
The test endpoint reuses the Slack webhook configured under notifications.channels in your config overlay. See Notifications setup for channel configuration.

Automations

Scheduled background automations — scheduler inspection and on-demand runs.
MethodPathDescription
GET/api/v1/automationsList configured automations and current scheduler state
GET/api/v1/automations/runsHistorical automation runs. Supports limit and automation_name filters
POST/api/v1/automations/:name/runRun a configured automation immediately
curl -X POST http://127.0.0.1:4000/api/v1/automations/nightly-cleanup/run

Alerts

Alert delivery history — each row records a rule evaluation, trigger, or cooldown event.
MethodPathDescription
GET/api/v1/alerts/historyPaginated alert history. Supports limit and rule_name filters
curl "http://127.0.0.1:4000/api/v1/alerts/history?limit=100"

Webhooks

Inbound webhook receivers for external integrations and an authenticated trigger dispatcher.
MethodPathDescription
POST/webhooks/linearLinear webhook receiver — processes issue and comment events
POST/webhooks/githubGitHub webhook receiver — processes repository and pull request events
POST/api/v1/webhooks/triggerDispatch an authenticated trigger action from an external system
Inbound receivers (/webhooks/linear, /webhooks/github) have a separate rate limit of 600 requests/minute. Configure the webhook URL in the corresponding provider’s workspace settings. POST /api/v1/webhooks/trigger requires the configured trigger credentials.

Codex Operator

Operator routes that proxy to the embedded Codex control plane. Each route forwards to a JSON-RPC method on the Codex app-server session. See Runtime concepts for context on the control-plane session lifecycle.

Session state

MethodPathDescription
GET/api/v1/codex/capabilitiesControl-plane feature flags and reported capabilities
GET/api/v1/codex/featuresList Codex experimental features. Supports limit and cursor
GET/api/v1/codex/collaboration-modesList available Codex collaboration modes

MCP servers

MethodPathDescription
GET/api/v1/codex/mcpList MCP servers registered with Codex. Supports limit and cursor
POST/api/v1/codex/mcp/oauth/loginBegin an OAuth login flow for a named MCP server
POST/api/v1/codex/mcp/reloadReload the MCP server configuration

Threads

MethodPathDescription
GET/api/v1/codex/threadsList Codex threads. Supports limit, cursor, sortKey, archived, modelProviders, and sourceKinds
GET/api/v1/codex/threads/loadedList threads currently loaded in memory
GET/api/v1/codex/threads/:threadIdRead a single thread. Pass includeTurns=true to return turn history
POST/api/v1/codex/threads/:threadId/forkFork a thread into a new session
POST/api/v1/codex/threads/:threadId/nameRename a thread
POST/api/v1/codex/threads/:threadId/archiveArchive a thread
POST/api/v1/codex/threads/:threadId/unarchiveUnarchive a thread
POST/api/v1/codex/threads/:threadId/unsubscribeUnsubscribe from a thread’s event stream

Account

MethodPathDescription
GET/api/v1/codex/accountRead the current Codex account
GET/api/v1/codex/account/rate-limitsRead Codex account rate-limit state
POST/api/v1/codex/account/login/startStart a Codex login flow. Accepts type and apiKey
POST/api/v1/codex/account/login/cancelCancel an in-progress login by loginId
POST/api/v1/codex/account/logoutLog out of the Codex account

Interactive input

MethodPathDescription
GET/api/v1/codex/requests/user-inputList pending user-input requests awaiting operator response
POST/api/v1/codex/requests/user-input/:requestId/respondRespond to a pending request with a result payload
All Codex routes return 503 when the control plane is not configured or is unreachable, 502 when the underlying Codex request fails, and 501 when the requested method is not supported by the installed Codex version.

Docs & Spec

Machine-readable API specification and interactive documentation.
MethodPathDescription
GET/api/v1/openapi.jsonOpenAPI 3.0 specification
GET/api/docsSwagger UI — interactive API explorer
curl http://127.0.0.1:4000/api/v1/openapi.json | jq .info

What’s Next

Last modified on April 10, 2026