/Errors

API

Errors

What each error means, and what to do about it.

Errors use the same shape as Stripe and OpenAI, so SDKs show our message:

JSON
{ "error": { "type": "guard_error", "code": "rule_denied", "message": "POST /v1/refunds is not allowed for this key", "request_id": "..." } }
StatusCodeMeaning
401unauthorizedMissing or invalid ghost key or token.
403rule_deniedThe key's rules do not allow this request, for example from this address or country.
403key_killedThe key was killed, by someone on the team or automatically.
403key_inactiveA new ghost key that has not started yet: it waits for the safety hour or a second admin.
409conflictThe management API refused a change that clashes with another one, such as replacing the real key of one ghost key that shares it.
429rate_limitedA per-minute or daily request limit was reached.
429quota_exceededA Free account reached twice its monthly requests. Requests resume next month, or at once after an upgrade.
402plan_limitThe management API refused a change the account's plan does not include, such as a fourth key on Free.
400bad_requestThe request could not be checked safely, for example duplicated amounts.
502upstream_errorThe provider could not be reached.

Every response carries an x-guard-request-id header. Include it when you contact us.

Still have a question?

We read every email, usually within a day.

Contact support