Webhooks API 2.0

API Endpoint

Welcome to the latest Kiwi.com‘s PUSH API documentation which details how relevant information about the state of a reservation is delivered to the customers’ endpoint. Below, we describe all notifications that are sent from Kiwi.com.

Should you need any further information or detail, please contact your Kiwi.com line manager.

PUSH notifications

The following JSON will be delivered to the specified API endpoint (POST method), which has to respond with an HTTP 200 status. Otherwise, the call will be repeated every 5 minutes.

PLEASE NOTE:

  1. Do not strictly validate the request so there is no impact on implementation if new atribbute is added
  2. Do not validate trigger as enum so we can amend the list of “triggers” from our end

Example calls

Single notification sending can be triggered as part of various processes - trigger attributes is code name for process that preceded triggering of notification sending.

The following are the statuses that can be assigned:

  • received

  • confirmed

  • price_changed

  • flight_change_pricing_ready

  • schedule_change

  • sold_out

  • technical_issue

  • bp_sent

  • online_checkin_not_available

  • airport_checkin_document_missing

  • travel_document_request

  • additional_service

  • additional_service_failed

  • baggage_airport_payment

  • allocated_seating

  • cancelled

  • cancellation_declined

  • refund

  • proof_of_refund

  • refund_not_approved

  • proof_of_void

  • refundable_amount_apply

  • alternative_refund_method

  • refund_request_missing_info

  • security_issue

  • security_issue_first_appeal

  • security_verification_passed

  • delayed

  • passenger_long_name

  • avc_emd_confirmation

  • guarantee_hotel_confirmed

  • name_corrected

  • passengers_detail_changed

  • duplicity_booking

  • invalid_document

  • invalid_info_latin_name_required

  • invalid_name

  • medical_certificate

  • death_certificate

received

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "received",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "received"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

received
POST/

Applicable triggers:

  • received

confirmed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "confirmed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "confirmed",
  "itinerary": {
    "segments": [
      {
        "type": "flight",
        "src": "SEN",
        "dst": "AMS",
        "iata": "U2",
        "departure_time_utc": "2017-09-11T06:10:00+02:00",
        "pnr": "3412341234",
        "pnr_availability_from_utc": null,
        "boarding_document_availability_from_utc": "2017-08-12T06:10:00+00:00",
        "boarding_document_availability_to_utc": "2017-09-11T04:10:00+00:00",
        "boarding_documents_link": null,
        "passengers": {
          "5544953": {
            "name": "TEST",
            "surname": "TEST",
            "birthday": "1985-01-01",
            "pnr": "3412341234",
            "gds_ticket_number": "3412341234",
            "boarding_document_link": null
          }
        },
        "card_copy_links": []
      }
    ],
    "boarding_documents_link": null,
    "eticket_link": "https://mailing-files-dropzone-develop.s3.eu-west-1.amazonaws.com/3649/1565200313_E-ticket_passenger_0ae03c441149f3b00ca4e267243d9d40.pdf?v=1565200316",
    "invoice_link": null
  },
  "credit_card_links": "https://mailing-files-dropzone.s3.eu-west-1.amazonaws.com/70116/card_70116112_868101cf20244fccb405af95caa40ebd_123456789000000_5095a87c68935fa57797ec7730139014.png"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

confirmed
POST/

Applicable triggers:

  • confirmed

  • confirmed_without_attachments


price_changed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "price_changed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "price_changed",
  "price_change": {
    "occurred": "2019-08-08T14:43:10+02:00",
    "currency": "USD",
    "original_price": 1443,
    "new_price": 3067,
    "price_difference": 1414
  }
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

price_changed
POST/

Applicable triggers:

  • price_changed

flight_change_pricing_ready

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "flight_change_pricing_ready",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "flight_change_booked"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

flight_change_pricing_ready
POST/

Applicable triggers:

  • flight_change_booked

  • flight_change


schedule_change

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "schedule_change",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "schedule_change_insignificant_auto_changed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

schedule_change
POST/

Applicable triggers:

  • schedule_change_insignificant_auto_changed

  • schedule_change_insignificant_info

  • schedule_change_insignificant_confirmed_change

  • schedule_change_insignificant_updated_change

  • schedule_change_significant_guarantee_void

  • schedule_change_significant_info_pap_decides

  • schedule_change_significant_info_kiwi_decides

  • schedule_change_significant_confirmed_change

  • schedule_change_significant_info_reminder


