TUI Group Trip API

The trip API from TUI Group — 38 operation(s) for trip.

Operations 43

POST /api/nsk/v5/trip Creates a new booking with the provided journeys, contacts, passengers, and SSRs. #
POST /api/nsk/v4/trip Creates a new booking with the provided journeys, contacts, passengers, and SSRs. #
GET /api/nsk/v1/trip/{legKey}/seats/{unitKey}/properties BETA - Retrieves inventory seat properties for a given flight leg and unit key. #
POST /api/nsk/v1/trip/{legKey}/seats/{unitKey}/properties BETA - Creates an inventory seat property for a given flight leg and unit key. #
PUT /api/nsk/v1/trip/{legKey}/seats/{unitKey}/properties BETA - Updates an inventory seat property for a given flight leg and unit key. #
DELETE /api/nsk/v1/trip/{legKey}/seats/{unitKey}/properties BETA - Deletes an inventory seat property for a given flight leg and unit key. #
GET /api/nsk/v1/trip/{legKey}/seats/properties BETA - Retrieves inventory seat properties for a given flight leg. #
POST /api/nsk/v1/trip/contacts Creates a new contacts-only booking. #
POST /api/nsk/v2/trip/info Gets the search results for the trip information, based on the search criteria. #
GET /api/nsk/v1/trip/info/{legKey}/details Retrieves cabin and various details for the specified leg key. #
PATCH /api/nsk/v1/trip/info/{legKey}/status Stateless operation for updating the trip information status for a specific flight. #
GET /api/nsk/v2/trip/info/{legKey}/status Retrieves the trip status data for the specified leg key. #
POST /api/nsk/v1/trip/info/{legKey}/status/comments Stateless operation for creating operation comments in the trip information status for a specific flight. #
PUT /api/nsk/v1/trip/info/{legKey}/status/comments/{commentKey} Stateless operation for updating the operation comments in the trip information status for a specific flight. #
DELETE /api/nsk/v1/trip/info/{legKey}/status/comments/{commentKey} Stateless operation for deleting the operation comments in the trip information status for a specific flight. #
POST /api/nsk/v1/trip/info/{legKey}/status/delays Stateless operation for creating operation delays in the trip information status for a specific flight. #
PATCH /api/nsk/v1/trip/info/{legKey}/status/delays/{delayKey} Stateless operation for patching the operation delays in the trip information status for a specific flight. #
DELETE /api/nsk/v1/trip/info/{legKey}/status/delays/{delayKey} Stateless operation for deleting trip operation delays in the trip information status for a specific flight. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/cancel Updates the leg status to cancel. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/closeLeg Updates a leg status closed. #
PUT /api/nsk/v2/trip/info/{legKey}/status/operationDetails/status/closeLeg Updates a leg status closed. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/closePendingLeg Updates a leg status to closed pending. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/mishap Secures all passenger information associated with the flight leg clearing and locking the passenger data. This changes the leg status to Mishap. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/mishapRestore Restores locked passenger data associated with the flight leg. This restores the leg status to normal. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/openLeg Updates a leg status to open. #
PUT /api/nsk/v1/trip/info/{legKey}/status/operationDetails/status/restore Updates the leg status to normal. #
POST /api/nsk/v2/trip/info/legs Searches for the inventory legs based on the search criteria. #
GET /api/nsk/v2/trip/info/legs/simple Performs a simplified search for trip information by leg, based upon minimal, required data for the search criteria. #
GET /api/nsk/v2/trip/info/simple Performs a simplified search for trip information based upon minimal, required data for the search criteria. #
POST /api/nsk/v1/trip/info/status/operationDetails/status/mishapRestore Restores locked passenger data associated the leg information. This restores the leg status to normal. #
POST /api/nsk/v2/trip/move Moves a journey on the booking in state. #
POST /api/nsk/v3/trip/move/availability Searches for move availability with the full availability search request. This request will allow for total control over the configuration. If a property is not set, the default se #
GET /api/nsk/v3/trip/move/availability/{journeyKey} Searches for availability with the simple move request. The simple search request covers the bare minimum search criteria and lets default settings (AvailabilitySettings) configure #
GET /api/nsk/v2/trip/move/availability/selfService Self-service search for move availability. #
POST /api/nsk/v1/trip/move/irop Performs an IROP move for the booking in state. This endpoint adds additional IROP move functionality for agents. See `/api/nsk/v2/trip/move` for IROP functionality not restricted #
POST /api/nsk/v1/trip/passengers Creates a new booking with the provided passengers. #
POST /api/nsk/v1/trip/passiveSegments Creates a passive segment and creates a booking if it doesn't already exist. #
POST /api/nsk/v5/trip/rebook/availability Rebook search with the current booking defaults. #
GET /api/nsk/v4/trip/rebook/availability/simple Simple rebook search with the current booking defaults. #
GET /api/nsk/v1/trip/schedule Retrieves the schedule of flights for a market. #
POST /api/nsk/v1/trip/schedule/adHoc Creates an ad hoc flight. #
POST /api/nsk/v4/trip/sell Sells the list of journeys and creates a booking if it doesn't already exist. #
POST /api/nsk/v1/trip/standby/availability Retrieves same-day standby availability relevant to the current state booking. #

