https://app.agentlinkops.com. Shared cloud operations use POST /v1/commands/{name}. Read the authenticated catalog with GET /v1/commands.
Request contract
Send a scoped bearer credential inAuthorization. Optional X-Workspace-ID must match that credential’s workspace. Human browser sessions use their own workspace selection and membership checks. A browser Origin must match the API’s configured public origin. See human access.
JSON bodies must be objects, UTF-8, with Content-Type: application/json. The request cap is 256 KiB and body-read timeout is ten seconds. The generic command catalog accepts no query string. Generic command calls reject query parameters and the Idempotency-Key header: put every argument, including idempotencyKey, in the body.
A successful generic call returns the operation’s JSON result directly, with HTTP 200 and Cache-Control: no-store. It does not add a data envelope. Resource-route statuses and raw-evidence download behavior appear in the route index.
Errors
The operation page lists its source-derived error codes. Permission denial and disabled supplier admission are not fixed by repeated requests.
Pagination and retained history
Use an operation’s documentedcursor and limit. Store returned cursors unchanged; do not construct or edit them. Keep cursors bound to the same workspace, filters and feed. Follow next_cursor until the page says there is no continuation. Event feeds retain a checkpoint in next_cursor even when has_more is false; stop paging when has_more is false and save that checkpoint for the next poll. Not every list uses identical pagination: member lists and the command catalog are not cursor feeds.
Placement events and target_events have independent sequence spaces. Keep two checkpoints. On CURSOR_EXPIRED, preserve the gap, fetch the instructed snapshot and resume from the supplied cursor. A snapshot restores current state; it does not recover expired events. EVIDENCE_EXPIRED means raw bytes are unavailable, while retained observation metadata may still be readable.
Asynchronous work and retries
An accepted job means work was queued. Poll its documented job/run/batch reader until the returned state is terminal. Read observations and errors from that result before reporting success. Local source coverage does not prove a hosted supplier is admitted. For operations that acceptidempotencyKey, reuse the same value and the same arguments when retrying an uncertain write. Resource aliases take that value in the Idempotency-Key header where listed. Do not invent that argument for other commands. Read current state before repeating a write without an idempotency contract.
The local cloud client uses a 30-second request timeout, rejects redirects and performs no general automatic retry. Sync owns its cursor recovery. Webhook dispatch has a separate delivery retry contract.
Reference follows the current development CLI and HTTP contracts. Hosted availability depends on the selected environment. See capability status.