IntegrationsErrors and limits

Errors, limits and idempotency

Handle REST and MCP responses safely.

Errors and limits

The REST API returns JSON errors with error and message fields.

HTTP statusInterpretationSuggested action
400Invalid parameters or missing request IDCorrect request
401Invalid, expired, missing or revoked credentialReauthorize or replace key
403Scope or organization/workspace access deniedReduce scope or change account permission
404Unknown endpoint or inaccessible resourceCheck route and ID
409Conflicting idempotency key or unsafe stateCheck thread status before retrying
429Developer key rate limit reachedBack off and reduce calls
500Unexpected server failureRetry reads with backoff; investigate writes before retry

API key limits

The current developer-key implementation limits each key to 60 authenticated requests per minute. Further infrastructure or account-specific limits may be in place. Ask for only the data you need; requests with limit parameters support explicit maximums.

Idempotency for writes

Three REST operations modify data: POST /conversations/watch, POST /drafts, and POST /followups/pause. Every write needs either JSON requestId or the Idempotency-Key header.

Accepted characters: A-Z, a-z, 0-9, _, ., :, -; 8–100 characters.

Reuse a key only to represent the same logical operation with the same arguments. The API rejects using the same key for a different action. A request that is already processing or ended in an uncertain state produces a conflict; check status before deciding to try again.

Safety

A draft is not a sent email. Nudge requires an existing sent conversation for watching and drafting. A mailbox configured for auto-send is not eligible for external watch/draft writes.

Access management

Create/revoke developer keys, set their scope/expiration/workspace and disconnect OAuth clients in Settings → Developer API. Rotate keys and disconnect apps that no longer need access.