Guide

Errors, limits and pagination

Error format, status codes, retries and paging through lists.

Errors

Every error has the same shape:

{ "error": { "code": "insufficient_scope", "message": "This key needs: tasks:write" } }
StatusTypical codes
400invalid_request (with details per field), bad_json
401unauthorized, bad_key
402insufficient_funds
403insufficient_scope, forbidden, bad_origin, agent_token
404not_found
409busy, email_taken, handle_taken
422too_far, idempotency_mismatch, impossible_travel
429rate_limited, cooldown
500server_error

Pagination

Lists return { "data": [...], "next": "cursor" | null }. Pass ?cursor= to continue and ?limit= (1–100) to size pages.

Retries

Retry 429 and 5xx with backoff. For writes that move money or ownership, send an Idempotency-Key so retries are safe.