Skip to navigation

Error codes

Every error answer carries a code. These are the codes the Flight API and the platform can return.

CodeHTTPWhat happened
ALREADY_TICKETED422This booking is already ticketed.
API_KEY_CHECK_BUSY503Too many API keys are being checked right now. Retry shortly.
API_VERSION_UNKNOWN400The Kitionz-Version header names a version that does not exist.
AUTH_PRINCIPAL_MISSING401Authentication required.
BAD_REQUEST400The request could not be understood.
BOOK_CONTACT_EMAIL_REQUIRED400This supplier needs a contact email for the booking.
BOOK_CONTACT_PHONE_UNSUPPORTED400This supplier cannot accept the contact phone number in this form.
BOOK_PASSENGER_COUNTRY_UNSUPPORTED400One passenger’s nationality or passport country is not a country this supplier can use.
BOOK_PASSENGER_TITLE_UNSUPPORTED400This supplier does not accept one of the passenger titles.
BOOK_PAX_COUNT_MISMATCH400The passenger list does not match the passenger counts of the quote.
BOOK_PAX_SHAPE_UNSUPPORTED400This supplier cannot book this combination of passengers.
BOOKING_ALREADY_FULFILLED409This booking was already fulfilled with a different PNR.
BOOKING_CONNECTION_MISMATCH409This booking was made through a supplier connection that has since been replaced.
BOOKING_IN_PROGRESS409A booking for this Idempotency-Key is already in progress. Check its status.
BOOKING_KEY_REUSED_DIFFERENT_OFFER422This Idempotency-Key was already used to book a different offer.
BOOKING_NOT_CANCELLABLE422This booking cannot be cancelled.
BOOKING_NOT_PENDING409This booking is no longer waiting for fulfilment.
BOOKING_NOT_REFUNDABLE422This booking cannot be refunded.
BOOKING_NOT_TICKETABLE422This booking cannot be ticketed in its current state.
BOOKING_STATE_CHANGED409The booking changed while this request was running. Read it again.
CAPABILITY_NOT_SUPPORTED422This supplier does not support this operation.
CONFIGURATION_CURRENCY_REJECTED500Kitionz refused a supplier answer in an unsupported currency.
CONFIGURATION_ERROR500A required server setting is missing.
CONFLICT409The request conflicts with the current state of the resource.
CONNECTION_NOT_ADMISSIBLE403This supplier connection cannot take this traffic yet.
CONNECTION_NOT_REQUESTABLE409This connection cannot request go-live in its current state.
CONNECTOR_NOT_ADMISSIBLE403This supplier cannot take this traffic yet.
CONNECTOR_NOT_CONNECTED403This supplier is not connected for this environment.
DUPLICATE_RECORD409A record with the same unique value already exists.
ENVIRONMENT_NOT_THIS_ADDRESS403This credential can only use its own environment.
FARE_CURRENCY_MISMATCH409The fare is in a different currency from the quote.
FARE_HIGHER_THAN_QUOTED409The supplier now asks more than the quoted fare. Get a new quote.
FARE_QUOTE_UNUSABLE422The supplier’s price for this fare cannot be used. Nothing was booked.
FARE_RECHECK_FAILED409Kitionz could not confirm this fare as quoted just before booking. Nothing was booked.
FEATURE_PRODUCTION_DISABLED403This feature is turned off in Live for your organization.
FEATURE_SANDBOX_DISABLED403This feature is turned off in Test for your organization.
FORBIDDEN403You are not allowed to do this.
GO_LIVE_PRODUCTION_ONLY422Go-live applies to the production connection only.
HEADERS_TOO_LARGE431The request headers are too large.
HOLD_NOT_SUPPORTED_FOR_THIS_OFFER422This offer cannot be held. Book it directly.
IDEMPOTENCY_KEY_MALFORMED400The Idempotency-Key header is not a valid key.
IDEMPOTENCY_KEY_REQUIRED400This write request needs an Idempotency-Key header.
IDEMPOTENCY_KEY_REUSED_WITH_DIFFERENT_PARAMS422This Idempotency-Key was already used with a different request body.
IDEMPOTENCY_OWNER_MISSING403The request could not be tied to an account, so it was not run.
IDEMPOTENT_REQUEST_IN_PROGRESS409A request with this Idempotency-Key is still running.
INSUFFICIENT_SCOPE403This API key does not have the scope this endpoint needs.
INSUFFICIENT_SEATS409Not enough seats are left on this fare.
INTERNAL_ERROR500Something went wrong on our side. It is not caused by your request.
INVALID_JSON400The request body is not valid JSON.
INVALID_REQUEST400The request is invalid.
IP_NOT_ALLOWED403This API key is not allowed from your IP address.
KEY_WRONG_ADDRESS403This credential belongs to the other address.
LENGTH_REQUIRED411The request needs a Content-Length header.
LIVE_ONLY403This action needs your Live key.
MALFORMED_FLIGHT_DATA502The booking could not be saved after the supplier accepted it. Do not book again; contact support.
METHOD_NOT_ALLOWED405This endpoint does not accept that HTTP method.
MODULE_NOT_ENABLED403This product is not enabled for your organization.
MODULE_PRODUCTION_NOT_ENABLED403This product is not enabled for production use yet.
MULTIPART_NO_FILE400The upload has no file part.
NOT_ACCEPTABLE406The request is not in the format this endpoint accepts.
NOT_AVAILABLE_IN_TEST403This part of Kitionz is not available in Test yet.
NOT_FOUND404The requested resource does not exist, or is not visible to your organization.
NOT_ON_THIS_ADDRESS404This endpoint is not available on this address.
OFFER_EXPIRED410This offer has expired. Search again.
OFFER_SOURCE_MISMATCH400This offer belongs to a different supplier than the one in the request.
OFFER_TRIP_MISMATCH400The travel date or trip type in the request does not match the chosen offer.
ORG_SUSPENDED401Your organization is suspended. Contact support.
PASSENGER_FIELD_REQUIRED422A passenger field this itinerary needs is missing. error.details.violations lists each one.
PASSPORT_EXPIRY_TOO_SOON422A passport expires too soon for this itinerary.
PAX_ADULT_REQUIRED400At least one adult passenger is required.
PAX_COUNT_EXCEEDED400Too many passengers for one booking.
PAX_INFANT_EXCEEDS_ADULT400There cannot be more infants than adults.
PAYLOAD_TOO_LARGE413The request body is larger than this endpoint accepts.
QUOTE_TOKEN_ALREADY_USED409This quote was already used to book.
QUOTE_TOKEN_AUDIENCE_MISMATCH400This quote token is not valid for this endpoint.
QUOTE_TOKEN_ENV_MISMATCH403This quote token was issued for another environment.
QUOTE_TOKEN_EXPIRED410This quote has expired. Get a new quote.
QUOTE_TOKEN_FUTURE_IAT400This quote token has an issue time in the future.
QUOTE_TOKEN_INVALID400This quote token is not valid.
QUOTE_TOKEN_OFFER_MISMATCH409This quote token is for a different offer.
QUOTE_TOKEN_ORG_MISMATCH403This quote token belongs to another organization.
QUOTE_TOKEN_PAX_MISMATCH409The passengers or dates do not match the quote.
QUOTE_TOKEN_REQUIRED400A quote token from fare-quote is required to book.
QUOTE_TOKEN_SOURCE_MISMATCH409This quote token is for a different supplier.
QUOTE_TOKEN_VERSION_UNSUPPORTED400This quote token version is no longer supported. Get a new quote.
RATE_LIMIT_EXCEEDED429Too many requests. Slow down and retry after the Retry-After time.
REFUND_EXCEEDS_REMAINING400The refund is more than the amount left to refund.
REQUEST_BOOKING_UNAVAILABLE503Offline (request) bookings are not available in this environment.
REQUEST_NOT_SUPPORTED_FOR_THIS_OFFER422This offer cannot be booked as an offline request.
REQUEST_TIMEOUT408The request took too long to arrive.
RETURN_DATE_REQUIRED400This supplier needs a return date for a round-trip search.
ROUND_TRIP_NOT_SUPPORTED422This supplier or booking type cannot handle a round trip in one request.
SANDBOX_BOOKING_PREDATES_SIMULATION409This Test booking was made before Test bookings were simulated.
SEARCH_MULTI_CITY_UNSUPPORTED422This supplier cannot search multi-city itineraries.
SEAT_SELECTION_NOT_SUPPORTED_FOR_THIS_OFFER422This offer does not allow seat selection.
SERVICE_UNAVAILABLE503The service is temporarily unavailable.
SIMULATED_REFERENCE_NOT_ALLOWED400A Test supplier reference cannot be recorded on a Live booking.
SOURCE_CODE_NOT_ACCEPTED400Do not send sourceCode — the offer reference already identifies the supplier.
SSR_NOT_SUPPORTED_FOR_THIS_OFFER422This offer does not allow special service requests.
SUPPLIER_ACCOUNT_NOT_READY409This seller’s account with the supplier is not set up for booking yet. Nothing was booked.
SUPPLIER_API_CHANNEL_FORBIDDEN403This supplier is not available through the API.
SUPPLIER_AUTH_FAILED502The supplier rejected the login for this connection.
SUPPLIER_BOOK_FAILED502The supplier refused the booking.
SUPPLIER_BOOK_MISSING_TOKEN502The stored offer is missing a value the supplier needs to book. Search again.
SUPPLIER_BOOK_OUTCOME_UNKNOWN502The supplier did not say whether the booking went through. Check the booking status; do not book again.
SUPPLIER_BOOKING_DETAILS_FAILED502The supplier could not return the booking details right now.
SUPPLIER_BOOKING_NOT_FOUND502The supplier has no booking with this reference.
SUPPLIER_BUSINESS_ERROR502The supplier refused the request.
SUPPLIER_CONSOLE_CHANNEL_FORBIDDEN403This supplier is not available in the console.
SUPPLIER_DISABLED_BY_TENANT403This supplier is switched off for your organization.
SUPPLIER_FARE_CHANGED_AT_BOOK409The supplier changed the fare while booking. Nothing was booked; get a new quote.
SUPPLIER_FARE_QUOTE_FAILED502The supplier could not quote this fare right now.
SUPPLIER_INSUFFICIENT_BALANCE402Your balance with the supplier is too low to book this fare.
SUPPLIER_LIST_DATES_FAILED502The supplier could not list travel dates right now.
SUPPLIER_LIST_ORIGINS_FAILED502The supplier could not list origins right now.
SUPPLIER_LIST_RETURN_DATES_FAILED502The supplier could not list return dates right now.
SUPPLIER_LIST_SECTORS_FAILED502The supplier could not list routes right now.
SUPPLIER_LOGIN_FAILED502Signing in to the supplier failed.
SUPPLIER_NOT_AVAILABLE_IN_TEST403This supplier is not available in Test.
SUPPLIER_NOT_AVAILABLE_TO_TENANT403This supplier is not available to your organization.
SUPPLIER_OFFER_NOT_FOUND502The supplier no longer lists this fare. Search again.
SUPPLIER_OFFER_PAYLOAD_INVALID502The stored offer for this supplier is incomplete. Search again.
SUPPLIER_REPRICE_MISMATCH502The supplier re-priced for a different set of passengers. Get a new quote.
SUPPLIER_REPRICE_UNPARSEABLE502The supplier sent a re-price we could not read.
SUPPLIER_REQUEST_FAILED502The request to the supplier failed.
SUPPLIER_RESPONSE_INVALID502The supplier sent a response we could not read.
SUPPLIER_RESPONSE_MISSING_BOOK_REFERENCE502The supplier accepted the booking but sent no booking reference. Check the booking status; do not book again.
SUPPLIER_RESPONSE_MISSING_FARE_AMOUNT502The supplier sent no fare amount.
SUPPLIER_RESPONSE_MISSING_QUOTE_ID502The supplier sent no quote reference.
SUPPLIER_RESPONSE_MISSING_SALE_DATA502The supplier sent booking details without the sale data.
SUPPLIER_RESPONSE_MISSING_TMC_ID502The supplier account profile is incomplete.
SUPPLIER_RESPONSE_NO_ORIGINS502The supplier listed no origins.
SUPPLIER_RESPONSE_NO_SECTORS502The supplier listed no routes.
SUPPLIER_RESPONSE_PAGE_CHANGED502The supplier portal changed, so its answer could not be read.
SUPPLIER_RESPONSE_SEARCH_MISMATCH502The supplier answered a different search from the one asked.
SUPPLIER_RESPONSE_SECTOR_MISMATCH502The supplier answered for a different route.
SUPPLIER_RESPONSE_UNREADABLE502The supplier sent a response we could not read.
SUPPLIER_RETIRED410This supplier was retired. The details name its replacement, if any.
SUPPLIER_SEARCH_FAILED502The supplier search failed.
SUPPLIER_SESSION_BUSY502The supplier’s shared session was busy, so this request could not be answered in time.
SUPPLIER_SESSION_EXPIRED502The supplier session expired. Retry shortly.
SUPPLIER_SESSION_UNUSABLE502The supplier session cannot be used.
SUPPLIER_TEST_ONLY403This supplier exists only in Test.
SUPPLIER_TIMEOUT504The supplier did not answer in time.
SUPPLIER_UNAVAILABLE503The supplier is temporarily unavailable.
SUPPLIER_UNKNOWN404There is no supplier with this code.
SUPPLIER_VERSION_UNSUPPORTED422This supplier API version is not supported.
TEST_PNR_REQUIRED422A Test booking can only be fulfilled with a Test PNR.
UNAUTHORIZED401Authentication is required, or the credentials are not valid.
UNSUPPORTED_MEDIA_TYPE415The request body has a content type this endpoint does not accept.
URI_TOO_LONG414The request URL is too long.
VALIDATION_ERROR400The request failed validation. error.details.invalidFields lists each field and why.
VIA_TENANT_NOT_SUPPORTED403Using another organization’s supplier account is not supported.
WRONG_AUTH_KIND401This endpoint needs a different kind of credential.