Transaction and Trace IDs

The JSON Air APIs support transaction and trace IDs for both GDS and NDC content. These IDs can be used to assist in tracking and troubleshooting if you need Support Options.

Tracking IDs in the Request

The JSON APIs support two separate tracking IDs, one issued by Travelport by default and another that customers can send by choice. Both IDs are sent in the message request header, and are usually returned in both the response payload and the response header.

  • Starting with the Search response, by default all API responses return a system-generated transaction ID that is unique to that response. This ID then populates the E2ETrackingID header of subsequent requests that refer to that response.
  • Optionally, you can also send your own custom trace ID in the header for any transaction. This ID then populates the TraceID header of subsequent requests that refer to that response.

For more about headers, see Common Air Headers.

Do not change the TraceID value in subsequent transactions in the same flow, such as between transactions in the same workbench session. 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.

Tracking IDs in the Response

All JSON API responses return the system-generated transaction ID. Most responses return the ID in the transactionId object in the first object of the response payload (object name varies by API) and in the TransactionID field in the response header, although some APIs return it only in the header.

If you send a trace ID in the header, the response returns that ID. Most responses return a traceId object with your traceID value in the first object in the response payload and in the TraceID field in the response header, although some APIs return it only in the header. If you do not send a trace ID, traceId is not returned.

The following example shows the transaction and trace IDs as returned in the response payload of 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": [
      {...}...