Use this path when you want to build around AcornOps rather than only operate the platform. Common examples include Mattermost or Slack-style bots, incident workflow automation, custom dashboards, and internal tools that react to AcornOps run events.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.
Integration surfaces
| Surface | Use it for | Notes |
|---|---|---|
| Control-plane API | Workspaces, clusters, sessions, runs, approvals, tool settings, MCP server settings | Public API under https://acornops.dev/api/v1; v1 calls require an authenticated AcornOps user session. |
| Webhooks | Event-driven bots and workflow automation | Verify every delivery signature before processing the payload. |
| Run events and SSE | Custom run timelines or signed-in user experiences | Use replayable run events and GET /api/v1/runs/{runId}/stream for live updates. |
| MCP server configuration | Connecting external tool providers | Add remote MCP servers through the control-plane API or management console, then enable discovered tools. |
Auth model for integrations
The public control-plane API is session-based. Browser clients use the sameSameSite=Lax session cookie as the management console. Mutating requests with a session cookie, plus password login and signup before a session exists, must echo the CSRF token in x-csrf-token.
AcornOps v1 does not expose a public PAT or bot service-account credential for the control-plane API.
For v1 integrations, keep user actions attributable:
- use webhooks for bot notifications and workflow triggers,
- send users to the management console or an authenticated client flow for privileged actions,
- call approval endpoints only as a real AcornOps user with the required workspace permission,
- avoid shared bot-user decisions for write approvals.
ORCH_SERVICE_TOKEN, BUILTIN_MCP_SERVICE_TOKEN, EXECUTION_ENGINE_DISPATCH_TOKEN, and LLM_GATEWAY_ADMIN_TOKEN are platform credentials. They are not public integration credentials.
Bot adapter pattern
A Mattermost-style adapter usually follows this flow:- Subscribe to the AcornOps webhook events the bot needs.
- Verify
AcornOps-Signatureusing the subscription secret. - Map the event to a channel, thread, incident, or user-visible card.
- For read-only context, link to the management console or fetch allowed public API data from a client flow that has an authenticated user session.
- For write approvals, render approve and reject controls only when the click can be tied back to a real AcornOps user.
- Submit approval decisions to
POST /api/v1/runs/{runId}/approvals/{approvalId}/decision.
Webhook events
Webhook delivery is best-effort and signed with HMAC-SHA256. Consumers should handle duplicates and out-of-order delivery. Each delivery includes:AcornOps-Event-IdAcornOps-Event-TypeAcornOps-TimestampAcornOps-Signature
timestamp + "." + raw_json_body, encoded as v1=<hex>.
Write approval integrations should handle:
run.tool_approval_requested.v1run.tool_approval_decided.v1
mcp.server.created.v1mcp.server.updated.v1mcp.server.deleted.v1mcp.server.tested.v1
Tool and MCP integrations
There are two different integration directions:| Goal | Recommended path |
|---|---|
| Let AcornOps call your external tools | Expose an MCP server, add it to a workspace/cluster, test discovery, then enable reviewed tools. |
| Let your app react to AcornOps activity | Subscribe to webhooks and call public control-plane endpoints with an authenticated user session when needed. |
publicHeaders. Credentials must use the secret-backed auth fields. Platform scope headers such as x-workspace-id, x-cluster-id, and x-run-id are reserved and added by the gateway.
See MCP and tools for MCP setup and header policy.
Start here
Use this sequence for a new integration:- Confirm the platform is deployed and reachable from your integration host.
- Decide whether the integration is webhook-driven, user-session driven, or both.
- Create a workspace webhook subscription for the required event types.
- Verify signatures before acting on payloads.
- Use API reference for public control-plane endpoints.
- Use MCP and tools only when AcornOps should call tools exposed by another system.