Errors & limits

Errors use a consistent shape:

{ "error": { "type": "insufficient_credits", "message": "...", "request_id": "req_..." } }

Status codes

400invalid_requestA required parameter is missing or malformed.
401invalid_keyMissing, malformed, or revoked API key.
402insufficient_creditsNot enough credits — top up in the dashboard.
403seat_limitYou've hit your connected-account (seat) allowance.
409account_needs_reconnectThe X session expired and couldn't auto-heal — reconnect it.
429rate_limitedToo many requests. Honor the Retry-After header.
502upstream_errorThe upstream X layer failed. Safe to retry.

Rate limits

Limits are per-key, per-second. Exceeding them returns 429 with a Retry-After header. Need more throughput? Contact us.

Overuse protection

Requests are gated on your credit balance and seat allowance, and every call is metered in your usage ledger. Revoke a leaked key instantly from the dashboard.