Skip to main content
POST
/
api
/
v1
/
flights
/
shop
Shop for flights or re-price an offer
curl --request POST \
  --url https://mcp-bff.gojinko.com/api/v1/flights/shop \
  --header 'Content-Type: application/json' \
  --data '
{
  "cabin_class": "<string>",
  "currency": "<string>",
  "departure_date": "<string>",
  "destination": "<string>",
  "destination_type": "<string>",
  "direct_only": true,
  "exclude_carriers": [
    "<string>"
  ],
  "format": "text",
  "include_carriers": [
    "<string>"
  ],
  "locale": "<string>",
  "max_price": 123,
  "offer_token": "<string>",
  "origin": "<string>",
  "origin_type": "<string>",
  "passengers": {
    "adults": 123,
    "children": 123,
    "infants": 123
  },
  "return_date": "<string>",
  "trip_type": "<string>"
}
'
{
  "flights": [
    {
      "destination": "<string>",
      "destination_city": "<string>",
      "fares": [
        {
          "brand_name": "<string>",
          "cabin_class": "<string>",
          "cancel_fee": "<string>",
          "carry_on_baggage": "<string>",
          "change_fee": "<string>",
          "change_policy": "<string>",
          "fare_descriptions": [
            "<string>"
          ],
          "included_baggage": "<string>",
          "price_per_passenger": [
            {
              "base_fare": "<string>",
              "passenger_type": "<string>",
              "quantity": 123,
              "taxes": "<string>",
              "total_per_person": "<string>"
            }
          ],
          "price_per_person": "<string>",
          "priority_boarding": true,
          "refund_policy": "<string>",
          "seat_selection": true,
          "total_price": "<string>",
          "trip_item_token": "<string>"
        }
      ],
      "inbound_airline": "<string>",
      "inbound_airline_name": "<string>",
      "inbound_arrival": "<string>",
      "inbound_departure": "<string>",
      "inbound_duration_min": 123,
      "inbound_segments": [
        {
          "aircraft": "<string>",
          "airline": "<string>",
          "airline_name": "<string>",
          "arrival_airport": "<string>",
          "arrival_city": "<string>",
          "arrival_time": "<string>",
          "departure_airport": "<string>",
          "departure_city": "<string>",
          "departure_time": "<string>",
          "duration_minutes": 123,
          "flight_number": "<string>",
          "layover_minutes": 123,
          "operating_carrier": "<string>"
        }
      ],
      "inbound_stops": 123,
      "is_matched_flight": true,
      "is_round_trip": true,
      "origin": "<string>",
      "origin_city": "<string>",
      "outbound_airline": "<string>",
      "outbound_airline_name": "<string>",
      "outbound_arrival": "<string>",
      "outbound_departure": "<string>",
      "outbound_duration_min": 123,
      "outbound_segments": [
        {
          "aircraft": "<string>",
          "airline": "<string>",
          "airline_name": "<string>",
          "arrival_airport": "<string>",
          "arrival_city": "<string>",
          "arrival_time": "<string>",
          "departure_airport": "<string>",
          "departure_city": "<string>",
          "departure_time": "<string>",
          "duration_minutes": 123,
          "flight_number": "<string>",
          "layover_minutes": 123,
          "operating_carrier": "<string>"
        }
      ],
      "outbound_stops": 123
    }
  ],
  "has_more": true,
  "message": "<string>",
  "mode": "<string>",
  "price_diff": "<string>",
  "price_status": "<string>",
  "search_price": "<string>",
  "status": "<string>",
  "total": 123
}

Body

application/json

Shop flight request

cabin_class
string

economy, premium_economy, business, first

currency
string

default USD

departure_date
string

YYYY-MM-DD

destination
string

3-letter IATA city or airport code

destination_type
string

"city" (default) or "airport"

direct_only
boolean
exclude_carriers
string[]

ExcludeCarriers is a list of IATA 2-letter marketing codes to blacklist. Internally populates the connector's BlackListCarriers.MarketingCarriers.

format
enum<string>

Format selects the response shape. Defaults to "text" (LLM-friendly human-readable strings). Set to "structured" to receive the canonical flight.FlightCheckResponse with Amount objects (for client-side formatters / widgets).

Available options:
text,
structured
include_carriers
string[]

JIN-187 filter additions. All forwarded to the connector when present. IncludeCarriers is a list of IATA 2-letter marketing codes to whitelist.

locale
string

default en

max_price
number
offer_token
string

Mode B: Price-check by offer token

origin
string

Mode A: Search by params

origin_type
string

"city" (default) or "airport"

passengers
object

Shared

return_date
string

YYYY-MM-DD

trip_type
string

"oneway" or "roundtrip", default "roundtrip"

Response

OK

flights
object[]
has_more
boolean
message
string

human-readable explanation when status != confirmed

mode
string

"search" or "price_check"

price_diff
string

e.g. "USD 12.50" or "USD -8.00"

price_status
string

Price-check metadata (only in price_check mode when status=confirmed)

search_price
string

original cached price the user saw

status
string

"confirmed" or "flight_unavailable" (price_check mode only)

total
integer