Agent API · Enterprise

Cadence Ops is the OS kernel. Your agent is the orchestrator.

The Cadence Ops Agent API exposes the Event Operations OS as a scoped, signed and audited REST surface. Every call is RLS-enforced and written to the audit log — your agent gets the same guardrails as your team, because it is orchestrating against the same kernel.

Getting started · 5 steps

From mint to first write, safely.

Every example uses YOUR_AGENT_TOKEN as a placeholder — never paste a real token into any public surface.

  1. 1

    Mint a scoped token

    In Settings → Agent API, create a token and pick scopes (events:read, milestones:write, pins:read, …). Copy the bearer token — it is shown once.

  2. 2

    Verify the token

    Confirm the token works by calling /me. The response includes the workspace, granted scopes and token id.

    curl -H "Authorization: Bearer YOUR_AGENT_TOKEN" \
      https://cadenceops.app/api/public/agent/v1/me
  3. 3

    Register the OpenAPI spec

    Point Hermes, Agentzero A0, GPTs, Claude or any tool-using agent at the OpenAPI 3.1 spec — tools auto-discover.

    https://cadenceops.app/api/public/agent/v1/openapi.json
  4. 4

    Make a read-only request

    Start with a safe read. List events for the next week — no writes, no surprises.

    curl -H "Authorization: Bearer YOUR_AGENT_TOKEN" \
      "https://cadenceops.app/api/public/agent/v1/events?from=2026-06-01&to=2026-06-07"
  5. 5

    Add write scopes only when ready

    When the read flow is solid, mint a second token with write scopes. Or extend the existing token from Settings → Agent API. Every write is audit-logged.

    curl -X PATCH \
      -H "Authorization: Bearer YOUR_AGENT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"status":"complete"}' \
      https://cadenceops.app/api/public/agent/v1/milestones/m_8421

Example response

Example format

Shape shown for illustration. Authoritative field list lives in the OpenAPI spec.

{
  "data": [
    {
      "id": "evt_92a1",
      "name": "Bush Doof — Main Stage",
      "starts_at": "2026-06-03T18:00:00+10:00",
      "ends_at":   "2026-06-04T02:00:00+10:00",
      "status": "confirmed",
      "venue": "Parklands"
    }
  ],
  "page": { "next": null }
}

Token scopes

Scopes are colon-separated resource:action pairs. Read scopes: events:read, milestones:read, equipment:read, movements:read, pins:read, chat:read, email:read. Write scopes mirror reads with :write. Combine them per token.

Read-only usage

Tokens with only :read scopes can never mutate state, regardless of the request method. Use these for dashboards, monitors and exploratory AI agents.

Write usage

Tokens with :write scopes can PATCH, POST and DELETE within those scopes only. Writes inherit the workspace owner's role and the same row-level security as the UI.

Safe AI writes

We recommend AI agents use a token with only the writes they need. Pair with approval workflows for sensitive actions and simulation mode to preview a change before it ships.

Audit logs

Every Agent API call is logged with token id, scope, route, request and response status. Review in Settings → Audit.

Token rotation

Rotate a token by creating a new one and revoking the old one. Old tokens stop working immediately; their audit history is preserved.

Error responses

Errors are JSON: { error: { code, message } }. Common codes: unauthorized (bad/missing token), forbidden (token lacks scope), not_found, validation_error, rate_limited.

Rate limits

Per-token soft limits apply to protect tenants. Hitting a limit returns 429 with a Retry-After header. Custom plans can lift limits on request.

Ready to mint your first token?Open Settings → Agent API
Agent integrations
Agentzero A0 · Deep dive

Drop Cadence Ops into your A0 agent in three calls.

Agentzero A0 talks to Cadence Ops over a scoped REST token. Mint the token in Settings → Agent API, register the OpenAPI spec as an A0 tool, and your agent can read events and update milestones with the same RLS guardrails as your team.

Enterprise planBearer token authOpenAPI 3.1
Request flow
  1. 1
    A0 receives prompt
    Operator asks the agent in natural language.
  2. 2
    A0 picks the tool
    Resolves intent against the Cadence Ops OpenAPI spec.
  3. 3
    Signed REST call
    GET /api/public/agent/v1/events with bearer token + scope check.
  4. 4
    RLS-scoped response
    Cadence Ops returns only rows the token's org can see.
  5. 5
    A0 formats answer
    Tool output is summarised back to the operator + logged.
Operator prompt → A0
agentzero.run()

"Which load-ins are scheduled for next week, and mark the rig check for Event A as complete."

Tool call · Cadence Ops
2 calls · 412ms
GET  /api/public/agent/v1/events?from=2026-06-01&to=2026-06-07
     Authorization: Bearer a0_live_••••7f3c

PATCH /api/public/agent/v1/milestones/m_8421
     { "status": "complete" }
A0 response → operator
streamed

3 load-ins next week:

  • Mon · 06:00 — Event A, Main Hall (rig check)
  • Wed · 14:00 — Event E, Stage 2
  • Fri · 09:00 — Event F pre-build, Parklands

✓ Milestone m_8421 "Rig check — Event A" marked complete.