Documentation

📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/simple-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/advanced-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/creditcard-payments
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/check-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/booking-flow
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/description
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-details
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/code-examples
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/description
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/data-format
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-description
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-details
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-flight-ota-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/technical-details
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-description
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-details
📖
Documentation
https://developer.tui/api-catalog/walldy-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/walldy-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/api-description
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/meta-search-generic-api/api-description
📖
Documentation
https://developer.tui/api-catalog/partner-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ship-content-api/api-description

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/tui-group-trip-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 email required.

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

OpenAPI Specification

tui-group-trip-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewSkies-Digital-Api Trip API
  version: 4.8.6.23
  description: Navitaire Digital Api
servers:
- url: https://prod.api.tui/flight/newskies/rest
  description: TUI Prod
- url: https://playground.api.tui/flight/newskies/rest
  description: TUI Playground
security:
- JWT: []
tags:
- name: trip
paths:
  /api/nsk/v5/trip:
    post:
      tags:
      - trip
      summary: Creates a new booking with the provided journeys, contacts, passengers, and SSRs.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: tripCreatev5'
      operationId: nsk_v5_trip_post
      parameters:
      - name: syncPassengerAndTravelDocGender
        in: query
        description: "Indicates whether to synchronize the passenger and all its travel\ndocuments' gender. This will update the gender of all the travel documents in the\npassengers[passengerKey].travelDocuments list in the booking model. The value defaults to true if not specified.\n            "
        schema:
          type: boolean
          default: true
        x-position: 2
      requestBody:
        x-name: request
        description: The booking sell request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingSellRequest'
        required: true
        x-position: 1
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfBooking'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Passenger type not allowed for infant in lap.:
                  description: Example when attempting to add an infant in lap to a passenger type that is not allowed.
                  value:
                    errors:
                    - id: 305fe78c-03e9-4c68-a8f8-5841b5dc6a10
                      code: nsk:Passenger:PassengerTypeNotAllowedForInfantInLap
                      message: Passenger with type CHD is not allowed to have an infant in lap.
                      type: Validation
                      details: null
                      rawMessage: Passenger with type CHD is not allowed to have an infant in lap.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
                No POST request body.:
                  description: Example when making a call without a request body.
                  value:
                    errors:
                    - id: 5560684d-8fa9-47f1-b2f6-ebe6380d5b69
                      code: nsk:Exceptions:Null
                      message: An unexpected null value of type 'BookingSellRequest'.
                      type: Validation
                      details: null
                      rawMessage: An unexpected null value of type 'BookingSellRequest'.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
  /api/nsk/v4/trip:
    post:
      tags:
      - trip
      summary: Creates a new booking with the provided journeys, contacts, passengers, and SSRs.
      description: '`IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.`


        GraphQL endpoint: tripCreatev4'
      operationId: nsk_v4_trip_post
      requestBody:
        x-name: request
        description: The booking sell request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingSellRequest'
        required: true
        x-position: 1
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfBooking'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '409':
          description: Concurrent changes were being made in the same session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
      deprecated: true
  /api/nsk/v1/trip/{legKey}/seats/{unitKey}/properties:
    get:
      tags:
      - trip
      summary: BETA - Retrieves inventory seat properties for a given flight leg and unit key.
      description: 'This is a beta endpoint and is not currently a long term supported endpoint. This endpoint may be removed in future updates.

        Beta endpoints are not available in all labs or for all customers of the API.


        GraphQL endpoint: inventorySeatProperties'
      operationId: nsk_v1_trip_legKey_seats_unitKey_properties_get
      parameters:
      - name: legKey
        in: path
        required: true
        description: The flight leg to retrieve the properties for.
        schema:
          type: string
        x-position: 1
      - name: unitKey
        in: path
        required: true
        description: The unit key to retrieve the properties for.
        schema:
          type: string
        x-position: 2
      - name: compartmentDesignator
        in: query
        description: The compartment to retrieve the seat properties for.
        schema:
          type:
          - string
          - 'null'
        x-position: 3
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIDictionaryOfStringAndListOfInventorySeatPropertyBase'
              examples:
                Default:
                  description: ''
                  value:
                    data:
                      tlYhNTY5NSEgITYzODMwMzY4NTAwMDAwMDAwMCFTTEMhREVOITFBIVk-:
                      - code: RECLINER
                        value: 'TRUE'
                      tlYhNTY5NSEgITYzODMwMzY4NTAwMDAwMDAwMCFTTEMhREVOITJBIVk-:
                      - code: AVAILC
                        value: 'TRUE'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Default:
                  description: ''
                  value:
                    errors:
                    - id: null
                      code: nsk:Exceptions:InvalidKey
                      message: nsk:Exceptions:InvalidKey
                      type: Validation
                      details: null
                      rawMessage: The identifier 'legKey' with value 'X' is invalid.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
    post:
      tags:
      - trip
      summary: BETA - Creates an inventory seat property for a given flight leg and unit key.
      description: 'This is a beta endpoint and is not currently a long term supported endpoint. This endpoint may be removed in future updates.

        Beta endpoints are not available in all labs or for all customers of the API.


        GraphQL endpoint: inventorySeatPropertiesAdd'
      operationId: nsk_v1_trip_legKey_seats_unitKey_properties_post
      parameters:
      - name: legKey
        in: path
        required: true
        description: The leg key to modify the properties for.
        schema:
          type: string
        x-position: 1
      - name: unitKey
        in: path
        required: true
        description: The unit key to modify the properties for.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: property
        description: The property to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventorySeatPropertyBase'
            examples:
              Default:
                description: The code and value on the request are required and are case-insensitive.
                value:
                  code: WINDOW
                  value: 'TRUE'
        required: true
        x-position: 3
      responses:
        '201':
          description: The item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Default:
                  description: ''
                  value:
                    errors:
                    - id: null
                      code: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      message: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      type: Error
                      details: null
                      rawMessage: 'Inventory seat properties were not committed due to the following:

                        Check if requested property code ''WINDOW'' and value ''TRUE'' is an active inventory property in setup.

                        No inventory seat property to commit.'
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
    put:
      tags:
      - trip
      summary: BETA - Updates an inventory seat property for a given flight leg and unit key.
      description: 'This is a beta endpoint and is not currently a long term supported endpoint. This endpoint may be removed in future updates.

        Beta endpoints are not available in all labs or for all customers of the API.


        GraphQL endpoint: inventorySeatPropertiesSet'
      operationId: nsk_v1_trip_legKey_seats_unitKey_properties_put
      parameters:
      - name: legKey
        in: path
        required: true
        description: The leg key to update the properties for.
        schema:
          type: string
        x-position: 1
      - name: unitKey
        in: path
        required: true
        description: The unit key to update the properties for.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: property
        description: The properties to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventorySeatPropertyBase'
            examples:
              Default:
                description: The code and value on the request are required and are case-insensitive.
                value:
                  code: WINDOW
                  value: 'TRUE'
        required: true
        x-position: 3
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Default:
                  description: ''
                  value:
                    errors:
                    - id: null
                      code: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      message: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      type: Error
                      details: null
                      rawMessage: 'Inventory seat properties were not committed due to the following:

                        Check if requested property code ''WINDOW'' and value ''TRUE'' is an active inventory property in setup.

                        No inventory seat property to commit.'
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
    delete:
      tags:
      - trip
      summary: BETA - Deletes an inventory seat property for a given flight leg and unit key.
      description: 'This is a beta endpoint and is not currently a long term supported endpoint. This endpoint may be removed in future updates.

        Beta endpoints are not available in all labs or for all customers of the API.


        GraphQL endpoint: inventorySeatPropertiesDelete'
      operationId: nsk_v1_trip_legKey_seats_unitKey_properties_delete
      parameters:
      - name: legKey
        in: path
        required: true
        description: The leg key to delete the properties for.
        schema:
          type: string
        x-position: 1
      - name: unitKey
        in: path
        required: true
        description: The unit key to delete the properties for.
        schema:
          type: string
        x-position: 2
      requestBody:
        x-name: property
        description: The property to delete.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventorySeatPropertyBase'
            examples:
              Default:
                description: The code and value on the request are required and are case-insensitive.
                value:
                  code: WINDOW
                  value: 'TRUE'
        required: true
        x-position: 3
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Default:
                  description: ''
                  value:
                    errors:
                    - id: null
                      code: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      message: nsk:InventorySeatProperties:InventorySeatPropertyCommitFailed
                      type: Error
                      details: null
                      rawMessage: 'Inventory seat properties were not committed due to the following:

                        Check if requested property code ''WINDOW'' and value ''TRUE'' is an active inventory property in setup.

                        No inventory seat property to commit.'
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
  /api/nsk/v1/trip/{legKey}/seats/properties:
    get:
      tags:
      - trip
      summary: BETA - Retrieves inventory seat properties for a given flight leg.
      description: 'This is a beta endpoint and is not currently a long term supported endpoint. This endpoint may be removed in future updates.

        Beta endpoints are not available in all labs or for all customers of the API.


        GraphQL endpoint: inventorySeatPropertiesByLeg'
      operationId: nsk_v1_trip_legKey_seats_properties_get
      parameters:
      - name: legKey
        in: path
        required: true
        description: The flight leg to retrieve the properties for.
        schema:
          type: string
        x-position: 1
      - name: compartmentDesignator
        in: query
        description: The compartment to retrieve the seat properties for.
        schema:
          type:
          - string
          - 'null'
        x-position: 2
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIDictionaryOfStringAndListOfInventorySeatPropertyBase'
              examples:
                Default:
                  description: ''
                  value:
                    data:
                      tlYhNTY5NSEgITYzODMwMzY4NTAwMDAwMDAwMCFTTEMhREVOITFBIVk-:
                      - code: RECLINER
                        value: 'TRUE'
                      tlYhNTY5NSEgITYzODMwMzY4NTAwMDAwMDAwMCFTTEMhREVOITJBIVk-:
                      - code: AVAILC
                        value: 'TRUE'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                Default:
                  description: ''
                  value:
                    errors:
                    - id: null
                      code: nsk:Exceptions:InvalidKey
                      message: nsk:Exceptions:InvalidKey
                      type: Validation
                      details: null
                      rawMessage: The identifier 'legKey' with value 'X' is invalid.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
  /api/nsk/v1/trip/contacts:
    post:
      tags:
      - trip
      summary: Creates a new contacts-only booking.
      description: 'This endpoint is not for updating contacts on an existing booking.

        For that purpose, use the "booking/contacts/{contactTypeCode}" endpoints for PUT and PATCH.

        This endpoint is to create a new contacts-only booking.

        An example use case for a contacts-only booking are agency gift certificates (Agency Contact)

        where a payment is made with the organization credit and left as a credit on the PNR.

        IMPORTANT: This endpoint should NOT be called concurrently using the same session token to avoid performance

        problems.


        GraphQL endpoint: tripContactsAdd'
      operationId: nsk_v1_trip_contacts_post
      requestBody:
        x-name: tripContactsRequest
        description: The trip contacts request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripContactsRequest'
            examples:
              Valid trip contacts request:
                description: Example request for creating a contacts only booking.
                value:
                  data:
                    contacts:
                    - contactTypeCode: P
                      phoneNumbers:
                      - type: 1
                        number: '1234'
                      cultureCode: null
                      address:
                        lineOne: '123'
                        lineTwo: null
                        lineThree: null
                        countryCode: null
                        provinceState: null
                        city: City
                        postalCode: '100'
                      emailAddress: mail@mail.com
                      customerNumber: null
                      sourceOrganization: null
                      distributionOption: null
                      notificationPreference: null
                      companyName: null
                      name:
                        first: John
                        middle: null
                        last: Doe
                        title: null
                        suffix: null
        required: true
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfBooking'
              examples:
                Contacts-only booking:
                  description: Example response for successfully creating a contacts-only booking.
                  value:
                    data:
                      selfServiceMoveAvailable: false
                      bookingKey: null
                      recordLocator: null
                      currencyCode: null
                      systemCode: null
                      groupName: null
                      locators: null
                      info:
                        status: 0
                        paidStatus: 0
                        priceStatus: 0
                        profileStatus: 0
                        bookingType: null
                        channelType: 0
                        bookedDate: '2026-07-09T05:55:13.5552699+00:00'
                        createdDate: null
                        expirationDate: null
                        modifiedDate: null
                        modifiedAgentId: 0
                        createdAgentId: 0
                        owningCarrierCode: null
                        changeAllowed: false
                        createdUserKey: MA--
                        modifiedUserKey: null
                      sales: null
                      typeOfSale: null
                      hold: null
                      breakdown: null
                      receivedBy: null
                      contacts:
                        p:
                          contactTypeCode: P
                          phoneNumbers:
                          - type: 1
                            number: '1234'
                          cultureCode: null
                          address:
                            lineOne: '123'
                            lineTwo: null
                            lineThree: null
                            countryCode: null
                            provinceState: null
                            city: City
                            postalCode: '100'
                          emailAddress: mail@mail.com
                          customerNumber: null
                          sourceOrganization: null
                          distributionOption: null
                          notificationPreference: null
                          companyName: null
                          name:
                            first: John
                            middle: null
                            last: Doe
                            title: null
                            suffix: null
                      passengers: null
                      journeys: null
                      comments: null
                      queues: null
                      history: null
                      payments: null
                      addOns: null
                      orders: null
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With invalid contact type code:
                  description: The contact type code is invalid or not configured in the system. The list of valid contact type codes can be retrieved using the GET api/nsk/v1/resources/ContactTypes endpoint.
                  value:
                    errors:
                    - id: 12bd2c3d-ddd4-5844-3sz5-3cg52c2e13n1
                      code: nsk:Contact:InvalidContactTypeCode
                      message: The contact type code 'S' is invalid.
                      type: Validation
                      details:
                        contactTypeCode: S
                      rawMessage: The contact type code 'S' is invalid.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                With duplicate contact type code:
                  description: The contact type code already exists in the request.
                  value:
                    errors:
                    - id: 99cd1b2b-ccc3-4733-7fa4-2bf49b1d98c0
                      code: nsk:Contact:DuplicateTypeCode
                      message: Duplicate contact type 'P' detected.
                      type: Validation
                      details:
                        contactTypeCode: P
                      rawMessage: Duplicate contact type 'P' detected.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                With no contact type code:
                  description: The contact type code in the request is not populated.
                  value:
                    errors:
                    - id: 5f490eab-3a4d-a783-14ed-25456aecf82f
                      code: Contact.ContactTypeCode:RequiredAttribute
                      message: The Contact field is required.
                      type: Validation
                      details: null
                      rawMessage: The Contact field is required.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                With incomplete booking contact information:
                  description: The booking contact information provided is incomplete.
                  value:
                    errors:
                    - id: 666e7592-c107-3812-46e6-f7147dd3c5cd
                      code: nsk-server:BookingContactInfoIncomplete
                      message: Missing or invalid GST Registration Number.
                      type: Validation
                      details: null
                      rawMessage: Missing or invalid GST Registration Number.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                With booking already in state:
                  description: There is already a booking in state.
                  value:
                    errors:
                    - id: 505b55d3-cac8-93a9-4d25-131256cdd551
                      code: nsk:Booking:AlreadyExistsInState
                      message: Booking already exists in state. Try again after reseting the state.
                      type: Error
                      details: null
                      rawMessage: Booking already exists in state. Try again after reseting the state.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                With null request:
                  description: The trip contact request field is null
                  value:
                    errors:
                    - id: 292fcb67-e1de-eb62-3d1a-123a586b03a9
                      code: core:Validation:NullRequest
                      message: The request is null or couldn't be converted to the expected data type.
                      type: Error
                      details: null
                      rawMessage: The request is null or couldn't be converted to the expected data type.
                      exception: null
                      debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only.
                    data: null
  /api/nsk/v2/trip/info:
    post:
      tags:
      - trip
      summary: Gets the search results for the trip information, based on the search criteria.
      description: 'This endpoint will return a maximum of 100 journeys.  If more than 100 journeys are needed, the search criteria

        will need to be modified and additional trip calls will need to be made.


        GraphQL endpoint: tripInformationv2'
      operationId: nsk_v2_trip_info_post
      requestBody:
        x-name: request
        description: The trip information request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripInformationQuery'
        required: true
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIListOfTripInformationResponsev2'
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/trip/info/{legKey}/details:
    get:
      tags:
      - trip
      summary: Retrieves cabin and various details for the specified leg key.
      description: 'The additional trip details include the leg cross references,

        the cabin details (nest counts), and the checkin-lid.


        GraphQL endpoint: tripInformationDetails'
      operationId: nsk_v1_trip_info_legKey_details_get
      parameters:
      - name: legKey
        in: path
        required: true
        description: The encoded leg key.
        schema:
          type: string
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfTripDetails'
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/trip/info/{legKey}/status:
    patch:
      tags:
      - trip
      summary: Stateless operation for updating the trip information status for a specific flight.
      description: 'A flight must be within three days of leaving to be able to make flight

        following information changes.

        An empty string or whitespaces are allowed input values and are not considered as null

        inputs. Null values will retain the original value in the trip status while empty strings

        or whitespaces will clear the value from the trip status.

        When updating tail numbers, this endpoint will not validate mismatching equipment types.

        If validation is required for tail numbers, please see `POST /equipment/tailNumber`.


        GraphQL endpoint: tripInformationStatusModify'
      operationId: nsk_v1_trip_info_legKey_status_patch
      parameters:
      - name: legKey
        in: path
        required: true
        description: The leg key of the flight being updated.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
     

# --- truncated at 32 KB (461 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tui-group/refs/heads/main/openapi/tui-group-trip-api-openapi.yml