Errors
Every error has one shape, a code and a sentence:
{ "error": "validation", "message": "waypoint \"KSFO\": lat/lon out of range" }
Some add fields: errors (per field) on a request that fails validation, unresolved and resolved_route on route_unresolved, almanac on almanac_untrusted.
- 400
bad_request: a required parameter is missing or malformed.unknown_field: the body has a field this endpoint does not take. - 401
unauthenticated: missing or invalid key. - 403
forbidden: the key cannot use this endpoint.licence_required: the organisation has used its free allowance of counted requests and has not accepted the licence agreement; an owner or admin accepts it in the console (app.bravoecho.ai/licence). Beta endpoints keep answering. - 404
not_found. - 409
alert_limit: the organisation already has 25 active alerts. - 422
validation: the message names the field.route_unresolved: a route string has a point we cannot place. - 429
rate_limited: back off for the number of seconds in theRetry-Afterheader, then retry.quota_exceeded: the organisation's monthly cap of counted requests is reached;Retry-Afterruns to the start of next month. Beta endpoints keep answering. - 503
almanac_untrusted: the requested time is too far from the almanac to predict (more than 30 days).upstream_unavailable: a backing service is down. - Do not retry other 4xx responses. 5xx: retry once after a short delay, then surface the error.