---
title: "Return a list of upsell Flight Offers based on given Flight Offers"
method: POST
path: "/shopping/flight-offers/upselling"
tags: ["Shopping"]
---

# Return a list of upsell Flight Offers based on given Flight Offers

`POST /shopping/flight-offers/upselling`

## Request

- Base URL: `https://test.api.amadeus.com/v1`
- URL: `https://test.api.amadeus.com/v1/shopping/flight-offers/upselling`
- Auth: none declared. Required headers: `X-HTTP-Method-Override`

## Headers

- `X-HTTP-Method-Override` string, required

## Request body

- object
  - `data` FlightOfferUpsellIn, required: input parameter to upsell flight offers element
    - `type` string, required: the resource name
    - `flightOffers` FlightOffer[], required: list of flight offer to price
      - `type` string, required: the resource name
      - `id` string, required: Id of the flight offer
      - `source` 'GDS': source of the flight offer
      - `instantTicketingRequired` boolean: If true, inform that a ticketing will be required at booking step.
      - `disablePricing` boolean: BOOK step ONLY - If true, allows to book a PNR without pricing. Only for the source "GDS"
      - `nonHomogeneous` boolean: If true, upon completion of the booking, this pricing solution is expected to yield multiple records (a record contains booking information confirmed and stored, typically a Passenger Name Record (PNR), in the provider GDS or system)
      - `oneWay` boolean: If true, the flight offer can be combined with other oneWays flight-offers to complete the whole journey (one-Way combinable feature).
      - `paymentCardRequired` boolean: If true, a payment card is mandatory to book this flight offer
      - `lastTicketingDate` string: If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). YYYY-MM-DD format, e.g. 2019-06-07
      - `lastTicketingDateTime` string, date-time: If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date/time (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). Information only this attribute is not used in input of pricing request. Local date and time in YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
      - `numberOfBookableSeats` number: Number of seats bookable in a single request. Can not be higher than 9.
      - `itineraries` object[]
        - `duration` string: duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M for a duration of 2h10m
        - `segments` Segment[], required
          - `id` string: Id of the segment
          - `numberOfStops` integer: Number of stops
          - `blacklistedInEU` boolean: When the flight has a marketing or/and operating airline that is identified as blacklisted by the European Commission. To improve travel safety, the European Commission regularly updates the list of the banned carriers from operating in Europe. It allows any Travel Agency located in the European Union to easily identify and hide any travel recommendation based on some unsafe airlines. The [list of the banned airlines](https://ec.europa.eu/transport/sites/transport/files/air-safety-list_en.pdf) is published in the Official Journal of the European Union, where they are included as annexes A and B to the Commission Regulation. The blacklist of an airline can concern all its flights or some specific aircraft types pertaining to the airline
          - `co2Emissions` Co2Emission[]: Co2 informations
            - `weight` integer: Weight of Co2 emitted for the concerned segment
            - `weightUnit` string: Code to qualify unit as pounds or kilos
            - `cabin` 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
          - `departure` FlightEndPoint: departure or arrival information
            - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
            - `terminal` string: terminal name / number
            - `at` string, date-time: local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
          - `arrival` FlightEndPoint: departure or arrival information
            - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
            - `terminal` string: terminal name / number
            - `at` string, date-time: local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
          - `carrierCode` string: providing the airline / carrier code
          - `number` string: the flight number as assigned by the carrier
          - `aircraft` AircraftEquipment: information related to the aircraft
            - `code` string: IATA aircraft code (http://www.flugzeuginfo.net/table_accodes_iata_en.php)
          - `operating` OperatingFlight: information about the operating flight
            - `carrierCode` string: providing the airline / carrier code
          - `duration` string: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
          - `stops` FlightStop[]: information regarding the different stops composing the flight segment. E.g. technical stop, change of gauge...
            - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
            - `duration` string: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
            - `arrivalAt` string, date-time: arrival at the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
            - `departureAt` string, date-time: departure from the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
      - `price` ExtendedPrice: price information
        - `margin` string: BOOK step ONLY - The price margin percentage (plus or minus) that the booking can tolerate. When set to 0, then no price magin is tolerated.
        - `grandTotal` string: Total amount paid by the user (including fees and selected additional services).
        - `billingCurrency` string: Currency of the payment. It may be different than the requested currency
        - `additionalServices` object[]
          - `amount` string
          - `type` 'CHECKED_BAGS' | 'MEALS' | 'SEATS' | 'OTHER_SERVICES': additional service type
        - `currency` string
        - `total` string: Total amount paid by the user
        - `base` string: Amount without taxes
        - `fees` Fee[]: List of applicable fees
          - `amount` string
          - `type` 'TICKETING' | 'FORM_OF_PAYMENT' | 'SUPPLIER': type of fee
        - `taxes` Tax[]
          - `amount` string
          - `code` string
        - `refundableTaxes` string: The amount of taxes which are refundable
      - `pricingOptions` object
        - `fareType` string[]: type of fare of the flight-offer
        - `includedCheckedBagsOnly` boolean: If true, returns the flight-offers with included checked bags only
        - `refundableFare` boolean: If true, returns the flight-offers with refundable fares only
        - `noRestrictionFare` boolean: If true, returns the flight-offers with no restriction fares only
        - `noPenaltyFare` boolean: If true, returns the flight-offers with no penalty fares only
      - `validatingAirlineCodes` string[]: This option ensures that the system will only consider offers with these airlines as validating carrier.
      - `travelerPricings` object[]: Fare information for each traveler/segment
        - `travelerId` string, required: Id of the traveler
        - `fareOption` 'STANDARD' | 'INCLUSIVE_TOUR' | 'SPANISH_MELILLA_RESIDENT' | 'SPANISH_CEUTA_RESIDENT' | 'SPANISH_CANARY_RESIDENT' | 'SPANISH_BALEARIC_RESIDENT' | 'AIR_FRANCE_METROPOLITAN_DISCOUNT_PASS' | 'AIR_FRANCE_DOM_DISCOUNT_PASS' | 'AIR_FRANCE_COMBINED_DISCOUNT_PASS' | 'AIR_FRANCE_FAMILY' | 'ADULT_WITH_COMPANION' | 'COMPANION', required: option specifying a group of fares, which may be valid under certain conditons Can be used to specify special fare discount for a passenger
        - `travelerType` 'ADULT' | 'CHILD' | 'SENIOR' | 'YOUNG' | 'HELD_INFANT' | 'SEATED_INFANT' | 'STUDENT', required: traveler type age restrictions : CHILD < 12y, HELD_INFANT < 2y, SEATED_INFANT < 2y, SENIOR >=60y
        - `associatedAdultId` string: if type="HELD_INFANT", corresponds to the adult traveler's id who will share the seat
        - `price` Price
          - `currency` string
          - `total` string: Total amount paid by the user
          - `base` string: Amount without taxes
          - `fees` Fee[]: List of applicable fees
            - `amount` string
            - `type` 'TICKETING' | 'FORM_OF_PAYMENT' | 'SUPPLIER': type of fee
          - `taxes` Tax[]
            - `amount` string
            - `code` string
          - `refundableTaxes` string: The amount of taxes which are refundable
        - `fareDetailsBySegment` object[], required
          - `segmentId` string, required: Id of the segment
          - `cabin` 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
          - `fareBasis` string: Fare basis specifying the rules of a fare. Usually, though not always, is composed of the booking class code followed by a set of letters and digits representing other characteristics of the ticket, such as refundability, minimum stay requirements, discounts or special promotional elements.
          - `brandedFare` string: The name of the Fare Family corresponding to the fares. Only for the GDS provider and if the airline has fare families filled
          - `class` string: The code of the booking class, a.k.a. class of service or Reservations/Booking Designator (RBD)
          - `isAllotment` boolean: True if the corresponding booking class is in an allotment
          - `allotmentDetails` AllotmentDetails
            - `tourName` string: The tour name agreed for this specific allotment.
            - `tourReference` string: The tour reference agreed for this specific allotment.
          - `sliceDiceIndicator` 'LOCAL_AVAILABILITY' | 'SUB_OD_AVAILABILITY_1' | 'SUB_OD_AVAILABILITY_2': slice and Dice indicator, such as Local Availability, Sub OnD(Origin and Destination) 1 Availability and Sub OnD 2 Availability
          - `includedCheckedBags` BaggageAllowance: baggageAllowance
            - `quantity` integer: Total number of units
            - `weight` integer: Weight of the baggage allowance
            - `weightUnit` string: Code to qualify unit as pounds or kilos
          - `additionalServices` object
            - `chargeableCheckedBags` ChargeableCheckdBags: baggageAllowance
              - …
            - `chargeableSeat` ChargeableSeat: Details of chargeable seat
              - …
            - `chargeableSeatNumber` string: DEPRECATED - use the chargeableSeat attribute - seat number
            - `otherServices` ServiceName[]: Other services to add
    - `payments` Payment[]: payment information for retrieve eventual credit card fees
      - `brand` 'VISA' | 'AMERICAN_EXPRESS' | 'MASTERCARD' | 'VISA_ELECTRON' | 'VISA_DEBIT' | 'MASTERCARD_DEBIT' | 'MAESTRO' | 'DINERS' | 'MASTERCARD_IXARIS' | 'VISA_IXARIS' | 'MASTERCARD_AIRPLUS' | 'UATP_AIRPLUS': credit card brand
      - `binNumber` integer: The first 6 digits of the credit card
      - `flightOfferIds` string[]: Id of the flightOffers to pay

## Response `200`

Successful Operation

- object
  - `warnings` Issue[]
    - `status` integer: the HTTP status code applicable to this error
    - `code` integer: an application-specific error code
    - `title` string: a short summary of the error
    - `detail` string: explanation of the error
    - `source` object: an object containing references to the source of the error
      - `pointer` string: a JSON Pointer [RFC6901] to the associated entity in the request document
      - `parameter` string: a string indicating which URI query parameter caused the issue
      - `example` string: a string indicating an example of the right value
  - `meta` CollectionMetaUpsell
    - `count` integer
    - `oneWayUpselledCombinations` object[]
      - `flightOfferId` string
      - `upselledFlightOfferIds` string[]
  - `data` FlightOffer[], required: upselled flight Offers
    - `type` string, required: the resource name
    - `id` string, required: Id of the flight offer
    - `source` 'GDS': source of the flight offer
    - `instantTicketingRequired` boolean: If true, inform that a ticketing will be required at booking step.
    - `disablePricing` boolean: BOOK step ONLY - If true, allows to book a PNR without pricing. Only for the source "GDS"
    - `nonHomogeneous` boolean: If true, upon completion of the booking, this pricing solution is expected to yield multiple records (a record contains booking information confirmed and stored, typically a Passenger Name Record (PNR), in the provider GDS or system)
    - `oneWay` boolean: If true, the flight offer can be combined with other oneWays flight-offers to complete the whole journey (one-Way combinable feature).
    - `paymentCardRequired` boolean: If true, a payment card is mandatory to book this flight offer
    - `lastTicketingDate` string: If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). YYYY-MM-DD format, e.g. 2019-06-07
    - `lastTicketingDateTime` string, date-time: If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date/time (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). Information only this attribute is not used in input of pricing request. Local date and time in YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
    - `numberOfBookableSeats` number: Number of seats bookable in a single request. Can not be higher than 9.
    - `itineraries` object[]
      - `duration` string: duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M for a duration of 2h10m
      - `segments` Segment[], required
        - `id` string: Id of the segment
        - `numberOfStops` integer: Number of stops
        - `blacklistedInEU` boolean: When the flight has a marketing or/and operating airline that is identified as blacklisted by the European Commission. To improve travel safety, the European Commission regularly updates the list of the banned carriers from operating in Europe. It allows any Travel Agency located in the European Union to easily identify and hide any travel recommendation based on some unsafe airlines. The [list of the banned airlines](https://ec.europa.eu/transport/sites/transport/files/air-safety-list_en.pdf) is published in the Official Journal of the European Union, where they are included as annexes A and B to the Commission Regulation. The blacklist of an airline can concern all its flights or some specific aircraft types pertaining to the airline
        - `co2Emissions` Co2Emission[]: Co2 informations
          - `weight` integer: Weight of Co2 emitted for the concerned segment
          - `weightUnit` string: Code to qualify unit as pounds or kilos
          - `cabin` 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
        - `departure` FlightEndPoint: departure or arrival information
          - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
          - `terminal` string: terminal name / number
          - `at` string, date-time: local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
        - `arrival` FlightEndPoint: departure or arrival information
          - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
          - `terminal` string: terminal name / number
          - `at` string, date-time: local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
        - `carrierCode` string: providing the airline / carrier code
        - `number` string: the flight number as assigned by the carrier
        - `aircraft` AircraftEquipment: information related to the aircraft
          - `code` string: IATA aircraft code (http://www.flugzeuginfo.net/table_accodes_iata_en.php)
        - `operating` OperatingFlight: information about the operating flight
          - `carrierCode` string: providing the airline / carrier code
        - `duration` string: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
        - `stops` FlightStop[]: information regarding the different stops composing the flight segment. E.g. technical stop, change of gauge...
          - `iataCode` string: [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)
          - `duration` string: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
          - `arrivalAt` string, date-time: arrival at the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
          - `departureAt` string, date-time: departure from the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
    - `price` ExtendedPrice: price information
      - `margin` string: BOOK step ONLY - The price margin percentage (plus or minus) that the booking can tolerate. When set to 0, then no price magin is tolerated.
      - `grandTotal` string: Total amount paid by the user (including fees and selected additional services).
      - `billingCurrency` string: Currency of the payment. It may be different than the requested currency
      - `additionalServices` object[]
        - `amount` string
        - `type` 'CHECKED_BAGS' | 'MEALS' | 'SEATS' | 'OTHER_SERVICES': additional service type
      - `currency` string
      - `total` string: Total amount paid by the user
      - `base` string: Amount without taxes
      - `fees` Fee[]: List of applicable fees
        - `amount` string
        - `type` 'TICKETING' | 'FORM_OF_PAYMENT' | 'SUPPLIER': type of fee
      - `taxes` Tax[]
        - `amount` string
        - `code` string
      - `refundableTaxes` string: The amount of taxes which are refundable
    - `pricingOptions` object
      - `fareType` string[]: type of fare of the flight-offer
      - `includedCheckedBagsOnly` boolean: If true, returns the flight-offers with included checked bags only
      - `refundableFare` boolean: If true, returns the flight-offers with refundable fares only
      - `noRestrictionFare` boolean: If true, returns the flight-offers with no restriction fares only
      - `noPenaltyFare` boolean: If true, returns the flight-offers with no penalty fares only
    - `validatingAirlineCodes` string[]: This option ensures that the system will only consider offers with these airlines as validating carrier.
    - `travelerPricings` object[]: Fare information for each traveler/segment
      - `travelerId` string, required: Id of the traveler
      - `fareOption` 'STANDARD' | 'INCLUSIVE_TOUR' | 'SPANISH_MELILLA_RESIDENT' | 'SPANISH_CEUTA_RESIDENT' | 'SPANISH_CANARY_RESIDENT' | 'SPANISH_BALEARIC_RESIDENT' | 'AIR_FRANCE_METROPOLITAN_DISCOUNT_PASS' | 'AIR_FRANCE_DOM_DISCOUNT_PASS' | 'AIR_FRANCE_COMBINED_DISCOUNT_PASS' | 'AIR_FRANCE_FAMILY' | 'ADULT_WITH_COMPANION' | 'COMPANION', required: option specifying a group of fares, which may be valid under certain conditons Can be used to specify special fare discount for a passenger
      - `travelerType` 'ADULT' | 'CHILD' | 'SENIOR' | 'YOUNG' | 'HELD_INFANT' | 'SEATED_INFANT' | 'STUDENT', required: traveler type age restrictions : CHILD < 12y, HELD_INFANT < 2y, SEATED_INFANT < 2y, SENIOR >=60y
      - `associatedAdultId` string: if type="HELD_INFANT", corresponds to the adult traveler's id who will share the seat
      - `price` Price
        - `currency` string
        - `total` string: Total amount paid by the user
        - `base` string: Amount without taxes
        - `fees` Fee[]: List of applicable fees
          - `amount` string
          - `type` 'TICKETING' | 'FORM_OF_PAYMENT' | 'SUPPLIER': type of fee
        - `taxes` Tax[]
          - `amount` string
          - `code` string
        - `refundableTaxes` string: The amount of taxes which are refundable
      - `fareDetailsBySegment` object[], required
        - `segmentId` string, required: Id of the segment
        - `cabin` 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
        - `fareBasis` string: Fare basis specifying the rules of a fare. Usually, though not always, is composed of the booking class code followed by a set of letters and digits representing other characteristics of the ticket, such as refundability, minimum stay requirements, discounts or special promotional elements.
        - `brandedFare` string: The name of the Fare Family corresponding to the fares. Only for the GDS provider and if the airline has fare families filled
        - `class` string: The code of the booking class, a.k.a. class of service or Reservations/Booking Designator (RBD)
        - `isAllotment` boolean: True if the corresponding booking class is in an allotment
        - `allotmentDetails` AllotmentDetails
          - `tourName` string: The tour name agreed for this specific allotment.
          - `tourReference` string: The tour reference agreed for this specific allotment.
        - `sliceDiceIndicator` 'LOCAL_AVAILABILITY' | 'SUB_OD_AVAILABILITY_1' | 'SUB_OD_AVAILABILITY_2': slice and Dice indicator, such as Local Availability, Sub OnD(Origin and Destination) 1 Availability and Sub OnD 2 Availability
        - `includedCheckedBags` BaggageAllowance: baggageAllowance
          - `quantity` integer: Total number of units
          - `weight` integer: Weight of the baggage allowance
          - `weightUnit` string: Code to qualify unit as pounds or kilos
        - `additionalServices` object
          - `chargeableCheckedBags` ChargeableCheckdBags: baggageAllowance
            - `quantity` integer: Total number of units
            - `weight` integer: Weight of the baggage allowance
            - `weightUnit` string: Code to qualify unit as pounds or kilos
            - `id` string: Id of the chargeable bag
          - `chargeableSeat` ChargeableSeat: Details of chargeable seat
            - `id` string: Id of the chargeable seat
            - `number` string: seat number
          - `chargeableSeatNumber` string: DEPRECATED - use the chargeableSeat attribute - seat number
          - `otherServices` ServiceName[]: Other services to add
  - `dictionaries` Dictionaries
    - `locations` unknown
    - `aircraft` unknown
    - `currencies` unknown
    - `carriers` unknown

## Other responses

- `400`: code | title ------- | ------------------------------------- 477 | INVALID FORMAT 2668 | PARAMETER COMBINATION INVALID/RESTRICTED 2781 | INVALID LENGTH 4926 | INVALID DATA RECEIVED 32171 | MANDATORY DATA MISSING 39397 | UNABLE TO RETRIEVE UPSELL OFFER
- `default`: Unexpected error

---

[API](https://skmtc.dev/amadeus4dev/apis/branded-fares-upsell.md) - [All operations](https://skmtc.dev/amadeus4dev/apis/branded-fares-upsell/llms.txt) - [OpenAPI document](https://skmtc.dev/amadeus4dev/apis/branded-fares-upsell/revisions/d45e9d5fa6e3?raw)