sold_out

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "sold_out",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "sold_out"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

sold_out
POST/

Applicable triggers:

  • sold_out_alternative_payment_needed

  • sold_out_alternative_with_partial_refund

  • sold_out_alternative_within_budget

  • priority_sold_out

  • sold_out


technical_issue

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "technical_issue",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "technical_issue_alternative_within_budget"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

technical_issue
POST/

Applicable triggers:

  • priority_technical_issue

  • technical_issue

  • technical_issue_alternative_payment_needed

  • technical_issue_schedule_change

  • technical_issue_alternative_within_budget


bp_sent

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "bp_sent",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "bp_sent",
  "itinerary": {
    "segments": [
      {
        "type": "flight",
        "src": "SEN",
        "dst": "AMS",
        "iata": "U2",
        "departure_time_utc": "2017-09-11T06:10:00+02:00",
        "pnr": "3412341234",
        "pnr_availability_from_utc": null,
        "boarding_document_availability_from_utc": "2017-08-12T06:10:00+00:00",
        "boarding_document_availability_to_utc": "2017-09-11T04:10:00+00:00",
        "boarding_documents_link": null,
        "passengers": {
          "5544953": {
            "name": "TEST",
            "surname": "TEST",
            "birthday": "1985-01-01",
            "pnr": "3412341234",
            "gds_ticket_number": "3412341234",
            "boarding_document_link": null
          }
        },
        "card_copy_links": []
      }
    ],
    "boarding_documents_link": null,
    "eticket_link": "https://mailing-files-dropzone-develop.s3.eu-west-1.amazonaws.com/3649/1565200313_E-ticket_passenger_0ae03c441149f3b00ca4e267243d9d40.pdf?v=1565200316"
  },
  "credit_card_links": "https://mailing-files-dropzone.s3.eu-west-1.amazonaws.com/70116/card_70116112_868101cf20244fccb405af95caa40ebd_123456789000000_5095a87c68935fa57797ec7730139014.png"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

bp_sent
POST/

Applicable triggers:

  • bp_sent

  • bp_sent_without_attachments


online_checkin_not_available

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "online_checkin_not_available",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "online_checkin_not_available",
  "affected_segments": []
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

online_checkin_not_available
POST/

Applicable triggers:

  • online_checkin_not_available

  • airline_online_checkin_technical_difficulty

  • checkin_failure


airport_checkin_document_missing

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "airport_checkin_document_missing",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "airport_checkin"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

airport_checkin_document_missing
POST/

Applicable triggers:

  • airport_checkin

  • paid_checkin

  • free_checkin

  • checkin_by_passenger_required


travel_document_request

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "travel_document_request",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "expired_passport_request"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

travel_document_request
POST/

Applicable triggers:

  • expired_passport_request

  • passport_request


additional_service

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "additional_service",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "additional_extras",
  "additional_extras": "There is food serving on flight"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

additional_service
POST/

Applicable triggers:

  • additional_services_system_payment_received

  • additional_services_system_confirmation

  • additional_services_system_request

  • additional_services_system_status

  • additional_flights

  • additional_booking_assisted_refund

  • additional_luggage

  • additional_extras

  • free_additional_service

  • additional_service_notice


additional_service_failed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "additional_service_failed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "additional_service_processing_failure",
  "unprocessed_services": [
    "Pet",
    "Too big baggage"
  ]
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

additional_service_failed
POST/

Applicable triggers:

  • additional_service_processing_failure

baggage_airport_payment

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "baggage_airport_payment",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "baggage_airport_payment",
  "affected_segments": []
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

baggage_airport_payment
POST/

Applicable triggers:

  • baggage_airport_payment

allocated_seating

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "allocated_seating",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "allocated_seating"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

allocated_seating
POST/

Applicable triggers:

  • allocated_seating

cancelled

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "cancelled",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "cancellation_confirmed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

cancelled
POST/

Applicable triggers:

  • cancellation_confirmed

cancellation_declined

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "cancellation_declined",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "cancellation_declined"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

cancellation_declined
POST/

Applicable triggers:

  • cancellation_declined

refund

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "refund",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "credits_allocated"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

refund
POST/

