American Express Global Business Travel Transaction Service Controller API

Transaction data operations

Operations 8

POST /v1/transactions Create paginated transaction queries for all LOBs summary data based on search criteria #
POST /v1/transactions/air Create paginated transaction queries for Air LOB data based on search criteria #
POST /v1/transactions/car Create paginated transaction queries for Car LOB data based on search criteria #
POST /v1/transactions/fees Create paginated transaction queries for Fees LOB data based on search criteria #
POST /v1/transactions/ground Create paginated transaction queries for Ground LOB data based on search criteria #
POST /v1/transactions/hotel Create paginated transaction queries for Hotel LOB data based on search criteria #
POST /v1/transactions/train Create paginated transaction queries for Train LOB data based on search criteria #
GET /v1/transactions/{reportId} Generates transaction data page response based on client provided filters #

Documentation

📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/UserSyncAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=User
📖
Authentication
https://apis.egencia.com/auth/v1/token
📖
APIReference
https://apis.egencia.com/openconnect-sso/docs/api-docs/sso
📖
Documentation
https://www.egencia.com/openconnect-sso-service/v1/api-info
📖
APIReference
https://apis.egencia.com/company/docs/api-docs/company-info-api
📖
Documentation
https://apis.egencia.com/company/v1/api-info?name=company-details
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/CompanyCDFAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=CompanyCustomData
📖
APIReference
https://apis.egencia.com/openconnect-validation/docs/api-docs/validation
📖
Documentation
https://www.egencia.com/openconnect-validation-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect-expense/docs/api-docs/expense
📖
Documentation
https://www.egencia.com/openconnect-expensestream-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/GetBookingAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Booking
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/CancellationDeletionAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=CancelAndDelete
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/ApprovalWorkflowAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Approval
📖
APIReference
https://apis.egencia.com/approval/docs/api-docs
📖
Documentation
https://www.egencia.com/openconnect-approval-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/ReceiptAPISPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Receipt
📖
APIReference
https://apis.egencia.com/dutyofcare/docs/api-docs/doc-service
📖
Documentation
https://apis.egencia.com/dutyofcare/v1/api-info
📖
APIReference
https://apis.egencia.com/bi/docs/api-docs/transaction-data-service
📖
Documentation
https://apis.egencia.com/bi/v1/api-info

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amex-gbt-transaction-service-controller-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amex-gbt-transaction-service-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amex Gbt Transaction Service Controller API
  version: v1.0
  description: 'Operations tagged transaction-service-controller across 2 of this provider''s published API definitions: amex-gbt-reporting-api-openapi.json, amex-gbt-service-bi-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://apis.egencia.com/bi/api
  description: Generated server url
tags:
- description: Transaction data operations
  name: transaction-service-controller
