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:{ "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
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
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.