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-availability-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: 3.2.0
info:
title: NewSkies-Digital-Api Availability 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: availability
paths:
/api/nsk/v3/availability/lowfare:
post:
tags:
- availability
summary: 'Searches for low fare availability with the full low fare search request. This request allows for total control
over the configuration. If a property is not set, the default settings (LowFareAvailabilitySettings) are used in
its place. Note low fare will not always match availability requests for certain configurations including sorting
by taxes and fees.'
description: 'Although this endpoint behaves like a GET, POST reduces the limitations resulting from URL length issues.
When LowFareAvailabilityRequest.GetAllDetails is set to true, New Skies sets the passenger count in the request
to zero. This means that passenger count restrictions on a fare are not considered and that any available fare
is returned.
GraphQL endpoint: availabilityLowFarev3'
operationId: nsk_v3_availability_lowfare_post
requestBody:
x-name: request
description: The low fare availability request.
content:
application/json:
schema:
$ref: '#/components/schemas/LowFareAvailabilityRequest'
required: true
x-position: 1
responses:
'200':
description: OK. Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponseOfLowFareAvailabilityv2'
examples:
200 OK Response With Macs, One Way:
description: Example response for a successful call for a one way flight, with macs included.
value:
data:
trips:
- lowFareAvailableByMarket:
slC|BOS:
- lowestFareAmount:
fareAmount: 40.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 40.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: BOS
origin: SLC
flightNumber: '5600'
carrierCode: NV
equipmentType: '380'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flg-
soldOut: false
destination: BOS
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
slC|MHT:
- lowestFareAmount:
fareAmount: 50.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 50.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- Y
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: MHT
origin: SLC
flightNumber: '5200'
carrierCode: NV
equipmentType: '280'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flt
soldOut: false
destination: MHT
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
includeTaxesAndFees: false
currencyCode: USD
200 OK Response, round trip:
description: Example response for a successful call round trip
value:
data:
trips:
- lowFareAvailableByMarket:
slC|BOS:
- lowestFareAmount:
fareAmount: 40.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 40.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: BOS
origin: SLC
flightNumber: '5600'
carrierCode: NV
equipmentType: '380'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flg-
soldOut: false
destination: BOS
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
- lowFareAvailableByMarket:
boS|SLC:
- lowestFareAmount:
fareAmount: 80.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 80.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-06T00:00:00'
departureTime: '2024-02-06T00:00:00'
legs:
- arrivalTime: '2024-02-06T00:00:00'
departureTime: '2024-02-06T00:00:00'
destination: SLC
origin: BOS
flightNumber: '6500'
carrierCode: NV
equipmentType: '830'
operatingCarrier: null
availableCount: 50
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfj
soldOut: false
destination: SLC
origin: BOS
departureDate: '2024-02-06T00:00:00'
noFlights: false
includeTaxesAndFees: false
currencyCode: USD
'404':
description: The item was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
/api/nsk/v1/availability/lowfare/estimate:
get:
tags:
- availability
summary: Retrieves the low fare availability estimate using a range of dates.
description: 'This endpoint, unless otherwise specified, will request the pricing and availability for a single adult passenger.
However, the number of passengers can be set on the
request. It is important to note that the pricing on this endpoint is estimated. It will not match availability
due to round trip vs one way discounts, taxes and fees
variations, multi passenger discounts, recently sold out fares, etc. It''s intended to be an estimate only. Due to
these restrictions this endpoint is extremely
performant and can be configured to be cached, with a high cache hit rate.
GraphQL endpoint: availabilityLowFareEstimate'
operationId: nsk_v1_availability_lowfare_estimate_get
parameters:
- name: StartDate
in: query
description: "The start date to retrieve from the low fare cache.\n "
schema:
type:
- string
- 'null'
format: date-time
x-position: 1
- name: EndDate
in: query
description: "The end date for the low fare cache request.\n "
schema:
type:
- string
- 'null'
format: date-time
x-position: 2
- name: Origin
in: query
description: "The origin station code.\n "
schema:
type:
- string
- 'null'
maxLength: 3
minLength: 0
x-position: 3
- name: Destination
in: query
description: "The destination station code.\n "
schema:
type:
- string
- 'null'
maxLength: 3
minLength: 0
x-position: 4
- name: CurrencyCode
in: query
description: "The currency code.\n "
schema:
type:
- string
- 'null'
maxLength: 3
minLength: 0
x-position: 5
- name: IncludeTaxesAndFees
in: query
description: "A flag to indicate if taxes and fees should be included.\n "
schema:
type:
- boolean
- 'null'
x-position: 6
- name: NumberOfPassengers
in: query
description: "The number of passengers\n "
schema:
type:
- integer
- 'null'
x-position: 7
responses:
'200':
description: OK. Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponseOfLowFareEstimateResults'
'404':
description: The item was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
/api/nsk/v3/availability/lowfare/simple:
post:
tags:
- availability
summary: 'Searches for low fare availability with the simple search request. The simple search request covers the common
search
criteria and lets default settings (LowFareAvailabilitySettings) configure the rest. Note low fare will not always
match availability requests for certain configurations included sorting by taxes and fees.'
description: 'Although this endpoint behaves like a GET, POST reduces the limitations resulting from URL length issues.
GraphQL endpoint: availabilityLowFareSimplev3'
operationId: nsk_v3_availability_lowfare_simple_post
requestBody:
x-name: request
description: The low fare availability search simple request.
content:
application/json:
schema:
$ref: '#/components/schemas/LowFareAvailabilitySearchSimpleRequest'
required: true
x-position: 1
responses:
'200':
description: OK. Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponseOfLowFareAvailabilityv2'
examples:
200 OK Response With Macs, One Way:
description: Example response for a successful call for a one way flight, with macs included.
value:
data:
trips:
- lowFareAvailableByMarket:
slC|BOS:
- lowestFareAmount:
fareAmount: 40.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 40.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: BOS
origin: SLC
flightNumber: '5600'
carrierCode: NV
equipmentType: '380'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flg-
soldOut: false
destination: BOS
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
slC|MHT:
- lowestFareAmount:
fareAmount: 50.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 50.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- Y
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: MHT
origin: SLC
flightNumber: '5200'
carrierCode: NV
equipmentType: '280'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flt
soldOut: false
destination: MHT
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
includeTaxesAndFees: false
currencyCode: USD
200 OK Response, round trip:
description: Example response for a successful call round trip
value:
data:
trips:
- lowFareAvailableByMarket:
slC|BOS:
- lowestFareAmount:
fareAmount: 40.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 40.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
legs:
- arrivalTime: '2024-02-01T00:00:00'
departureTime: '2024-02-01T00:00:00'
destination: BOS
origin: SLC
flightNumber: '5600'
carrierCode: NV
equipmentType: '380'
operatingCarrier: null
availableCount: 24
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfjF_flg-
soldOut: false
destination: BOS
origin: SLC
departureDate: '2024-02-01T00:00:00'
noFlights: false
- lowFareAvailableByMarket:
boS|SLC:
- lowestFareAmount:
fareAmount: 80.0
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
lowFares:
- passengers:
adt:
discountCode: null
fareAmount: 80.0
type: ADT
farePointAmount: 0.0
taxesAndFeesAmount: 0.0
bookingClasses:
- E
arrivalTime: '2024-02-06T00:00:00'
departureTime: '2024-02-06T00:00:00'
legs:
- arrivalTime: '2024-02-06T00:00:00'
departureTime: '2024-02-06T00:00:00'
destination: SLC
origin: BOS
flightNumber: '6500'
carrierCode: NV
equipmentType: '830'
operatingCarrier: null
availableCount: 50
productClass: null
referenceFareKey: MH5Ffn5OVn5FUlBUU0ZSRX5SUFRTfn4wfj
soldOut: false
destination: SLC
origin: BOS
departureDate: '2024-02-06T00:00:00'
noFlights: false
includeTaxesAndFees: false
currencyCode: USD
'404':
description: The item was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
/api/nsk/v4/availability/search:
post:
tags:
- availability
summary: 'Searches for availability with the full availability search request. This request allows for total control over
the configuration. If a property is not set, default values will be set instead. These defaults are what we
consider a general optimized request. If these optimizations are not preferred the requester will need to
opted out the filters on the availability request.'
description: 'Note: It is advised to optimize the availability request with passing in at least one or more (ProductClass,
TravelClass, FareTypes or ClassesOfService) so the response can be optimized as possible. This is even more
recommended for mobile applications due to the nature of limited network capabilities.
The default values that will be set unless specified:
- TaxesAndFees = TaxesAndFeesRollupMode.None
- Criteria.SsrCollectionsMode = AvailabilitySsrCollectionsMode.None
- Criteria.Filters.FareInclusionType = AvailabilityType.Default
- Criteria.Filters.CompressionType = FareClassControl.LowestFareClass
- Criteria.Filters.Loyalty = LoyaltyFilter.MonetaryOnly
- Criteria.Filters.FlightType = FlightType.All
- Criteria.Filters.ExclusionType = AvailabilityFilter.ExcludeUnavailable
- Criteria.Filters.SortOptions =
JourneySortKey.LowestFare,JourneySortKey.EarliestDeparture,JourneySortKey.ShortestTravelTime
- Filters.ConnectionType = SoldAsConnectionType.None
- Criteria.Filters.MaxConnectingFlights = 0
- Criteria.Stations.SearchDestinationMacs = false
- Criteria.Stations.SearchOriginMacs = false
- Criteria.Filters.BundleControlFilter = BundleControlFilter.Disabled
- NumberOfFaresPerJourney = 1
Criteria.Filters.IncludeServiceBundleSetCodes is marked as obsolete, and the use of
BundleControlFilter is preferred. To specifically return bundle set codes which IncludeServiceBundleSetCodes has
originally provided when set to true, use an enumeration value of BundleControlFilter.ReturnBundleSets for
BundleControlFilter instead.
When searching for open jaw availability the results will contain only available markets if any are configured.
The AvailabilityCriteriaFilter.FareInclusionType.NoPricing enumeration value, if set, will result in an
availability response that does not include fares. The primary use case for this is in Move flows, but is being
maintained on the main availability and rebook availability flows in case there are other use cases as well.
GraphQL endpoint: availabilityv5'
operationId: nsk_v4_availability_search_post
requestBody:
x-name: request
description: The availability search request.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityRequestv3'
required: true
x-position: 1
responses:
'200':
description: OK. Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponseOfAvailabilityv2'
examples:
Requested Passenger Discount Overridden Message:
description: Example OSI Message when getting availability with a promotion code, no requested passenger discount, and the promotion code has a passenger discount associated with it. *NOTE*:This example *only* displays the message, however, the availability data will be populated in addition the given message.
value:
messages:
- rawValue: 'A passenger discount code was found that is associated with the requested promotion code. The passenger discount code on the request has been override with the following associated discount code: SNR.'
code: PassengerDiscountCodeOverridden
debugMode: The API is currently running in debug mode. In production the 'rawValue' node will not be returned. These are for troubleshooting development issues only.
type: Information
value: PassengerDiscountCodeOverridden
status: 0
details:
associatedDiscountCode: SNR
data: null
'400':
description: There was a problem with the request and it could not be completed.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
'403':
description: Role permissions are not met.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
'404':
description: The item was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
/api/nsk/v4/availability/search/simple:
post:
tags:
- availability
summary: 'Searches for availability with the simple availability search request. This request allows for easy setup for one
way and round trip searches. If a property is not set, default values will be set instead just like they would in
the full availability request. These defaults are what we consider a general optimized request. If these
optimizations are not preferred the requester will need to opted out the filters on the availability simple
request.'
description: 'Note: It is advised to optimize the availability request with passing in at least one or more (ProductClass,
TravelClass, FareTypes or ClassesOfService) so the response can be optimized as possible. This is even more
recommended for mobile applications due to the nature of limited network capabilities.
The default values that will be set unless specified:
- TaxesAndFees = TaxesAndFeesRollupMode.None
- SsrCollectionsMode = AvailabilitySsrCollectionsMode.None
- Filters.FareInclusionType = AvailabilityType.Default
- Filters.CompressionType = FareClassControl.LowestFareClass
- Filters.Loyalty = LoyaltyFilter.MonetaryOnly
- Filters.FlightType = FlightType.All
- Filters.ExclusionType = AvailabilityFilter.ExcludeUnavailable
- Filters.SortOptions =
JourneySortKey.LowestFare,JourneySortKey.EarliestDeparture,JourneySortKey.ShortestTravelTime
- Filters.ConnectionType = SoldAsConnectionType.None
- Filters.MaxConnectingFlights = 0
- SearchDestinationMacs = false
- SearchOriginMacs = false
- Criteria.Filters.BundleControlFilter = BundleControlFilter.Disabled
- NumberOfFaresPerJourney = 1
Note that the searchOriginMacs and searchDestinationMacs flags apply to both journeys when booking a round-trip
journey with the simple availability endpoint. For example, if you set "searchOriginMacs" to "true" for a
round trip from SLC-BOS and back, it will search for SLC MAC airports on the outbound (SLC > BOS) journey, and
BOS MAC airports on the inbound (BOS > SLC) journey
Criteria.Filters.IncludeServiceBundleSetCodes is marked as obsolete, and the use of
BundleControlFilter is preferred. To specifically return bundle set codes which IncludeServiceBundleSetCodes has
originally provided when set to true, use an enumeration value of BundleControlFilter.ReturnBundleSets for
BundleControlFilter instead.
The AvailabilityCriteriaFilter.FareInclusionType.NoPricing enumeration value, if set, will result in an
availability response that does not include fares. The primary use case for this is in Move flows, but is being
maintained on the main availability and rebook availability flows in case there are other use cases as well.
GraphQL endpoint: availabilitySimplev4'
operationId: nsk_v4_availability_search_simple_post
requestBody:
x-name: request
description: The availability simple v2 search request.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilitySimpleRequestv2'
required: true
x-position: 1
responses:
'200':
description: OK. Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponseOfAvailabilityv2'
examples:
Requested Passenger Discount Overridden Message:
description: Example OSI Message when getting availability with a promotion code, no requested passenger discount, and the promotion code has a passenger discount associated with it. *NOTE*:This example *only* displays the message, however, the availability data will be populated in addition the given message.
value:
messages:
- rawValue: 'A passenger discount code was found that is associated with the requested promotion code. The passenger discount code on the request has been override with the following associated discount code: SNR.'
code: PassengerDiscountCodeOverridden
debugMode: The API is currently running in debug mode. In production the 'rawValue' node will not be returned. These are for troubleshooting development issues only.
type: Information
value: PassengerDiscountCodeOverridden
status: 0
details:
associatedDiscountCode: SNR
data: null
'404':
description: The item was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/IJsonResponse'
/api/nsk/v2/availability/search/ssr:
post:
tags:
- availability
summary: 'Searches for availability with SSR prices with the full availability search request. This request allows for total
control over the configuration. If a property is not set, default values will be set instead. These defaults are
what we consider a general optimized request. If these optimizations are not preferred the requester will need to
opt out of the filters on the availability request.'
description: 'Note: This is an expensive call and should be used with appropriate cautions.
It is advised to optimize the availability re
# --- truncated at 32 KB (129 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tui-group/refs/heads/main/openapi/tui-group-availability-api-openapi.yml