Errors
Every error has the same shape. message comes in the language requested with lang, and docs leads to the explanation below. An error costs no credits.
The shape of an error
{
"error": {
"code": "quota_exceeded",
"message": "You used all the credits of the period.",
"docs": "https://developer.satelit.md/en/errors/#quota_exceeded"
}
}401auth_required
When it appears: The call has no key.
What to do: Send Authorization: Bearer sat_live_… or X-Api-Key.
401key_invalid
When it appears: The key is unknown or has been revoked. After 30 wrong attempts per minute from the same IP, the response becomes 429.
What to do: Check the key in the dashboard. If it is revoked, create another.
402plan_required
When it appears: The account has no plan, or your plan does not include this: webhooks, feed, export. The choose field links to the pricing page.
What to do: Choose a plan on the pricing page and ask for it in the dashboard. A refused call costs nothing.
403not_available
When it appears: This product's sources are not available in the API right now.
What to do: See the status page or write to hello@satelit.md.
403account_suspended
When it appears: The account was suspended by an administrator.
What to do: Write to us at hello@satelit.md.
404not_found
When it appears: The route or the row does not exist.
What to do: Check the address and the identifier in the reference.
405method_not_allowed
When it appears: You used a method other than GET, HEAD or OPTIONS.
What to do: Use GET. The API only reads.
422invalid
When it appears: A parameter is wrong. The fields field says which.
What to do: Correct the parameters listed in fields. The formats are in the reference.
429rate_limited
When it appears: You went over your plan's per-minute limit.
What to do: Wait the number of seconds in Retry-After and retry the call.
429quota_exceeded
When it appears: You used all the credits of the period.
What to do: Wait for the reset in X-Credits-Reset or request a larger plan. Nothing extra is billed.
503busy
When it appears: The service has too many responses in progress or the database is not answering.
What to do: Wait the number of seconds in Retry-After and retry the call.