Transaction and Trace IDs

Many of the Air APIs support transaction and trace IDs for both GDS and NDC content:

  • For the APIs listed below, every response always returns a system-generated transaction ID unique to that response.
  • In addition, you can send a custom trace ID value in the message request header for any transaction. If sent, that trace ID is returned in the response. 

These IDs can be used to assist in tracking and troubleshooting if you need Support Options, and to track transactions across APIs if you use both the Travelport JSON APIs and the Travelport SOAP/XML API (aka Universal API).

Supporting APIs

Currently the following and later versions of these APIs in v6 and v9 support trace and transaction IDs:

  • AirSearch 20.6.8 and 20.9.2 and later
  • Seats 21.9.3 and later

Trace ID in the Request

You can send any custom trace ID value of your choice to assist in tracking. To send a trace ID, send a value in the TraceId field of the message request header of any of the APIs listed above.

The screen below shows the message request header fields in Postman. For more about headers, see Common Air Headers.

Do not change the trace ID value in subsequent transactions in the same flow, such as when requesting a subsequent page via pagination in AirSearch or additional transactions in the same workbench session in AirReservation. For example, don't send a value of ABC in the header of the request to establish a workbench and then change that value to 123 when you add an offer.
Do not populate the E2ETrackingID header field in any request. This field retains the transaction ID returned in the response for subsequent responses.

IDs in the Response

The APIs listed above always return a transactionID object in the top level object of the message response (the object name varies by API). This system-generated ID is unique for every transaction. The transaction ID is also returned in the E2ETrackingID field in the response header.

If you sent a trace ID, a traceID object with that value is also returned in the wrapper object of the response. If you did not send a trace ID in the header, traceId is not returned.

The following examples show the transaction and trace IDs as returned in different APIs.

{
    "CatalogOfferingsResponse": {
        "transactionId": "961x243a-1d4a-3386-a5b1-51134292f081",
        "traceId": "TEST_AB",
        "CatalogOfferings": { ...
{
  "OfferListResponse": {
    "transactionId": "330a242c-2d9a-4955-a5b1-60924253e076",
    "traceId": "29110e39-c5bf-4fbb-9b5f-4d7756fc4879",
    "OfferID": [
      {...