Request and response envelopes
{
"id": "client-generated-id",
"method": "query",
"resource": "current-show",
"parameters": { "limit": 50 },
"callbackURL": "https://automation.example/sybilsight/result",
"callbackHeaders": { "X-Request": "client-generated-id" }
}
method is one of discover, query, action, schedule, poll, subscribe, or unsubscribe. Query requests set resource; action requests set action. IDs are echoed unchanged.
{
"type": "integration_response",
"requestId": "client-generated-id",
"ok": true,
"result": { /* resource or action result */ },
"timestamp": "2026-07-31T18:45:00.000Z"
}
Failures set ok: false and include error.code, error.message, and optional structured error.details. Additive fields may appear; integrations should ignore fields they do not recognize.
Queryable resources
| Resource | Optional parameters | Returns |
|---|---|---|
| capabilities | — | API version, transports, auth, and the complete resource/action catalog. |
| status | — | App readiness, foreground state, connectivity, live work, and automation counts. |
| apps | id, filter, running | Catalog apps with lifecycle, compatibility, display access, and visibility. |
| running-apps | — | Running and foregrounded apps and miniapps. |
| shows | id, filter | Saved Shows library. |
| current-show | — | Live show, cue, standby, deck, hold, duck, camera, and timer state. |
| routines | id, filter | Visible routine library, triggers, branches, anchors, readiness, and armed state. |
| current-routine | — | Live routine text, choices, reveal state, and candidate match. |
| lists | — | Discovery across all list-like collections. |
| quicklist | id, completed | Quicklist items, focus, completion, and glasses presentation state. |
| variables | id, filter | Persistent third-party integration variables. |
| queues | — | Queue discovery and sizes. |
| peek-queue | id, limit | Peek inbox/history, active queue, current item, and unread state. |
| tasks | — | Current show, routine, app, and integration-automation work. |
| settings | id, filter | Redacted settings snapshot; secrets and endpoint credentials are never returned. |
| devices | — | Glasses, case, ring, WebSocket, phone, battery, and wear state. |
| captions | filter, limit | Recent finalized captions and speaker labels. |
| gallery | filter, limit | Downloaded media and gallery sync state. |
| integrations | id, filter | Configured routine integrations with credentials and resolved URLs redacted. |
| schedules | id | Persisted scheduled action jobs and last-run state. |
| polls | id | Persisted resource polls, cadence, fingerprint, and delivery state. |
| callbacks | id | Schedules and polls configured for outbound callback delivery. |
| navigation | — | Current app route and navigation stack. |
| events | limit | Up to the most recent 200 Integration API events. |
Controllable actions
| Domain | Actions | Inputs |
|---|---|---|
| Apps | app.start, app.stop, app.foreground, app.hide, app.show, app.display-access | id; display-access also takes allowed. |
| Shows | show.open, show.close, show.control | id; or command for any Shows action. |
| Routines | routine.start, routine.stop, routine.rearm, routine.enable, routine.branch, routine.reveal | id, value?, anchor?, set?; enabled; or zero-based index. |
| Quicklist | quicklist.add, quicklist.rename, quicklist.toggle, quicklist.remove, quicklist.clear, quicklist.present | title, id, and/or enabled as applicable. |
| Variables | variable.set, variable.delete, variable.clear | name and any JSON value. |
| Queues | queue.enqueue, queue.load, queue.select, queue.next, queue.previous, queue.clear | value/source/show, values/seconds/show, or id. |
| Peek | peek.text, peek.clear | text. |
| Captions | captions.start, captions.stop, captions.search, translation.set | query/limit or enabled. |
| Status | status-bar.set, status-bar.template | enabled or template. |
| Glasses | glasses.connect, glasses.disconnect, glasses.brightness | level from 0 through 100 where applicable. |
| Assistant | assistant.ask, assistant.activate, recording.set | question or enabled. |
| Display | display.reveal, display.notify, display.clear, camera.start | seconds or text where applicable. |
| System | navigation.open, settings.set, callback.test | url/path; key/value; or url/payload. |
| Schedules | schedule.create, schedule.delete, schedule.run | request/runAt/intervalSeconds/repeatCount/callbackURL, or id. |
| Polls | poll.create, poll.delete, poll.run | resource/intervalSeconds/callbackURL/changedOnly, or id. |
Actions are deliberately limited to app-owned, automation-safe controllers. They do not expose bearer tokens, saved credentials, raw Keychain records, arbitrary filesystem access, or unrestricted process execution.