Applicable triggers:

  • refund_calculator_cancellation_confirmation

  • refundable_application

  • refund

  • refund_clarification_needed

  • refund_application

  • refund_in_credits

  • refund_tax_flight_change

  • refund_southwest

  • bank_details_needed

  • bank_details_incorrect

  • refund_tax_after_departure

  • refund_request_transfer_complete

  • refund_approved

  • refund_processed

  • refund_paypal

  • credits_allocated


proof_of_refund

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "proof_of_refund",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "proof_of_refund"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

proof_of_refund
POST/

Applicable triggers:

  • proof_of_refund

refund_not_approved

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "refund_not_approved",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "refund_not_approved"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

refund_not_approved
POST/

Applicable triggers:

  • refund_not_approved

proof_of_void

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "proof_of_void",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "proof_of_void"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

proof_of_void
POST/

Applicable triggers:

  • proof_of_void

refundable_amount_apply

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "refundable_amount_apply",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "refundable_amount_apply",
  "refund": {
    "amount": 8949,
    "currency": "CZK"
  }
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

refundable_amount_apply
POST/

Applicable triggers:

  • refundable_amount_apply

alternative_refund_method

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "alternative_refund_method",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "alternative_refund_method"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

alternative_refund_method
POST/

Applicable triggers:

  • alternative_refund_method

refund_request_missing_info

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "refund_request_missing_info",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "refund_request_missing_info"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

refund_request_missing_info
POST/

Applicable triggers:

  • refund_request_missing_info

security_issue

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "security_issue",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "security_issue"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

security_issue
POST/

Applicable triggers:

  • security_issue

security_issue_first_appeal

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "security_issue_first_appeal",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "security_issue_first_appeal"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

security_issue_first_appeal
POST/

Applicable triggers:

  • security_issue_first_appeal

  • jumio_higher_quality_proof_needed

  • jumio_verify


security_verification_passed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "security_verification_passed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "security_verification_passed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

security_verification_passed
POST/

Applicable triggers:

  • security_verification_passed

delayed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "delayed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "delayed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

delayed
POST/

Applicable triggers:

  • delayed

passenger_long_name

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "passenger_long_name",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "passenger_long_name"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

passenger_long_name
POST/

Applicable triggers:

  • passenger_long_name

avc_emd_confirmation

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "avc_emd_confirmation",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "avc_emd_confirmation"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

avc_emd_confirmation
POST/

Applicable triggers:

  • avc_emd_confirmation

guarantee_hotel_confirmed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "guarantee_hotel_confirmed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "guarantee_hotel_confirmed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

guarantee_hotel_confirmed
POST/

Applicable triggers:

  • guarantee_hotel_confirmed

name_corrected

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "name_corrected",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "name_corrected"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

name_corrected
POST/

Applicable triggers:

  • name_corrected

passengers_detail_changed

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "passengers_detail_changed",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "passengers_detail_changed"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

passengers_detail_changed
POST/

Applicable triggers:

  • passengers_detail_changed

duplicity_booking

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "duplicity_booking",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "duplicity_booking",
  "original_bid": 8319
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

duplicity_booking
POST/

Applicable triggers:

  • duplicity_booking

invalid_document

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "invalid_document",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "invalid_birthday"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

invalid_document
POST/

Applicable triggers:

  • invalid_birthday

  • invalid_document

  • invalid_info_cyrillic_name_required


invalid_info_latin_name_required

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "invalid_info_latin_name_required",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "invalid_info_latin_name_required"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

invalid_info_latin_name_required
POST/

Applicable triggers

  • invalid_info_latin_name_required

  • nonlatin_name


invalid_name

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "invalid_name",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "invalid_name"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

invalid_name
POST/

Applicable triggers:

  • invalid_name

medical_certificate

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "medical_certificate",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "medical_certificate"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

medical_certificate
POST/

Applicable triggers:

  • medical_certificate

death_certificate

POST /
Requestsexample 1
Headers
Content-Type: application/JSON
Body
{
  "bid": 3649570,
  "type": "death_certificate",
  "mmb_link": "https://www.kiwi.com/en/account/bookings/BID?deeplink=passengers-edit",
  "trigger": "death_certificate"
}
Responses200
Headers
Content-Type: application/JSON
Body
{}

death_certificate
POST/

Applicable triggers:

  • death_certificate

Generated by aglio on 08 Nov 2019