paths:
  /v1/transactions:
    post:
      description: "<p>This API call allows the client to submit a request for retrieving transactions for a specified search criteria (All LOB summary).</p>\n<p> Request Specifications: </p>\n<div>\n<table style=\"letter-spacing: 0px; width: 92.2059%; padding: 0px;\" role=\"grid\" resolved=\"\">\n  <colgroup>\n   <col style=\"width: 9.1853%;\">\n   <col>\n   <col style=\"width: 7.7476%;\">\n   <col style=\"width: 83.0671%;\">\n  </colgroup>\n  <thead>\n  <tr>\n   <th data-column=\"0\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Attribute: No sort applied, activate to apply an ascending sort\" style=\"user-select: none;\">\n       <div>Attribute</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"1\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Required/optional: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Required/optional</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"2\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Type: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Type</div>\n   </th>\n   <th data-column=\"3\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Description: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Description</div>\n   </th>\n  </tr>\n  </thead>\n  <tbody aria-live=\"polite\" aria-relevant=\"all\">\n  <tr>\n   <td>start_date, end_date</td>\n   <td>Required</td>\n   <td>String</td>\n   <td>Specific date range for which the transaction data is requested.The date range to fetch the\n       booking transactions data. Timestamp in format: YYYY-MM-DD HH:MM:SS. (Example:\n       2020-05-05 09:00:00) These should come as a pair.Note: Future date is only allowed if the date_type is set as travel_date.\n       <ul>\n           <li>Both start and end date is mandatory. If either start date or end date is missing it will it\n               throw an error\n           </li>\n           <li>Default timezone is UTC</li>\n       </ul>\n   </td>\n  </tr>\n  <tr>\n   <td>locale</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Locale represents the supported language to get the report. Accepted values are: nb-NO, de-DE, en-US,\n       en-CA, es-ES, fr-CA, it-IT, nl-NL, sv-SE, en-AU, da-DK, fr-FR, en-GB (Defult locale is en-US)\n       Note: This value is case sensitive.\n   </td>\n  </tr>\n  <tr>\n   <td>currency_code</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>3 character currency code to get the amount in given currency. Accepted Values are: CHF, ARS, MXN, CLP,\n       ZAR, INR, VND, CNY, THB, AUD, ILS, JPY, PLN, GBP, IDR, PHP, TRY, RUB, AED, HKD, EUR, COP, DKK, CAD, MYR,\n       USD, NOK, SGD, CZK, SEK, NZD, BRL, UAH\n   </td>\n  </tr>\n  <tr>\n   <td>includes</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>To include custom data fields in the response. Custom data fields will now come in response only when\n       requested by users in the include option. Values: [\"cdf\"]\n   </td>\n  </tr>\n  <tr>\n   <td>report_level</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Report level for the LOB's air and train to retrieve data for a specific report level.        \"ticket, segment, leg\" are the three different requests configured by report_level field.         If this data is not provided Ticket Level data will be returned by default\n   </td>\n  </tr>\n  <tr>\n   <td>date_type</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>The date type to search the records. You can search for records based on travel date as well as issue\n       date. \"Issue date\" and \"travel date\" will provide data based on issue date and travel date respectively.\n       If no value is passed as datetype, issue date will be considered by default. Accepted Values are: issue_date,travel_date\n       Note : Issue date cannot be future date. However, travel date can be a future date or past date.\n   </td>\n  </tr>\n  <tr>\n   <td>active_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the records with active ticket status or all records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you can exclude\n       bookings and items that have been cancelled, exchanged, voided, or refunded.\n   </td>\n  </tr>\n  <tr>\n   <td>client_ids</td>\n   <td>Optional</td>\n   <td>List<String></td>\n   <td>       With this parameter, it becomes possible for a client or a partner to specify the \n        companies for which they want the reporting data. It accepts a list of the client ids given in string format.\n       If no value is given, by default data will be returned for all associated companies for the client.\n       Note: Passing incorrect company Id values or non numeric values would return an error.\n   </td>\n  </tr>\n  <tr>\n   <td>reconciled_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the reconciled records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you recieve only the records\n       undergoing reconciliation process.\n   </td>\n  </tr>\n  </tbody>\n</table>\n</div>\n\n<b>Example:</b></br>\n\n<pre>\n<code>\n  POST https://apis.egencia.com/bi/api/v1/transactions\n    {\n       \"start_date\": \"2018-01-01 09:00:00\",\n       \"end_date\": \"2018-05-05 09:00:00\",\n       \"locale\": \"en-US\",\n       \"currency_code\": \"USD\",\n       \"date_type\": \"issue_date\",\n       \"active_records_only\":\"true\",\n       \"client_ids\":[\"10098\",\"13882\",\"19120\"],\n       \"reconciled_records_only\":\"true\"\n    }\n     -> 201 CREATED\n    {\n     \"metadata\": {\n       \"page_limit\": 5000,\n       \"total_records\": 10000,\n       \"total_pages\": 2,\n       \"latest_reconciled_date\": \"2018-04-29 00:00:00\"\n     },\n     \"_links\": {\n       \"first\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=1\"\n       },\n       \"last\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=2\"\n       }\n     },\n     \"report_id\": \"3004fa51-104e-4712-b34d-bf7635eb2958\"\n   }\n</code>\n</pre>\n</br>\n<p>This API will return the metadata (hyperlinks) of the resource from where all the qualified transactions will be fetched in a paginated manner.</p>"
      operationId: queryTransactions
      parameters:
      - description: Set to true to include SGP data in the response
        in: header
        name: SGP-Request
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Transaction_data_filters_to_create_a_new_report'
        required: true
      responses:
        '201':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>Created</b>.
        '204':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>No Content</b>.
        '400':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Bad Request</b> : Invalid input or request'
        '401':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Unauthorized</b> : <i>authentication token</i> empty, invalid or expired.'
        '403':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Forbidden</b> : User not Validated for operation.'
        '422':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Invalid input</b> : invalid or missing required input.'
        '500':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Internal Server Error</b> : unable to process request'
      security:
      - OAuth2: []
      summary: Create paginated transaction queries for all LOBs summary data based on search criteria
      tags:
      - transaction-service-controller
    servers:
    - url: https://apis.egencia.com/bi/api
      description: Generated server url
  /v1/transactions/air:
    post:
      description: "<p>This API call allows the client to submit a request for retrieving transactions for a specified search criteria (Air\n    LOB).</p>\n<p> Request Specifications: </p>\n<div>\n<table style=\"letter-spacing: 0px; width: 92.2059%; padding: 0px;\" role=\"grid\" resolved=\"\">\n  <colgroup>\n   <col style=\"width: 9.1853%;\">\n   <col>\n   <col style=\"width: 7.7476%;\">\n   <col style=\"width: 83.0671%;\">\n  </colgroup>\n  <thead>\n  <tr>\n   <th data-column=\"0\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Attribute: No sort applied, activate to apply an ascending sort\" style=\"user-select: none;\">\n       <div>Attribute</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"1\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Required/optional: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Required/optional</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"2\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Type: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Type</div>\n   </th>\n   <th data-column=\"3\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Description: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Description</div>\n   </th>\n  </tr>\n  </thead>\n  <tbody aria-live=\"polite\" aria-relevant=\"all\">\n  <tr>\n   <td>start_date, end_date</td>\n   <td>Required</td>\n   <td>String</td>\n   <td>Specific date range for which the transaction data is requested.The date range to fetch the\n       booking transactions data. Timestamp in format: YYYY-MM-DD HH:MM:SS. (Example:\n       2020-05-05 09:00:00) These should come as a pair.Note: Future date is only allowed if the date_type is set as travel_date.\n       <ul>\n           <li>Both start and end date is mandatory. If either start date or end date is missing it will it\n               throw an error\n           </li>\n           <li>Default timezone is UTC</li>\n       </ul>\n   </td>\n  </tr>\n  <tr>\n   <td>locale</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Locale represents the supported language to get the report. Accepted values are: nb-NO, de-DE, en-US,\n       en-CA, es-ES, fr-CA, it-IT, nl-NL, sv-SE, en-AU, da-DK, fr-FR, en-GB (Defult locale is en-US)\n       Note: This value is case sensitive.\n   </td>\n  </tr>\n  <tr>\n   <td>currency_code</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>3 character currency code to get the amount in given currency. Accepted Values are: CHF, ARS, MXN, CLP,\n       ZAR, INR, VND, CNY, THB, AUD, ILS, JPY, PLN, GBP, IDR, PHP, TRY, RUB, AED, HKD, EUR, COP, DKK, CAD, MYR,\n       USD, NOK, SGD, CZK, SEK, NZD, BRL, UAH\n   </td>\n  </tr>\n  <tr>\n   <td>includes</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>To include custom data fields and/or co2 in the response. These will now come in response only when\n       requested by users in the include option. Values: [\"cdf\",\"co2\"]\n   </td>\n  </tr>\n  <tr>\n   <td>report_level</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Report level for the LOB's air and train to retrieve data for a specific report level.        \"ticket, segment, leg\" are the three different requests configured by report_level field.         If this data is not provided Ticket Level data will be returned by default\n   </td>\n  </tr>\n  <tr>\n   <td>date_type</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>The date type to search the records. You can search for records based on travel date as well as issue\n       date. \"Issue date\" and \"travel date\" will provide data based on issue date and travel date respectively.\n       If no value is passed as datetype, issue date will be considered by default. Accepted Values are: issue_date,travel_date\n       Note : Issue date cannot be future date. However, travel date can be a future date or past date.\n   </td>\n  </tr>\n  <tr>\n   <td>active_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the records with active ticket status or all records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you can exclude\n       bookings and items that have been cancelled, exchanged, voided, or refunded.\n   </td>\n  </tr>\n  <tr>\n   <td>client_ids</td>\n   <td>Optional</td>\n   <td>List<String></td>\n   <td>       With this parameter, it becomes possible for a client or a partner to specify the \n        companies for which they want the reporting data. It accepts a list of the client ids given in string format.\n       If no value is given, by default data will be returned for all associated companies for the client.\n       Note: Passing incorrect company Id values or non numeric values would return an error.\n   </td>\n  </tr>\n  <tr>\n   <td>reconciled_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the reconciled records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you recieve only the records\n       undergoing reconciliation process.\n   </td>\n  </tr>\n  </tbody>\n</table>\n</div>\n\n<b>Example:</b></br>\n\n<pre>\n<code>\n  POST https://apis.egencia.com/bi/api/v1/transactions/air\n    {\n       \"start_date\": \"2018-01-01 09:00:00\",\n       \"end_date\": \"2018-05-05 09:00:00\",\n       \"locale\": \"en-US\",\n       \"currency_code\": \"USD\",\n       \"report_level\": \"segment\",\n       \"date_type\": \"issue_date\",\n       \"includes\": [\"cdf\",\"co2\"],\n       \"active_records_only\":\"true\",\n       \"client_ids\":[\"10098\",\"13882\",\"19120\"],\n       \"reconciled_records_only\":\"true\"\n    }\n     -> 201 CREATED\n    {\n     \"metadata\": {\n       \"page_limit\": 5000,\n       \"total_records\": 10000,\n       \"total_pages\": 2,\n       \"latest_reconciled_date\": \"2018-04-29 00:00:00\"\n     },\n     \"_links\": {\n       \"first\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=1\"\n       },\n       \"last\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=2\"\n       }\n     },\n     \"report_id\": \"3004fa51-104e-4712-b34d-bf7635eb2958\"\n   }\n</code>\n</pre>\n</br>\n<p>This API will return the metadata (hyperlinks) of the resource from where all the qualified transactions will be\n    fetched in a paginated manner.</p>"
      operationId: queryTransactionsForAir
      parameters:
      - description: Set to true to include SGP data in the response
        in: header
        name: SGP-Request
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Transaction_data_filters_to_create_a_new_report'
        required: true
      responses:
        '201':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>Created</b>.
        '204':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>No Content</b>.
        '400':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Bad Request</b> : Invalid input or request'
        '401':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Unauthorized</b> : <i>authentication token</i> empty, invalid or expired.'
        '403':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Forbidden</b> : User not Validated for operation.'
        '422':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Invalid input</b> : invalid or missing required input.'
        '500':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Internal Server Error</b> : unable to process request'
      security:
      - OAuth2: []
      summary: Create paginated transaction queries for Air LOB data based on search criteria
      tags:
      - transaction-service-controller
    servers:
    - url: https://apis.egencia.com/bi/api
      description: Generated server url
  /v1/transactions/car:
    post:
      description: "<p>This API call allows the client to submit a request for retrieving transactions for a specified search criteria (Car LOB).</p>\n<p> Request Specifications: </p>\n<div>\n<table style=\"letter-spacing: 0px; width: 92.2059%; padding: 0px;\" role=\"grid\" resolved=\"\">\n  <colgroup>\n   <col style=\"width: 9.1853%;\">\n   <col>\n   <col style=\"width: 7.7476%;\">\n   <col style=\"width: 83.0671%;\">\n  </colgroup>\n  <thead>\n  <tr>\n   <th data-column=\"0\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Attribute: No sort applied, activate to apply an ascending sort\" style=\"user-select: none;\">\n       <div>Attribute</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"1\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Required/optional: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Required/optional</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"2\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Type: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Type</div>\n   </th>\n   <th data-column=\"3\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Description: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Description</div>\n   </th>\n  </tr>\n  </thead>\n  <tbody aria-live=\"polite\" aria-relevant=\"all\">\n  <tr>\n   <td>start_date, end_date</td>\n   <td>Required</td>\n   <td>String</td>\n   <td>Specific date range for which the transaction data is requested.The date range to fetch the\n       booking transactions data. Timestamp in format: YYYY-MM-DD HH:MM:SS. (Example:\n       2020-05-05 09:00:00) These should come as a pair.Note: Future date is only allowed if the date_type is set as travel_date.\n       <ul>\n           <li>Both start and end date is mandatory. If either start date or end date is missing it will it\n               throw an error\n           </li>\n           <li>Default timezone is UTC</li>\n       </ul>\n   </td>\n  </tr>\n  <tr>\n   <td>locale</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Locale represents the supported language to get the report. Accepted values are: nb-NO, de-DE, en-US,\n       en-CA, es-ES, fr-CA, it-IT, nl-NL, sv-SE, en-AU, da-DK, fr-FR, en-GB (Defult locale is en-US)\n       Note: This value is case sensitive.\n   </td>\n  </tr>\n  <tr>\n   <td>currency_code</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>3 character currency code to get the amount in given currency. Accepted Values are: CHF, ARS, MXN, CLP,\n       ZAR, INR, VND, CNY, THB, AUD, ILS, JPY, PLN, GBP, IDR, PHP, TRY, RUB, AED, HKD, EUR, COP, DKK, CAD, MYR,\n       USD, NOK, SGD, CZK, SEK, NZD, BRL, UAH\n   </td>\n  </tr>\n  <tr>\n   <td>includes</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>To include custom data fields in the response. Custom data fields will now come in response only when\n       requested by users in the include option. Values: [\"cdf\"]\n   </td>\n  </tr>\n  <tr>\n   <td>report_level</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Report level for the LOB's air and train to retrieve data for a specific report level.        \"ticket, segment, leg\" are the three different requests configured by report_level field.         If this data is not provided Ticket Level data will be returned by default\n   </td>\n  </tr>\n  <tr>\n   <td>date_type</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>The date type to search the records. You can search for records based on travel date as well as issue\n       date. \"Issue date\" and \"travel date\" will provide data based on issue date and travel date respectively.\n       If no value is passed as datetype, issue date will be considered by default. Accepted Values are: issue_date,travel_date\n       Note : Issue date cannot be future date. However, travel date can be a future date or past date.\n   </td>\n  </tr>\n  <tr>\n   <td>active_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the records with active ticket status or all records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you can exclude\n       bookings and items that have been cancelled, exchanged, voided, or refunded.\n   </td>\n  </tr>\n  <tr>\n   <td>client_ids</td>\n   <td>Optional</td>\n   <td>List<String></td>\n   <td>       With this parameter, it becomes possible for a client or a partner to specify the \n        companies for which they want the reporting data. It accepts a list of the client ids given in string format.\n       If no value is given, by default data will be returned for all associated companies for the client.\n       Note: Passing incorrect company Id values or non numeric values would return an error.\n   </td>\n  </tr>\n  </tbody>\n</table>\n</div>\n\n<b>Example:</b></br>\n\n<pre>\n<code>\n  POST https://apis.egencia.com/bi/api/v1/transactions/car\n    {\n       \"start_date\": \"2018-01-01 09:00:00\",\n       \"end_date\": \"2018-05-05 09:00:00\",\n       \"locale\": \"en-US\",\n       \"currency_code\": \"USD\",\n       \"date_type\": \"issue_date\",\n       \"active_records_only\":\"true\"\n       \"client_ids\":[\"10098\",\"13882\",\"19120\"]\n    }\n     -> 201 CREATED\n    {\n     \"metadata\": {\n       \"page_limit\": 5000,\n       \"total_records\": 10000,\n       \"total_pages\": 2\n     },\n     \"_links\": {\n       \"first\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=1\"\n       },\n       \"last\": {\n         \"href\": \"https://apis.egencia.com/bi/api/v1/transactions/3004fa51-104e-4712-b34d-bf7635eb2958?page=2\"\n       }\n     },\n     \"report_id\": \"3004fa51-104e-4712-b34d-bf7635eb2958\"\n   }\n</code>\n</pre>\n</br>\n<p>This API will return the metadata (hyperlinks) of the resource from where all the qualified transactions will be fetched in a paginated manner.</p>"
      operationId: queryTransactionsForCar
      parameters:
      - description: Set to true to include SGP data in the response
        in: header
        name: SGP-Request
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Transaction_data_filters_to_create_a_new_report'
        required: true
      responses:
        '201':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>Created</b>.
        '204':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: <b>No Content</b>.
        '400':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Bad Request</b> : Invalid input or request'
        '401':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Unauthorized</b> : <i>authentication token</i> empty, invalid or expired.'
        '403':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Forbidden</b> : User not Validated for operation.'
        '422':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Invalid input</b> : invalid or missing required input.'
        '500':
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EntityModelTransaction_Data_Response'
          description: '<b>Internal Server Error</b> : unable to process request'
      security:
      - OAuth2: []
      summary: Create paginated transaction queries for Car LOB data based on search criteria
      tags:
      - transaction-service-controller
    servers:
    - url: https://apis.egencia.com/bi/api
      description: Generated server url
  /v1/transactions/fees:
    post:
      description: "<p>This API call allows the client to submit a request for retrieving transactions for a specified search criteria (Fee LOB).</p>\n<p> Request Specifications: </p>\n<div>\n<table style=\"letter-spacing: 0px; width: 92.2059%; padding: 0px;\" role=\"grid\" resolved=\"\">\n  <colgroup>\n   <col style=\"width: 9.1853%;\">\n   <col>\n   <col style=\"width: 7.7476%;\">\n   <col style=\"width: 83.0671%;\">\n  </colgroup>\n  <thead>\n  <tr>\n   <th data-column=\"0\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Attribute: No sort applied, activate to apply an ascending sort\" style=\"user-select: none;\">\n       <div>Attribute</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"1\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Required/optional: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Required/optional</div>\n   </th>\n   <th colspan=\"1\"\n       data-column=\"2\" tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\"\n       aria-sort=\"none\" aria-label=\"Type: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Type</div>\n   </th>\n   <th data-column=\"3\"\n       tabindex=\"0\" scope=\"col\" role=\"columnheader\" aria-disabled=\"false\" unselectable=\"on\" aria-sort=\"none\"\n       aria-label=\"Description: No sort applied, activate to apply an ascending sort\"\n       style=\"user-select: none;\">\n       <div>Description</div>\n   </th>\n  </tr>\n  </thead>\n  <tbody aria-live=\"polite\" aria-relevant=\"all\">\n  <tr>\n   <td>start_date, end_date</td>\n   <td>Required</td>\n   <td>String</td>\n   <td>Specific date range for which the transaction data is requested.The date range to fetch the\n       booking transactions data. Timestamp in format: YYYY-MM-DD HH:MM:SS. (Example:\n       2020-05-05 09:00:00) These should come as a pair.Note: Future date is only allowed if the date_type is set as travel_date.\n       <ul>\n           <li>Both start and end date is mandatory. If either start date or end date is missing it will it\n               throw an error\n           </li>\n           <li>Default timezone is UTC</li>\n       </ul>\n   </td>\n  </tr>\n  <tr>\n   <td>locale</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>Locale represents the supported language to get the report. Accepted values are: nb-NO, de-DE, en-US,\n       en-CA, es-ES, fr-CA, it-IT, nl-NL, sv-SE, en-AU, da-DK, fr-FR, en-GB (Defult locale is en-US)\n       Note: This value is case sensitive.\n   </td>\n  </tr>\n  <tr>\n   <td>currency_code</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>3 character currency code to get the amount in given currency. Accepted Values are: CHF, ARS, MXN, CLP,\n       ZAR, INR, VND, CNY, THB, AUD, ILS, JPY, PLN, GBP, IDR, PHP, TRY, RUB, AED, HKD, EUR, COP, DKK, CAD, MYR,\n       USD, NOK, SGD, CZK, SEK, NZD, BRL, UAH\n   </td>\n  </tr>\n  <tr>\n   <td>includes</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>To include custom data fields in the response. Custom data fields will now come in response only when\n       requested by users in the include option. Values: [\"cdf\"]\n   </td>\n  </tr>\n  <tr>\n   <td>active_records_only</td>\n   <td>Optional</td>\n   <td>String</td>\n   <td>       A string to select only the records with active ticket status or all records, present for a given start\n       and end date. The possible values for the string are \"true\" or \"false\". By default, it is set as\n       false which would show all the records for a time period. By passing true, you can exclude\n       bookings and items that have b

# --- truncated at 32 KB (176 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amex-gbt/refs/heads/main/openapi/amex-gbt-transaction-service-controller-api-openapi.yml