The public API is served by the control plane under:Documentation Index
Fetch the complete documentation index at: https://docs.acornops.dev/llms.txt
Use this file to discover all available pages before exploring further.
/api to the control plane so browser auth callbacks and session cookies stay on https://console.acornops.dev. Runtime traffic between platform services uses separate internal credentials and should stay on private network paths.
Auth
| Flow | Endpoint |
|---|---|
| OIDC login | GET /api/v1/auth/oidc/login?return_to=<management-console-url> |
| OIDC callback | GET /api/v1/auth/oidc/callback |
| Password login | POST /api/v1/auth/password/login |
| Password signup | POST /api/v1/auth/password/signup |
| Logout | POST /api/v1/auth/logout |
| Current user | GET /api/v1/me |
https://console.acornops.dev/api/v1/auth/oidc/callback. If the deployment overrides the redirect URI, register the exact override value.
Workspaces and members
Workspaces group members, clusters, sessions, runs, tools, MCP servers, and webhooks. Common workspace endpoints:GET /api/v1/workspacesPOST /api/v1/workspacesDELETE /api/v1/workspaces/{workspaceId}GET /api/v1/workspaces/{workspaceId}/membersPOST /api/v1/workspaces/{workspaceId}/membersPATCH /api/v1/workspaces/{workspaceId}/members/{userId}DELETE /api/v1/workspaces/{workspaceId}/members/{userId}GET /api/v1/workspaces/{workspaceId}/invitationsPOST /api/v1/workspaces/{workspaceId}/invitationsDELETE /api/v1/workspaces/{workspaceId}/invitations/{invitationId}GET /api/v1/workspace-invitations/{token}POST /api/v1/workspace-invitations/{token}/accept
Roles
| Role | Main capabilities |
|---|---|
owner | Full workspace control, owner management, clusters, tools, MCP servers, keys, read-only and read-write runs |
admin | Manage non-owner members, clusters, tools, MCP servers, keys, read-only and read-write runs |
operator | Create sessions, create read-only runs, read allowed logs, cancel runs |
viewer | Read workspace, cluster, session, and run data |
Clusters
Cluster endpoints:GET /api/v1/workspaces/{workspaceId}/clustersGET /api/v1/workspaces/{workspaceId}/clusters/{clusterId}POST /api/v1/workspaces/{workspaceId}/clusters/registerPATCH /api/v1/workspaces/{workspaceId}/clusters/{clusterId}DELETE /api/v1/workspaces/{workspaceId}/clusters/{clusterId}POST /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/rotate-agent-keyGET /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/pods/{namespace}/{podName}/logs
Sessions and runs
Session and run endpoints:POST /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/sessionsGET /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/sessionsDELETE /api/v1/sessions/{sessionId}GET /api/v1/sessions/{sessionId}/messagesPOST /api/v1/sessions/{sessionId}/messagesGET /api/v1/runs/{runId}GET /api/v1/runs/{runId}/eventsGET /api/v1/runs/{runId}/streamPOST /api/v1/runs/{runId}/cancel
content, toolAccessMode, and clientMessageId, then returns message_id and run_id.
Run events are replayable through the events endpoint and streamable through server-sent events. Events include a sequence number, timestamp, type, and payload. Current event types include run lifecycle, assistant message, token delta, tool-call, failure, cancellation, and completion events.
Tools and MCP servers
Tool catalog and MCP endpoints:GET /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/tools/catalogPATCH /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/tools/{toolName}GET /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/mcp/serversPOST /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/mcp/serversPATCH /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/mcp/servers/{serverId}DELETE /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/mcp/servers/{serverId}POST /api/v1/workspaces/{workspaceId}/clusters/{clusterId}/mcp/servers/{serverId}/test-connection
tools/list, then calls tools with tools/call during authorized runs.
Webhooks
Webhook management endpoints:GET /api/v1/workspaces/{workspaceId}/webhooksPOST /api/v1/workspaces/{workspaceId}/webhooksGET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}PATCH /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}DELETE /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}GET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/history
AcornOps-Event-IdAcornOps-Event-TypeAcornOps-TimestampAcornOps-Signature
timestamp + "." + raw_json_body, signed with HMAC-SHA256 and encoded as v1=<hex>.