Errors

All errors return a consistent JSON structure with an error object. The HTTP status code indicates the category of error.

Error response format

Error response
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_airport_code",
    "message": "origin must be a supported 3-letter IATA code.",
    "field": "origin"
  }
}
ParameterTypeRequiredDescription
typestringYesError category: "invalid_request", "auth_error", "billing_error", "not_found", or "upstream_error".
codestringYesMachine-readable error code (see table below).
messagestringYesHuman-readable error message.
fieldstringNoThe request field that caused the error, when applicable.

Error codes

CodeStatusDescription
invalid_airport_query400Airport search query is shorter than 2 characters.
invalid_airport_code400Origin or destination is not a supported 3-letter IATA code.
duplicate_route_airports400Origin and destination are the same airport.
invalid_date_range400Return date is earlier than departure date.
missing_return_date400Round-trip request is missing the return_date field.
too_many_passengers400Total passenger count exceeds 9.
invalid_infants_on_lap400Lap infants exceed number of adults.
invalid_market400Market is not a valid 2-letter country code.
unsupported_market400Market is valid but not currently supported.
invalid_airline_code400An airline code is not a valid 2-character code.
conflicting_airline_filters400airlines_include and airlines_exclude share codes.
empty_airline_filter400airlines_include or airlines_exclude was provided but empty.
invalid_time_range400departure or arrival earliest_hour is greater than latest_hour.
invalid_fare_request400Fare request could not be translated into a valid upstream request.
invalid_booking_request400Booking request could not be translated into a valid upstream request.
missing_booking_fields400Manual booking request is missing required fields.
conflicting_booking_lookup_mode400Request mixes ignav_id with manual, passenger, or market fields.
missing_inbound_carrier_code400inbound_carrier_code is required when return_date is set.
missing_inbound_flight_number400inbound_flight_number is required when return_date is set.
unexpected_inbound_flight_number400return_date is required when inbound_flight_number is provided.
unexpected_inbound_carrier_code400return_date is required when inbound_carrier_code is provided.
ignav_id_not_found404The ignav_id was not found.
itinerary_not_found404Could not find the specified itinerary.
api_key_required401The X-Api-Key header is missing.
invalid_api_key401The X-Api-Key header is invalid.
email_not_verified403Email must be verified before calling API endpoints.
billing_required402Billing setup is required after free requests are exhausted.
billing_blocked402Billing is blocked for this account.
invalid_request_body400Request body is invalid (missing fields, wrong types, malformed JSON, or extra fields).
unable_to_complete_request424An upstream error occurred. Retry the request or try different parameters.

Ready to get started?

Create a free account to get your API key, or try the playground — no signup required.