Skip to content

Exchange Search

Request

The Exchange Search API is the second step in the GDS exchange workflow, after Eligibility. It supports searching for an alternate itinerary for a possible exchange on a currently ticketed GDS itinerary. The response details any differences in base fare, taxes, fees, and total price between the currently ticketed itinerary and the possible new itinerary.

Security
bearerAuth
Headers
TraceIdstring, [ 10 .. 89 ] characters

Identifier used to correlate Air API invocations across a multi-call business flows.

Example:TraceID_123456789
XAUTH_TRAVELPORT_ACCESSGROUPstring, = 36 characters([a-zA-Z-0-9-_]*)

Identifies the Travelport access group with which the caller is associated

Example:19Y88702-C27A-4E5D-829A-89D7016688B1
travelportPlusSessionIdentifierstring, [ 0 .. 100 ] characters([a-zA-Z-0-9-_]*)

travelportPlusSessionIdentifier used to maintain an established agency session

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
TVP-PCC-Corestring^[a-zA-Z\d]{3,4}_\w{2}$

Allows user to pass PCC instead of Access Group ID

Example:DU7_1G
Bodyapplication/jsonrequired
@typestringrequired
Example:"CatalogOfferingsQueryAirChange"
CatalogOfferingsAirChangeRequestobject(CatalogOfferingsAirChangeRequestReservation)required
curl -i -X POST \
  https://developer.travelport.com/_mock/apis/flights/exchangesearch/catalogofferingsairchange \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'TVP-PCC-Core: DU7_1G' \
  -H 'TraceId: TraceID_123456789' \
  -H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
  -H 'travelportPlusSessionIdentifier: 49f58f5f-c443-43b4-9f5d-be405fd00a01' \
  -d '{
    "@type": "CatalogOfferingsQueryAirChange",
    "CatalogOfferingsAirChangeRequest": {
      "@type": "CatalogOfferingsAirChangeRequestReservation",
      "returnBrandedFaresInd": true,
      "detailViewInd": true,
      "SearchCriteriaFlight": [
        {
          "@type": "SearchCriteriaFlight",
          "departureDate": "2026-11-24",
          "From": {
            "value": "DEN"
          },
          "To": {
            "value": "ORD"
          }
        }
      ],
      "PassengerCriteria": [
        {
          "@type": "PassengerCriteriaAirChange",
          "number": 1,
          "age": 39,
          "birthDate": "2000-11-11",
          "passengerTypeCode": "ADT",
          "TravelerIdentifierRef": {
            "id": "travelerRefId_1"
          }
        }
      ],
      "BuildFromReservationWorkbench": {
        "@type": "BuildFromReservationWorkbench",
        "ReservationIdentifier": {
          "Identifier": {
            "authority": "Travelport",
            "value": "b08425e1-test-4972-test-52f4ae9bae16"
          }
        },
        "OfferIdentifier": {
          "id": "offer_1"
        },
        "ProductIdentifier": [
          {
            "id": "product_1"
          }
        ]
      }
    }
  }'

Responses

OK - Successful Response - 200

Bodyapplication/json
CatalogOfferingsAirChangeResponseobject(CatalogOfferingsAirChangeResponse)

The response of a Catalog offerings air change endpoint request.

Response
{ "CatalogOfferingsAirChangeResponse": { "CatalogOfferings": { "@type": "CatalogOfferings", "id": "CatalogOfferings_1", "Identifier": {}, "totalCatalogOffering": 0, "catalogOfferingPerPage": 0, "numberOfPages": 5, "CatalogOffering": [], "AncillaryOffering": [] }, "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [], "Warning": [] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "string", "id": "5", "NextStep": [] }, "ReferenceList": [ {} ], "CurrencyRateConversion": [ {} ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }