API reference

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 the Retry-After header, then retry. quota_exceeded: the organisation's monthly cap of counted requests is reached; Retry-After runs 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.