Skip to main content
Everything the console does goes through an HTTP API, and agents can use it too. An agent is a token with a role: it sees what the role sees, runs what the role allows, and everything it does is in the history and audit log under its name.

Getting a token

An admin creates an agent in the project’s settings, under Agents, picks its role and copies the token, which is shown once. The same page shows the address of the current environment’s API:
Send the token as a bearer token:
Bodies are JSON. Errors come back with a status code and { "error": "..." }, and some with a code.

Items

GET /items lists items, newest activity first, 50 at a time: Each item has id, inbox, title, state, record, tags, assignee, occurrences, users, firstSeen, lastSeen, dueAt and fields. GET /items/:id returns one item with its blocks, linked records, suggested actions, triage’s answers and timeline. Changing an item:
POST /bulk changes many at once: { "ids": [...], "operation": { "type": "state", "state": "resolved" } }. Operations are state, assign, tags, snooze and action.

Records

Actions

Leave out record for actions that don’t take one. item is optional and records the action on that item’s timeline. Actions with a danger level need "confirmed": true. Actions that need a fresh sign-in can’t be run by agents; actions that need approval return { "pending": true } and wait under Approvals for a person. The response is the action’s result: { "message": "...", "blocks": [...] }, { "queued": true } if your app is offline, or { "running": true } for background actions. POST /available with { "refs": [{ "resource": "user", "id": "u_42" }] } says which actions apply to those records right now, and their defaults.

Pages

Flags

A change can set value, rollout (a percentage, for on and off flags, or null), targets (values by record id), rules, and ramp: { "to": 100, "over": 86400000, "every": 3600000, "at": null }, with durations and times in milliseconds, or null to stop one. Flags that need approval return { "pending": true }.

Approvals

Live updates

GET /live upgrades to a WebSocket that streams item changes, timeline events, flag changes and counts for everything the role can see, as JSON messages with a type.