openapi: 3.0.4
info:
  title: AeroDataBox API
  description: "**AeroDataBox API** is an enthusiast-driven cost-effective aviation and flight data API tailored for small and medium businesses, individual developers, researchers, and students. It offers a wide range of data, including flight status, schedules, aircraft information, airport details, statistics, historical data, and more. Designed for seamless integration using REST and web hooks and available through major API marketplaces, it enables users to incorporate aviation information effortlessly into their systems at affordable rates.\n\n## Introduction\n\n### Sign Up\nSign up through one of the supported API marketplaces, each offering various pricing models to suit your specific needs.\n- [API.Market](https://apimarket.aerodatabox.com/) - the widest selection of plans, best for single-tier use\n- [RapidAPI](https://rapid.aerodatabox.com/) - most tried & tested\n\n### Pricing\nCalls to endpoints are not priced equally!\nNote the **TIER #** marking next to the name of each endpoint and review [our pricing](https://aerodatabox.com/pricing) per each tier depending on the marketplace.\n\n### Subscribe to Updates\n\nVisit our [web-site](https://aerodatabox.com) and join our newsletter to stay in the loop. \nRecent updates can be found on the [News & Updates](https://aerodatabox.com/news) page.\n\n### Reading\n* **⚠️ [Terms of Use](https://aerodatabox.com/terms) &lt;- BY SUBSCRIBING TO THE API YOU AUTOMATICALLY ACCEPT THESE TERMS**\n* **⚠️ [Pricing](https://aerodatabox.com/pricing)  &lt;- CALLS ARE NOT PRICED EQUALLY**\n* **⚠️ [Data Coverage](https://aerodatabox.com/data-coverage) &lt;- BE AWARE OF OUR LIMITATIONS**\n* [Documentation & OpenAPI Specification](https://doc.aerodatabox.com/ )\n* [FAQ](https://aerodatabox.com/faq)\n* [For Students & Researchers](https://aerodatabox.com/students)\n* [Machine Learning-Based Realistic Flight Time Calculation](https://aerodatabox.com/ml-flight-time/)\n* [Airport Delays](https://aerodatabox.com/api-airport-delays/)\n* [Runway detection](https://aerodatabox.com/flight-take-off-and-landing-time-runway-detection-based-on-ads-b-data-more-flights-and-status-updates/)\n* [FAA LADD](https://aerodatabox.com/faa-ladd)\n\n### API Supported Response Formats\n* JSON (default, `Accept: application/json`)\n* XML (`Accept: application/xml`)"
  termsOfService: https://aerodatabox.com/terms/
  contact:
    url: https://aerodatabox.com/contact/
  version: 1.15.1.0
servers:
  - url: https://aerodatabox.p.rapidapi.com/
    description: RapidAPI Gateway
paths:
  '/aircrafts/{searchBy}/{searchParam}':
    get:
      tags:
        - Aircraft API
      summary: 'Single aircraft (by tail-number, Mode-S or ID) / TIER 1'
      description: '*Returns:* Single aircraft, *best* matching specified search criteria, if found. Please note that all found aircraft will be impersonated with registration information matching the requested tail number or Mode-S even though an aircraft might be flying under a different registration right now.'
      operationId: GetAircraft
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search aircraft by
          schema:
            $ref: '#/components/schemas/AircraftSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `id`: then this field should be an ID of an aircraft (as specified in the database of this API);\n* `reg`: then this field should be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ), multiple matches are possible - see below;\n* `icao24`, then this field should be a ICAO 24-bit Mode-S address of an aircraft specified in hexadecimal format (e.g. 484161, 483EFD), multiple matches are possible - see below.\n\n*If multiple matches are possible:*\n\nThere cannot be more than one aircraft actively flying with the same tail-number or ICAO 24-bit Mode-S address at any moment of time. \nHowever, historically aircraft tail-numbers or addresses may be used multiple times by different aircraft.\nThis endpoint is supposed to return a **single** aircraft data. In case if multiple aircraft satisfy the search criteria, the best match will be chosen as follows:\n* If an active aircraft is found according to the requested critera, it is returned.\n* Otherwise, an aircraft that used requested tail-number/address the most recently is returned. \n* If usage time may not be determined, the aircraft stored in the database the most recently is returned."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: withImage
          in: query
          description: 'Should include aircraft image (default: false).'
          schema:
            type: boolean
            default: false
        - name: withRegistrations
          in: query
          description: 'Should include the history of aircraft registrations (default: false).'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AircraftContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/aircrafts/{searchBy}/{searchParam}/registrations':
    get:
      tags:
        - Aircraft API
      summary: 'Single aircraft registration history (by tail-number, Mode-S or ID) / TIER 1'
      description: '*Returns:* A list of all known registrations of a single aircraft, *best* matching specified search criteria, if found'
      operationId: GetAircraftRegistrations
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search aircraft by
          schema:
            $ref: '#/components/schemas/AircraftSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `id`, then this field should be an ID of an aircraft (as specified in the database of this API);\n* `reg`, then this field should be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ), multiple matches are possible - see below;\n* `icao24`, then this field should be a ICAO 24-bit Mode-S address of an aircraft specified in hexadecimal format (e.g. 484161, 483EFD), multiple matches are possible - see below.\n\n*If multiple matches are possible:* see similar remark to `Single aircraft` endpoint."
          required: true
          schema:
            maxLength: 10
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AircraftRegistrationContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AircraftRegistrationContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/aircrafts/{searchBy}/{searchParam}/all':
    get:
      tags:
        - Aircraft API
      summary: 'Aircraft by tail-number, Mode-S or ID / TIER 1'
      description: '*Returns:* A list of all aircraft ever matched the requested criteria. Please note that all found aircraft will be impersonated with registration information matching the requested tail number or Mode-S even though an aircraft might be flying under a different registration right now.'
      operationId: GetAllAircraft
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search aircraft by
          schema:
            $ref: '#/components/schemas/AircraftSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `id`, then this field should be an ID of an aircraft (as specified in the database of this API);\n* `reg`, then this field should be a tail-number of an aircraft (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be a ICAO 24-bit Mode-S address of an aircraft specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: withImage
          in: query
          description: 'Should include aircraft image (default: false).'
          schema:
            type: boolean
            default: false
        - name: withRegistrations
          in: query
          description: 'Should include the history of aircraft registrations (default: false).'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AircraftContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AircraftContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/airlines/{airlineCode}/aircrafts':
    get:
      tags:
        - Aircraft API
      summary: Airline fleet / Aircraft list by airline code (BETA) / TIER 3
      description: "*Returns:* A paged list of aircraft in the fleet of the specified airline. \n\nThat will include *active* aircraft currently flying in an *active* airline, verfified through more than one source.\nUnconfirmed sightings of an aircraft will not qualify said aircraft to be listed in the fleet."
      operationId: GetAirlineFleet
      parameters:
        - name: airlineCode
          in: path
          description: "3-character ICAO-code of the airliner (e.g., KLM, ACA); or\n2-character IATA-code of the airline (e.g., KL, AC).\n            \nPlease note that more than one active airline may have the same IATA code, therefore IATA codes are not recommended for this endpoint."
          required: true
          schema:
            maxLength: 3
            minLength: 2
            type: string
        - name: pageSize
          in: query
          description: "The number of returned records will be capped at this value.\nMust be a positive value and not exceed the limit stipulated by your pricing plan."
          required: true
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
        - name: pageOffset
          in: query
          description: The number of records to skip before listing a page of records. In conjunction with `pageSize` effectively determines the page number (default  - 0).
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: withRegistrations
          in: query
          description: 'Should include the history of aircraft registrations (default: false).'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AircraftContractPagedCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AircraftContractPagedCollectionContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/aircrafts/reg/{reg}/image/beta':
    get:
      tags:
        - Aircraft API
      summary: Aircraft image by tail-number / TIER 2
      description: "**What is the aircraft photo?**\n\nAircraft images are being searched in external sources by certain criteria without any manual intervention. \nTherefore, false matches may be returned. Only images with licenses approved for commercial use are returned. Please be advised that you may be required to mention author attribution before using the image.\n\n*Returns:* Image data with medium-sized direct image URL and licence approved for commercial use\nis returned."
      operationId: GetAircraftImageByRegistration
      parameters:
        - name: reg
          in: path
          description: 'Tail-number of the aircraft (full, stripped and any case formats are acceptable).'
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ResourceContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  /aircrafts/search/term:
    get:
      tags:
        - Aircraft API
      summary: Search active aircraft tail numbers by term / TIER 2
      description: '*Returns:* List of active aircraft registrations with tail numbers starting from the term.'
      operationId: SearchAircraftByTerm
      parameters:
        - name: q
          in: query
          description: Search term (min. 4 non whitespace characters length)
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: 'Maximum number of items to be returned (max. 10, defaut = 5)'
          schema:
            type: integer
            format: int32
            default: 5
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringAircraftContractSearchResultCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/StringAircraftContractSearchResultCollectionContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/airports/{codeType}/{code}':
    get:
      tags:
        - Airport API
      summary: Airport by code / TIER 1
      description: "At the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns*: Single airport data, if found."
      operationId: GetAirport
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: withRunways
          in: query
          description: Include runways data (default - false)
          schema:
            type: boolean
            default: false
        - name: withTime
          in: query
          description: Include current local time (default - false)
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/airports/{codeType}/{code}/runways':
    get:
      tags:
        - Airport API
      summary: Airport runways / TIER 1
      description: "**Which runways does this airport have?**\n\nAt the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns*: Collection of runway data items."
      operationId: GetAirportRunways
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunwayContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunwayContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  /airports/search/location:
    get:
      tags:
        - Airport API
      summary: Search airports by location / TIER 2
      description: "**What are the airports closest to the location?**\n\nAt the moment airports having both ICAO and IATA code and flight schedules are present available only.\n\n*Returns:* A list of airports found within the specified radius around the specified location."
      operationId: SearchAirportsByLocation
      parameters:
        - name: lat
          in: query
          description: Latitude location coordinate in decimal format (between -90 and 90)
          required: true
          schema:
            type: number
            format: float
        - name: lon
          in: query
          description: Longitude location coordinate in decimal format (between -180 and 180)
          required: true
          schema:
            type: number
            format: float
        - name: radiusKm
          in: query
          description: Radius of search around specified location in kilometers (max. 1000 km)
          required: true
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: Maximum number of airports to be returned (max. 250)
          required: true
          schema:
            type: integer
            format: int32
        - name: withFlightInfoOnly
          in: query
          description: 'If set to true, will only return airports which have flight data (scheduled or live) available. Default = false.'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeoCoordinatesContractListingAirportContractSearchResultCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/GeoCoordinatesContractListingAirportContractSearchResultCollectionContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  /airports/search/ip:
    get:
      tags:
        - Airport API
      summary: Search airports by IP address geolocation / TIER 2
      description: "**What are the airports closest to the customer, based on their IP address?**\n**What are the airports closest to the location determined (geo-located) by a IP address?**\n\nThis endpoint determines the location by the IP address provided and then returns the list of the nearest airports\nin the same way as `Search airports by location` endpoint does. \n\nPlease note:\n* IP geo-location is not a precise method and it determines an approximate location only.\n* At the moment airports having both ICAO and IATA code and flight schedules are present available only.\n\n*Returns:* A list of airports found within the specified radius around the location approximated (geo-located) from the specified IP address."
      operationId: SearchAirportsByIpGeoLocation
      parameters:
        - name: q
          in: query
          description: A valid public IP v4 address
          required: true
          schema:
            type: string
        - name: radiusKm
          in: query
          description: Radius of search around specified location in kilometers (max. 1000 km)
          required: true
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: Maximum number of airports to be returned (max. 250)
          required: true
          schema:
            type: integer
            format: int32
        - name: withFlightInfoOnly
          in: query
          description: 'If set to true, will only return airports which have flight data (scheduled or live) available. Default = false.'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeoCoordinatesContractListingAirportContractSearchResultCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/GeoCoordinatesContractListingAirportContractSearchResultCollectionContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  /airports/search/term:
    get:
      tags:
        - Airport API
      summary: Search airports by free text / TIER 2
      description: "At the moment airports having both ICAO and IATA code and flight schedules are present available only.\n\n*Returns:* List of airports with names and city names (and IATA/ICAO code, if enabled) matching the search term."
      operationId: SearchAirportByTerm
      parameters:
        - name: q
          in: query
          description: Search query (min. 3 non whitespace characters length)
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: 'Maximum number of airports to be returned (max. 250, defaut = 10)'
          schema:
            type: integer
            format: int32
            default: 10
        - name: withFlightInfoOnly
          in: query
          description: 'If set to true, will only return airports which have flight data (scheduled or live) available. Default = false.'
          schema:
            type: boolean
            default: false
        - name: withSearchByCode
          in: query
          description: "If set to true, will attempt to interpret short words within the search query as IATA or ICAO code\nand prioritize exact matches by these codes (they will appear higher than others). \nOtherwise, the search by code will be completely excluded (only the name of an airport or its city will be searched). \nDefault = true."
          schema:
            type: boolean
            default: true
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringListingAirportContractSearchResultCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/StringListingAirportContractSearchResultCollectionContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/subscriptions/webhook/{subjectType}/{subjectId}':
    post:
      tags:
        - Flight Alert API
      summary: Create web-hook subscription / FREE TIER
      description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks.  \nIf you are running your own web service, you can subscribe to flights by number or airport code. \nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \nupdated.*\n\nCreates a web-hook subscription on a subject (e.g., flight alerts by number or by airport code).\nReturns information about created subscription. Subscription ID contained in it\ncan be used to refresh or remove it.\n\nEvery time a subject gets updated, a HTTP request will be sent to\nthe URL specified in `url` parameter. Request will be of a POST type \nand contain JSON-formatted `FlightNotificationContract` object containing subscription\nand flights information in  the body (see example response for status code 199\nof this endpoint documentation).\n\nAll flight alerts / notifications are delivered in best-effort manner. They might be missing\nor delayed. If there was an error delivering a notification for any reason, e.g., your\nendpoint was not available, returned non-2xx status code, or did not respond within timeout period of 10 seconds,\nthere will be no retries unless you explicitly set amount of retries when creating the subscription using `maxDeliveryRetries` parameter in the request body. \nEach retry attempt costs the same amount of credits as the original notification delivery attempt.\n\nIf subscribed to a specific flight or to flights operated in a specific airport:\n* Ensure that the flight is within the live updates / ADS-B data coverage. There is no sense in subscribing to a flight which operates in airports having poor or  no live updates or ADS-B coverage: there simply will be no updates. To check if an airport is tracked and on which level, use `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get the list of covered airports. Read more about coverage here: https://www.aerodatabox.com/data-coverage.\n* Notifications will cover updates for flights commencing from 6 hours ago up to 72 hours in future.\n* Among these, notifications will contain only those flight items which were actually updated for this specific alert.\n\nAdditional aspects of behavior and billing of web-hook subscriptions:\n* Web-hook subscriptions do not expire, unless you remove them manually.\n* Every API consumer has a dedicated flight alert credit balance separate from the API quota. \n* Credits are deducted from your balance each time an alert notification is sent to your webhook. The cost is 1 credit per flight item in the notification. If a notification contains 1 flight, it costs 1 credit. If a notification contains 5 flights (common with airport subscriptions), it costs 5 credits.\n* Use caution when subscribing to an airport with a lot of traffic, as it may drain your balance quickly.\n* As soon as your balance reaches zero, all your web-hook subscriptions will pause and no notifications will be sent until you refill your balance.The balance is shared among all web-hook subscriptions created by you.\n* To refill the balance, refer to `POST /subscriptions/balance/refill` API endpoint.\n* To check the balance, refer to `GET /subscriptions/balance` endpoint.\n\nFor more details, read our guide at https://aerodatabox.com/flight-alert-api-2026/ (refer to the New behaviour sections as transition is now complete)."
      operationId: SubscribeWebhook
      parameters:
        - name: subjectType
          in: path
          description: Subject type
          schema:
            $ref: '#/components/schemas/SubscriptionSubjectType'
        - name: subjectId
          in: path
          description: "Subject ID. If `subjectType` is: \n* `FlightByNumber`, then this field must be a flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395);\n* `FlightByAirportIcao`, then this field must be a 4-character ICAO-code of the airport where flights are operated (e.g.: EHAM, KLAX, UUEE, etc.);"
          required: true
          schema:
            type: string
      requestBody:
        description: Command containing parameters for web-hook subscription creation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebHookSubscription'
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SubscriptionContract'
        '199':
          description: Information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlightNotificationContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/FlightNotificationContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  '/subscriptions/webhook/{subscriptionId}':
    get:
      tags:
        - Flight Alert API
      summary: Get web-hook subscription / FREE TIER
      description: "*This endpoint is a part of Flight alert PUSH API currently powered by webhooks.  \nIf you are running your own web service, you can subscribe to flights by number or airport code. \nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \nupdated.*\n\nGets information about an existing active web-hook subscription."
      operationId: GetWebhook
      parameters:
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SubscriptionContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
    delete:
      tags:
        - Flight Alert API
      summary: Remove web-hook subscription / FREE TIER
      description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks.  \nIf you are running your own web service, you can subscribe to flights by number or airport code. \nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \nupdated.*\n\nRemoves the subscription"
      operationId: UnsubscribeWebhook
      parameters:
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  /subscriptions/webhook:
    get:
      tags:
        - Flight Alert API
      summary: List web-hook subscriptions / FREE TIER
      description: "*This endpoitns is a part of Flight alert PUSH API currently powered by webhooks.  \nIf you are running your own web service, you can subscribe to flights by number or airport code. \nAfter that, your HTTP endpoint will be called (notified) whenever the flight information gets \nupdated.*\n\nGet the list of existing active web-hook subscriptions"
      operationId: GetWebhookList
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  /subscriptions/balance:
    get:
      tags:
        - Flight Alert API
      summary: Get web-hook subscription balance / FREE TIER
      description: "The current web-hook subscription balance information.\nThis is separate from your API marketplace quota and is used solely for billing of web-hook subscriptions.\nFor more details about how flight alert API billing works, refer to our guide at https://aerodatabox.com/flight-alert-api-2026/"
      operationId: GetBalance
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionBalanceContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SubscriptionBalanceContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  /subscriptions/balance/refill:
    post:
      tags:
        - Flight Alert API
      summary: Refill web-hook subscription balance / TIER 1
      description: "Performs refill operation on the web-hook subscription balance by the specified amount of credits.\nThis balance is separate from your API marketplace quota and is used solely for billing of web-hook subscriptions.\n\nIn the request body, you specify how many credits you want to add. This is a variable-rate endpoint and the amount of API units \ndeducted from your API quota depends on the amount of flight alerts credits requested.\nThe conversion rate is: 1 credit = 1 API unit.\n\nAdditional limits apply with regard to how many credits you can request per single refill operation and how many credits\nyou can have in your balance at any given time. These limits depend on your pricing plan (https://aerodatabox.com/pricing).\n\nFor more details about how flight alert API billing works, refer to our guide at https://aerodatabox.com/flight-alert-api-2026/"
      operationId: RefillBalance
      requestBody:
        description: 'The details of the balance refill operation, including the amount of credits to add.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionsBalanceRefillRequestContract'
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionBalanceContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SubscriptionBalanceContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/flights/{searchBy}/{searchParam}':
    get:
      tags:
        - Flight API
      summary: Flight Status (single day) / TIER 2
      description: "**What is the status of a specific flight?**\n**What is the historical status or schedule of a specific flight on a specific date in past or in future?**\n\nThis endpoint returns data about a specific flight  live flight status (if the flight is within the coverage and not in distant future), \nor flight schedule data otherwise.\n\nIf `dateLocal` is specified, gets data about flight(s) departing or arriving on the day specified (local time).\nOtherwise, gets data about the status of flight(s) operating on the nearest date (either in past or in future).\n\nA flight can be searched by:\n* flight number it's being operated under; or\n* ATC-callsign it's being operated under; or\n* tail-number of the aircraft it's being operated by; or\n* Mode-S 24-bit ICAO Transponder address of the aircraft it's being operated by.\n\nFlight data may include airport of arrival and departure, scheduled and actual times, flight status, type of aircraft, \ntail-number and aircraft image.\n\nSome flights may have partial data. The data may be absent for either arrival \nor departure airport or may not include live updates of time and status. Check quality markers inside the response to \ndetermine which data is available.\n\nNormally, information with live status updates and estimated/actual arrival/departure times is only available \nfor airports tracked live or with ADS-B by our system. Otherwise flight information will be with scheduled info only \nor absent. \n\nTo check if an airport is currently tracked and on which level, \nuse `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get \nthe list of covered airports. \n\nRead more about coverage and flight data limitations here: https://www.aerodatabox.com/data-coverage."
      operationId: GetFlight_FlightNearest
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search flight by
          schema:
            $ref: '#/components/schemas/FlightSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `number`, then this field shoud be Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)\n* `callsign`, then this field should be ATC call-sign of the flight (with or without spaces, any case formats are acceptable, e.g.AFL1482, nca 008X);\n* `reg`, then this field should be Aircraft tail-number (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be Aircraft ICAO 24-bit Mode-S address specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: dateLocalRole
          in: query
          description: "* If set to `Both` (default, recommended for best results) then the dateLocal parameter shall be considered as both departure and arrival date. If a flight departs OR arrives on that date (in the local timezone of the origin or destination, respectively), it will be returned.\n* If set to `Departure` then the dateLocal parameter shall be considered as departure date only. Only the flights departing on that date (in the local timezone of origin) will be returned.\n* If set to `Arrival` then the dateLocal parameter shall be considered as arrival date only. Only the flights arriving on that date (in the local timezone of destination) will be returned."
          schema:
            $ref: '#/components/schemas/FlightDirection'
        - name: withAircraftImage
          in: query
          description: "Should include aircraft image (default: false).\n\nAircraft images are being searched in external sources by certain criteria without any manual intervention. \nTherefore, false matches may be returned. Only images with licenses approved for commercial use are returned. \nPlease be advised that you may be required to mention author attribution before using the image."
          schema:
            type: boolean
            default: false
        - name: withLocation
          in: query
          description: 'Should include real-time positional data, e.g.: location, speed, altitude, etc., if available (default: false).'
          schema:
            type: boolean
            default: false
        - name: withFlightPlan
          in: query
          description: "Should include the flight plan filed with the ATC for the flight (default: false).\n\n* NOTE 1: Generally availabe to flights departing from, arriving to or crossing the mainland U.S. airspace.\n* NOTE 2: Only available on Basic and Ultra, Ultra-2 and Mega pricing plans.\n* NOTE 3: If set to true and the flight plan is found for one or more flights returned, **the request will be billed as 2 requests** against your API quota (except on Mega plan)."
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/flights/{searchBy}/{searchParam}/{dateLocal}':
    get:
      tags:
        - Flight API
      summary: Flight Status (single day) / TIER 2
      description: "**What is the status of a specific flight?**\n**What is the historical status or schedule of a specific flight on a specific date in past or in future?**\n\nThis endpoint returns data about a specific flight  live flight status (if the flight is within the coverage and not in distant future), \nor flight schedule data otherwise.\n\nIf `dateLocal` is specified, gets data about flight(s) departing or arriving on the day specified (local time).\nOtherwise, gets data about the status of flight(s) operating on the nearest date (either in past or in future).\n\nA flight can be searched by:\n* flight number it's being operated under; or\n* ATC-callsign it's being operated under; or\n* tail-number of the aircraft it's being operated by; or\n* Mode-S 24-bit ICAO Transponder address of the aircraft it's being operated by.\n\nFlight data may include airport of arrival and departure, scheduled and actual times, flight status, type of aircraft, \ntail-number and aircraft image.\n\nSome flights may have partial data. The data may be absent for either arrival \nor departure airport or may not include live updates of time and status. Check quality markers inside the response to \ndetermine which data is available.\n\nNormally, information with live status updates and estimated/actual arrival/departure times is only available \nfor airports tracked live or with ADS-B by our system. Otherwise flight information will be with scheduled info only \nor absent. \n\nTo check if an airport is currently tracked and on which level, \nuse `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get \nthe list of covered airports. \n\nRead more about coverage and flight data limitations here: https://www.aerodatabox.com/data-coverage."
      operationId: GetFlight_FlightOnSpecificDate
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search flight by
          schema:
            $ref: '#/components/schemas/FlightSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `number`, then this field shoud be Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)\n* `callsign`, then this field should be ATC call-sign of the flight (with or without spaces, any case formats are acceptable, e.g.AFL1482, nca 008X);\n* `reg`, then this field should be Aircraft tail-number (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be Aircraft ICAO 24-bit Mode-S address specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: dateLocal
          in: path
          description: 'Local date of departure or arrival (in format: YYYY-MM-DD, e.g.: 2019-08-29). Maximum/minimum allowable date is determined by the current data coverage limitations and your pricing plan.'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: dateLocalRole
          in: query
          description: "* If set to `Both` (default, recommended for best results) then the dateLocal parameter shall be considered as both departure and arrival date. If a flight departs OR arrives on that date (in the local timezone of the origin or destination, respectively), it will be returned.\n* If set to `Departure` then the dateLocal parameter shall be considered as departure date only. Only the flights departing on that date (in the local timezone of origin) will be returned.\n* If set to `Arrival` then the dateLocal parameter shall be considered as arrival date only. Only the flights arriving on that date (in the local timezone of destination) will be returned."
          schema:
            $ref: '#/components/schemas/FlightDirection'
        - name: withAircraftImage
          in: query
          description: "Should include aircraft image (default: false).\n\nAircraft images are being searched in external sources by certain criteria without any manual intervention. \nTherefore, false matches may be returned. Only images with licenses approved for commercial use are returned. \nPlease be advised that you may be required to mention author attribution before using the image."
          schema:
            type: boolean
            default: false
        - name: withLocation
          in: query
          description: 'Should include real-time positional data, e.g.: location, speed, altitude, etc., if available (default: false).'
          schema:
            type: boolean
            default: false
        - name: withFlightPlan
          in: query
          description: "Should include the flight plan filed with the ATC for the flight (default: false).\n\n* NOTE 1: Generally availabe to flights departing from, arriving to or crossing the mainland U.S. airspace.\n* NOTE 2: Only available on Basic and Ultra, Ultra-2 and Mega pricing plans.\n* NOTE 3: If set to true and the flight plan is found for one or more flights returned, **the request will be billed as 2 requests** against your API quota (except on Mega plan)."
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/flights/{searchBy}/{searchParam}/{dateFromLocal}/{dateToLocal}':
    get:
      tags:
        - Flight API
      summary: Flight History and Schedule (range of days) / TIER 3
      description: "**What is the history or schedule of a specific flight within a specific range of dates in past or in future?**\n\nThis endpoint is the similar to the `Flight status` endpoint. \nThe only difference is that instead of returning the flight data on a single date, it returns the data over a range of dates, thus\nallowing to get insights on the flight history or schedule within the specified range.\n\nAll limitations and considerations applicable to `Flight status` endpoint are applicable to this endpoint as well."
      operationId: GetFlightHistory_FlightHistory
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search flight by
          schema:
            $ref: '#/components/schemas/FlightSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If `searchBy` is: \n* `number`, then this field shoud be Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)\n* `callsign`, then this field should be ATC call-sign of the flight (with or without spaces, any case formats are acceptable, e.g.AFL1482, nca 008X);\n* `reg`, then this field should be Aircraft tail-number (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be Aircraft ICAO 24-bit Mode-S address specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: dateFromLocal
          in: path
          description: 'Beginning of the range of local dates of departure or arrival (in format: YYYY-MM-DD, e.g.: 2019-08-29). Maximum/minimum allowable value is determined by the current data coverage limitations and your pricing plan.'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: dateToLocal
          in: path
          description: 'End of the range of local dates of departure or arrival (in format: YYYY-MM-DD, e.g.: 2019-08-29). Maximum/minimum allowable value is determined by the current data coverage limitations and your pricing plan. This date must be bigger than the dateFromLocal. The maximum difference between this date and dateFromLocal is limited and is determined by your pricing plan (ranging from 7 to 30 days as per moment of writing).'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: dateLocalRole
          in: query
          description: "* If set to `Both` (default, recommended for best results) then the dateFromLocal and dateToLocal parameters shall be considered as both departure and arrival dates. If a flight departs OR arrives on dates within the specified range (in the local timezone of the origin or destination, respectively), it will be returned.\n* If set to `Departure` then the dateFromLocal and dateToLocal  parameters shall be considered as departure dates only. Only the flights departing on dates within the specified rang(in the local timezone of origin) will be returned.\n* If set to `Arrival` then the dateFromLocal and dateToLocal  parameters shall be considered as arrival dates only. Only the flights arriving on dates within the specified rangd (in the local timezone of destination) will be returned."
          schema:
            $ref: '#/components/schemas/FlightDirection'
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlightContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/flights/{searchBy}/{searchParam}/dates':
    get:
      tags:
        - Flight API
      summary: Flight departure dates / TIER 2
      description: "**On which days the flight operates?** or **What is the flight schedule?**\n\nFlight can be searched by:\n* flight number it's being operated under; or\n* ATC-callsign it's being operated under; or\n* tail-number of the aircraft it's being operated by; or\n* Mode-S 24-bit ICAO Transponder address of the aircraft it's being operated by.\n\n*Returns:* Array of local departure dates in (YYYY-MM-DD) format for flights operated under speified call-sign and within the time range specified."
      operationId: GetFlightDates_FlightDatesAll
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search flight by
          schema:
            $ref: '#/components/schemas/FlightSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If **searchBy** is: \n* `number`, then this field shoud be Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)\n* `callsign`, then this field should be ATC call-sign of the flight (with or without spaces, any case formats are acceptable, e.g.AFL1482, nca 008X);\n* `reg`: then this field should be Aircraft tail-number (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be Aircraft ICAO 24-bit Mode-S address specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
            application/xml:
              schema:
                type: array
                items:
                  type: string
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/flights/{searchBy}/{searchParam}/dates/{fromLocal}/{toLocal}':
    get:
      tags:
        - Flight API
      summary: Flight departure dates / TIER 2
      description: "**On which days the flight operates?** or **What is the flight schedule?**\n\nFlight can be searched by:\n* flight number it's being operated under; or\n* ATC-callsign it's being operated under; or\n* tail-number of the aircraft it's being operated by; or\n* Mode-S 24-bit ICAO Transponder address of the aircraft it's being operated by.\n\n*Returns:* Array of local departure dates in (YYYY-MM-DD) format for flights operated under speified call-sign and within the time range specified."
      operationId: GetFlightDates_FlightDatesInRange
      parameters:
        - name: searchBy
          in: path
          description: Criteria to search flight by
          schema:
            $ref: '#/components/schemas/FlightSearchByEnum'
        - name: searchParam
          in: path
          description: "Value of the search criteria. If **searchBy** is: \n* `number`, then this field shoud be Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)\n* `callsign`, then this field should be ATC call-sign of the flight (with or without spaces, any case formats are acceptable, e.g.AFL1482, nca 008X);\n* `reg`: then this field should be Aircraft tail-number (with or without spaces or dashes, any case formats are acceptable, e.g.PH-BXO, DeMhJ);\n* `icao24`, then this field should be Aircraft ICAO 24-bit Mode-S address specified in hexadecimal format (e.g. 484161, 483EFD)."
          required: true
          schema:
            maxLength: 10
            type: string
        - name: fromLocal
          in: path
          description: 'Beginning of the search range (local time, format: YYYY-MM-DD)'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: toLocal
          in: path
          description: 'End of the search range (local time, format: YYYY-MM-DD)'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
            application/xml:
              schema:
                type: array
                items:
                  type: string
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/flights/airports/{codeType}/{code}/{fromLocal}/{toLocal}':
    get:
      tags:
        - Flight API
      summary: FIDS (airport departures and arrivals) - by local time range / TIER 2
      description: "**What are current departures or arrivals at the airport?** or **What is the flight schedule at the airport?** or **What is flight history at the airport?**\n\nFlights may contain live updates with corresponding information related to the actual progress of the flight \n(including actual/estimated arrival/departure times). In this case this endpoint serves as a FIDS endpoint. \nPresense of live updates is subject to data coverage: not all airports have this coverage in our system.\n\nOtherwise flight information will be limited to scheduled only and will not be updated real-time. Much more airports\nhave this type of coverage. To check if airport is tracked and on which level, use */health/services/airports/{icao}/feeds* endpoint. \nYou can also use */health/services/feeds/{service}/airports* to get the list of supported airports for this\nor that layer of coverage. To learn more about the data coverage, refer to *https://www.aerodatabox.com/data-coverage*.\n\n*Returns*: the list of arriving and/or departing flights scheduled and/or planned and/or commenced within a specified \ntime range for a specified airport."
      operationId: GetAirportFlights
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: fromLocal
          in: path
          description: 'Beginning of the search range (local time, format: YYYY-MM-DDTHH:mm)'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: toLocal
          in: path
          description: 'End of the search range (local time, format: YYYY-MM-DDTHH:mm). Must be more than beginning of the search range by no more than 12 hours.'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: direction
          in: query
          description: 'Direction of flights: Arrival, Departure or Both (default)'
          schema:
            $ref: '#/components/schemas/FlightDirection'
        - name: withLeg
          in: query
          description: "If set to true, the result will include movement information from airport opposite in this flight leg (airport of origin for arriving flight or airport of destination for departing flight).\nIn this case, Movement property will be replaced with Departure and Arrival properties for each flight.\nDefault: false."
          schema:
            type: boolean
            default: false
        - name: withCancelled
          in: query
          description: "If set to true, result will include cancelled, divered, likely cancelled (CanceledUncertain) flights.\nDefault: true."
          schema:
            type: boolean
            default: true
        - name: withCodeshared
          in: query
          description: "If set to true, the result will include flights with all code-shared statuses.\nOtherwise, code-sharing flights will be exclued. For airports, where no information about code-share statuses\nof flights are supplied (all flights are CodeshareStatus=Unknown), complex filtering will be applied \nto determine which flights are likely to be operational (caution: false results are possible)."
          schema:
            type: boolean
            default: true
        - name: withCargo
          in: query
          description: 'If set to true, the result will include cargo flights (subject to availability).'
          schema:
            type: boolean
            default: true
        - name: withPrivate
          in: query
          description: 'If set to true, the result will include private flights (subject to availability).'
          schema:
            type: boolean
            default: true
        - name: withLocation
          in: query
          description: "If set to true, each currently active flight within the result will be populated \nwith its present real-time location, altitude, speed and track (subject to availability)."
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportFidsContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportFidsContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/flights/airports/{codeType}/{code}':
    get:
      tags:
        - Flight API
      summary: FIDS (airport departures and arrivals) - by relative time / by current time / TIER 2
      description: "**What are current departures or arrivals at the airport?** or **What is the flight schedule at the airport?** or **What is flight history at the airport?**\n\nFlights may contain live updates with corresponding information related to the actual progress of the flight \n(including actual/estimated arrival/departure times). In this case this endpoint serves as a FIDS endpoint. \nPresense of live updates is subject to data coverage: not all airports have this coverage in our system.\n\nOtherwise flight information will be limited to scheduled only and will not be updated real-time. Much more airports\nhave this type of coverage. To check if airport is tracked and on which level, use */health/services/airports/{icao}/feeds* endpoint. \nYou can also use */health/services/feeds/{service}/airports* to get the list of supported airports for this\nor that layer of coverage. To learn more about the data coverage, refer to *https://www.aerodatabox.com/data-coverage*.\n\n*Returns*: the list of arriving and/or departing flights scheduled and/or planned and/or commenced within a time range specified \nrelatively to the current local time at the airport."
      operationId: GetAirportFlightsRelative
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: offsetMinutes
          in: query
          description: 'Beginning of the search range expressed in minutes relative to the current time at the airport (default: `-120`)'
          schema:
            type: integer
            format: int64
            default: -120
        - name: durationMinutes
          in: query
          description: 'Length (duration) of the search range expressed in minutes (default: `720`)'
          schema:
            type: integer
            format: int64
            default: 720
        - name: direction
          in: query
          description: 'Direction of flights: Arrival, Departure or Both (default)'
          schema:
            $ref: '#/components/schemas/FlightDirection'
        - name: withLeg
          in: query
          description: "If set to true, the result will include movement information from airport opposite in this flight leg (airport of origin for arriving flight or airport of destination for departing flight).\nIn this case, Movement property will be replaced with Departure and Arrival properties for each flight.\nDefault: false."
          schema:
            type: boolean
            default: false
        - name: withCancelled
          in: query
          description: "If set to true, result will include cancelled, divered, likely cancelled (CanceledUncertain) flights.\nDefault: true."
          schema:
            type: boolean
            default: true
        - name: withCodeshared
          in: query
          description: "If set to true, the result will include flights with all code-shared statuses.\nOtherwise, code-sharing flights will be exclued. For airports, where no information about code-share statuses\nof flights are supplied (all flights are CodeshareStatus=Unknown), complex filtering will be applied \nto determine which flights are likely to be operational (caution: false results are possible)."
          schema:
            type: boolean
            default: true
        - name: withCargo
          in: query
          description: 'If set to true, the result will include cargo flights (subject to availability).'
          schema:
            type: boolean
            default: true
        - name: withPrivate
          in: query
          description: 'If set to true, the result will include private flights (subject to availability).'
          schema:
            type: boolean
            default: true
        - name: withLocation
          in: query
          description: "If set to true, each currently active flight within the result will be populated \nwith its present real-time location, altitude, speed and track (subject to availability)."
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportFidsContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportFidsContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  /flights/search/term:
    get:
      tags:
        - Flight API
      summary: Search flight numbers by term / TIER 2
      description: '*Returns:* Distinct list of available flight numbers which start with the search query.'
      operationId: SearchFlightsByTerm
      parameters:
        - name: q
          in: query
          description: Search query (min. 2 non whitespace characters length)
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: 'Maximum number of items to be returned (max. 100, defaut = 10)'
          schema:
            type: integer
            format: int32
            default: 10
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringFlightSearchItemContractSearchResultCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/StringFlightSearchItemContractSearchResultCollectionContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/health/services/feeds/{service}':
    get:
      tags:
        - Healthcheck API
      summary: General status of data feed services / FREE TIER
      description: "**Which is the general health of the data feed service?**\n \n*Returns:* Status of the service in general, regardless of the airports"
      operationId: GetFeedServiceStatus
      parameters:
        - name: service
          in: path
          description: Data feed service name
          schema:
            $ref: '#/components/schemas/FeedServiceEnum'
        - name: withHttpCode
          in: query
          description: 'If true, reflect status of the service in the HTTP code of the response (if the service is down, HTTP code will be 503).'
          schema:
            type: boolean
            default: false
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedServiceStatusContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/FeedServiceStatusContract'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedServiceStatusContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/FeedServiceStatusContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  '/health/services/airports/{icao}/feeds':
    get:
      tags:
        - Healthcheck API
      summary: Data feed services status by ICAO code / FREE TIER
      description: "**What is the status of data updates for the airport?**\n\nAt the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns:* Current status of airport data feed services (live flight updates, flight schedules, etc.) for requested airport."
      operationId: GetAirportFeedStatus
      parameters:
        - name: icao
          in: path
          description: '4-digit ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.). Full, stripped and any case formats are acceptable.'
          required: true
          schema:
            maxLength: 4
            minLength: 4
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportFeedServiceStatusContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportFeedServiceStatusContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  '/health/services/feeds/{service}/airports':
    get:
      tags:
        - Healthcheck API
      summary: Airports supporting data feed service / FREE TIER
      description: "**Which airports support flight schedules?** or **Which airports support live flight updates?**\n\n At the moment airports having both ICAO and IATA code are present in database only.\n \n*Returns:* Collection ICAO codes of airports supporting specified airport data feed service."
      operationId: GetFeedAirports
      parameters:
        - name: service
          in: path
          description: Airport data feed service name
          schema:
            $ref: '#/components/schemas/FeedServiceEnum'
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringCollectionContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/StringCollectionContract'
      x-badges:
        - name: FREE TIER
          position: before
          color: '#ccc'
  '/industry/faa-ladd/{id}/status':
    get:
      tags:
        - Industry API
      summary: FAA LADD Aircraft Status / TIER 3
      description: "*Returns:* The **current** status of the specified aircraft in the Limiting Aircraft Displayed program\nof the Federal Aviation Administration of the U.S. Department of Transportation (FAA LADD). \nThe industry list of blocked aircraft is synchrornized weekly with the FAA. \nMore information about FAA LADD: https://www.faa.gov/pilots/ladd\n\n**DISCLAIMER.** This endpoint is designed to provide easy access to verification against the FAA LADD industry list.\nEven though it is based on the official data distributed weekly by the FAA, this is **NOT the official source\nof the FAA LADD data**. For the official sources, always contact the FAA directly."
      operationId: GetFaaLaddAircraftStatus
      parameters:
        - name: id
          in: path
          description: Callsign or aircraft tail number
          required: true
          schema:
            maxLength: 15
            minLength: 2
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaaLaddAircraftStatusContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/FaaLaddAircraftStatusContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/{codeType}/{code}/time/local':
    get:
      tags:
        - Miscellaneous API
      summary: Current local time at the airport / TIER 1
      description: "**What is the current local time at the airport?**\n\nAt the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns:* Local time at the airport, if airport is found."
      operationId: GetAirportLocalTime
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportLocalTimeContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportLocalTimeContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/airports/{codeType}/{code}/time/solar':
    get:
      tags:
        - Miscellaneous API
      summary: Solar and day time at the airport / TIER 1
      description: "**What is the sun position in the sky now at a specific time at the airport?** or\n**When does the sun rise and set at the airport today or on the other day at the airport?** or\n**Is it dark now or is it day at the airport?**\n\nAt the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns:* If airport is found, returns various solar-related information: sun position in the sky,\ndaytime (day, night, twilight: civil, nautical, astronomical, golden/blue hours), \nsunrise and sunset times, etc."
      operationId: GetAirportSolarTime_SolarTimeCurrent
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarStateContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SolarStateContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/airports/{codeType}/{code}/time/solar/{dateLocal}':
    get:
      tags:
        - Miscellaneous API
      summary: Solar and day time at the airport / TIER 1
      description: "**What is the sun position in the sky now at a specific time at the airport?** or\n**When does the sun rise and set at the airport today or on the other day at the airport?** or\n**Is it dark now or is it day at the airport?**\n\nAt the moment airports having both ICAO and IATA code are present in database only.\n\n*Returns:* If airport is found, returns various solar-related information: sun position in the sky,\ndaytime (day, night, twilight: civil, nautical, astronomical, golden/blue hours), \nsunrise and sunset times, etc."
      operationId: GetAirportSolarTime_SolarTimeSpecificDate
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: dateLocal
          in: path
          description: "The moment of time which solar data is request for (local time, format: YYYY-MM-DDTHH:mm). \nDefault - current time."
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarStateContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/SolarStateContract'
      x-badges:
        - name: TIER 1
          position: before
          color: '#beffe6'
  '/airports/{codeType}/{codeFrom}/distance-time/{codeTo}':
    get:
      tags:
        - Miscellaneous API
      summary: Distance and flight time between airports / TIER 2
      description: "**What is the great circle distance between airports?** \n**What is approximate flight time between airports?**\n** What is the flight time between airports based on history of flights and/or aircraft type?** (machine-learning based)\n\nUse `flightTimeModel` = <a href=\"#model-ModelFlightTimeEnum\">ML01</a> to get more accurate results based on historical performance of flights on a specific route \nand aircraft type.\n\n*Returns:* Distance and approximate flight time between airports, if both airports found."
      operationId: GetAirportDistanceTime
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: codeFrom
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the origin airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the origin  airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: codeTo
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the destination airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the destination  airport (e.g.: AMS, SFO, LAX, etc.);\n* `local`, then the format of this field is subject to specific standards of relevant national or local airport codification systems.\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: aircraftName
          in: query
          description: "Aircraft type name (free text). \nIf specified, the aircraft type will be attempted to be taken into account to provide more accurate result."
          schema:
            type: string
        - name: flightTimeModel
          in: query
          description: "Model of calculation of the flight time. Default is <a href=\"#model-ModelFlightTimeEnum\"></a>\nMore advanced model(s) is available, including machine learning-based models.\nSee <a href=\"#model-ModelFlightTimeEnum\">ModelFlightTimeEnum</a> for details."
          schema:
            $ref: '#/components/schemas/ModelFlightTimeEnum'
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportDistanceTimeContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportDistanceTimeContract'
      x-badges:
        - name: TIER 2
          position: before
          color: '#aab6f8'
  '/airports/{codeType}/{code}/delays':
    get:
      tags:
        - Statistical API
      summary: Airport delays (current or historical moment) / TIER 3
      description: "**What is the current or historical average delay in the airport?** or **What is the delay index of the airport right now or at a moment in past?**\n\nPlease read more about airport delays on here: https://aerodatabox.com/api-airport-delays/\n\n*Returns*: Statistical delay information about delays (median delay, delay index, cancelled flights) of arrivals and departures for the requested airport, represented by:\n* a single `AirportDelayContract` item displaying the delay information based on flight movements within the 2 hours prior to the current moment, if no `dateLocal` is specified;\n* a single `AirportDelayContract` item displaying the delay information based on flight movements within the 2 hours prior to the moment requested in `dateLocal`, if `dateLocal` is specified;"
      operationId: GetAirportDelay_DelaysCurrent
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/{codeType}/{code}/delays/{dateLocal}':
    get:
      tags:
        - Statistical API
      summary: Airport delays (current or historical moment) / TIER 3
      description: "**What is the current or historical average delay in the airport?** or **What is the delay index of the airport right now or at a moment in past?**\n\nPlease read more about airport delays on here: https://aerodatabox.com/api-airport-delays/\n\n*Returns*: Statistical delay information about delays (median delay, delay index, cancelled flights) of arrivals and departures for the requested airport, represented by:\n* a single `AirportDelayContract` item displaying the delay information based on flight movements within the 2 hours prior to the current moment, if no `dateLocal` is specified;\n* a single `AirportDelayContract` item displaying the delay information based on flight movements within the 2 hours prior to the moment requested in `dateLocal`, if `dateLocal` is specified;"
      operationId: GetAirportDelay_DelaysHistorical
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: dateLocal
          in: path
          description: "The moment of time for / from which delay data is requested (local time, format: YYYY-MM-DDTHH:mm). \nDefault - current time."
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/{codeType}/{code}/delays/{dateFromLocal}/{dateToLocal}':
    get:
      tags:
        - Statistical API
      summary: Airport delays (historical period) / TIER 3
      description: "**What were the delays within a specific period of time?** or **How the delays changed  within a specific period of time?**\n\nPlease read more about airport delays on here: https://aerodatabox.com/api-airport-delays/\n\n*Returns*: Statistical delay information about delays (median delay, delay index, cancelled flights) of arrivals and departures for the requested airport, represented by a collection of `AiportDelayContract` items displaying the delay information at multiple moments within the period between `dateLocal` and `dateToLocal`."
      operationId: GetAirportDelays
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: dateFromLocal
          in: path
          description: 'The beginning of the period of time for which delay data is requested (local time, format: YYYY-MM-DDTHH:mm).'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
        - name: dateToLocal
          in: path
          description: 'The end of the period of time for which delay data is requested (local time, format: YYYY-MM-DDTHH:mm).'
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AirportDelayContract'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AirportDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/{codeType}/{code}/stats/routes/daily':
    get:
      tags:
        - Statistical API
      summary: Airport routes and daily flight destinations / TIER 3
      description: "**What are the most popular routes from an airport?** or **Where I can fly from an airport?** or \n**How many daily flights to different destinations from an airport?**\n\nThe data will only be available for airports which have at least schedules information available. \nIf the airport is also covered with live or ADS-B coverage, the quality will improve greatly as it will\nbe based on real data rather than on static scheduled data. To check if an airport is tracked and on which level, \nuse `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get \nthe list of covered airports. \n\nAt the moment airports having both ICAO and IATA code and flight schedules are present available only.\n\n*Returns:* List of routes and daily flights amount departing from an airport."
      operationId: GetRouteDailyStatistics_RoutesDailyCurrent
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRouteStatContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/DailyRouteStatContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/{codeType}/{code}/stats/routes/daily/{dateLocal}':
    get:
      tags:
        - Statistical API
      summary: Airport routes and daily flight destinations / TIER 3
      description: "**What are the most popular routes from an airport?** or **Where I can fly from an airport?** or \n**How many daily flights to different destinations from an airport?**\n\nThe data will only be available for airports which have at least schedules information available. \nIf the airport is also covered with live or ADS-B coverage, the quality will improve greatly as it will\nbe based on real data rather than on static scheduled data. To check if an airport is tracked and on which level, \nuse `/health/services/airports/{icao}/feeds` endpoint. You can also use `/health/services/feeds/{service}/airports` to get \nthe list of covered airports. \n\nAt the moment airports having both ICAO and IATA code and flight schedules are present available only.\n\n*Returns:* List of routes and daily flights amount departing from an airport."
      operationId: GetRouteDailyStatistics_RoutesDailAtSpecificDate
      parameters:
        - name: codeType
          in: path
          description: Type of code to search airport by (`iata` or `icao`)
          schema:
            $ref: '#/components/schemas/AirportCodesByEnum'
        - name: code
          in: path
          description: "If `codeType` is:\n* `icao`, then this field must be a 4-character ICAO-code of the airport (e.g.: EHAM, KLAX, UUEE, etc.);\n* `iata`, then this field must be a 3-character IATA-code of the airport (e.g.: AMS, SFO, LAX, etc.).\n\nFull, stripped and any case formats are acceptable."
          required: true
          schema:
            maxLength: 4
            minLength: 3
            type: string
        - name: dateLocal
          in: path
          description: "Local date at the airport (default = null).\nIf specified, returns statistics based on 7 days prior to the date specified.\nOtherwise, returns statistics based on 7 days prior to the current local date at the airport."
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRouteStatContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/DailyRouteStatContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  /airports/delays:
    get:
      tags:
        - Statistical API
      summary: Global delays (current or historical moment) / TIER 3
      description: "**What is the current or historical delay situation in all airports?** or **What is the delay index of all airports globally right now or at a moment in past?**\n\nPlease read more about airport delays on here: https://aerodatabox.com/api-airport-delays/\n\n*Returns*: Statistical delay information about delays (median delay, delay index, cancelled flights) of arrivals and departures for all known airports, represented by a collection of items sorted by \nthe average of arrival and departure index, descending order (from worst to best). Only qualifying and recent enough delay statistics records are returned."
      operationId: GetGlobalDelays_GlobalDelaysCurent
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/airports/delays/{dateUtc}':
    get:
      tags:
        - Statistical API
      summary: Global delays (current or historical moment) / TIER 3
      description: "**What is the current or historical delay situation in all airports?** or **What is the delay index of all airports globally right now or at a moment in past?**\n\nPlease read more about airport delays on here: https://aerodatabox.com/api-airport-delays/\n\n*Returns*: Statistical delay information about delays (median delay, delay index, cancelled flights) of arrivals and departures for all known airports, represented by a collection of items sorted by \nthe average of arrival and departure index, descending order (from worst to best). Only qualifying and recent enough delay statistics records are returned."
      operationId: GetGlobalDelays_GlobalDelaysAtSpecificDate
      parameters:
        - name: dateUtc
          in: path
          description: "The moment of time for / from which delay data is requested (UTC time, format: YYYY-MM-DDTHH:mm).\nDefault - current time."
          required: true
          schema:
            pattern: '\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?'
            type: string
            format: date-time
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/AirportDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
  '/flights/{number}/delays':
    get:
      tags:
        - Statistical API
      summary: Flight delay statistics by flight number / TIER 3
      description: "**By how much the flight is delayed in average?**\n\nInformation is only available for flights which were tracked with live updates at least at origin or at destination within the last 90 days.\n\n*Returns:* delay statistics for the flight with specified number."
      operationId: GetFlightDelays
      parameters:
        - name: number
          in: path
          description: 'Flight number (with or without spaces, IATA or ICAO, any case formats are acceptable, e.g. KL1395, Klm 1395)'
          required: true
          schema:
            maxLength: 8
            type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '451':
          description: Unavailable For Legal Reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorContract'
        '503':
          description: Service Unavailable
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlightLegDelayContract'
            application/xml:
              schema:
                $ref: '#/components/schemas/FlightLegDelayContract'
      x-badges:
        - name: TIER 3
          position: before
          color: '#ffb694'
components:
  schemas:
    AircraftContract:
      required:
        - active
        - id
        - isFreighter
        - numRegistrations
        - reg
        - verified
      type: object
      properties:
        id:
          type: integer
          description: Unique ID of the aircraft record in our database
          format: int64
        reg:
          minLength: 1
          type: string
          description: Tail-number of the aircraft
        active:
          type: boolean
          description: Indicator if aircraft is operational under this registration
        serial:
          type: string
          description: Serial number
          nullable: true
        hexIcao:
          type: string
          description: ICAO 24 bit Mode-S hexadecimal transponder address
          nullable: true
        airlineName:
          type: string
          description: Name of the airline operating the aircraft
          nullable: true
        iataType:
          type: string
          description: IATA-type of the aircraft
          nullable: true
        iataCodeShort:
          type: string
          description: Short variant of IATA-code of the aircraft
          nullable: true
        icaoCode:
          type: string
          description: ICAO-code of the aircraft
          nullable: true
        model:
          type: string
          description: Model of the aircraft
          nullable: true
        modelCode:
          type: string
          description: Model code of the aircraft
          nullable: true
        numSeats:
          type: integer
          description: Number of passenger seats
          format: int32
          nullable: true
        rolloutDate:
          type: string
          description: Date of roll-out (UTC)
          format: date-time
          nullable: true
        firstFlightDate:
          type: string
          description: First flight date
          format: date-time
          nullable: true
        deliveryDate:
          type: string
          description: Date of delivery to the owner
          format: date-time
          nullable: true
        registrationDate:
          type: string
          description: Date of assigning current registration
          format: date-time
          nullable: true
        typeName:
          type: string
          description: Type name
          nullable: true
        numEngines:
          type: integer
          description: Number of engines
          format: int32
          nullable: true
        engineType:
          $ref: '#/components/schemas/EngineType'
        isFreighter:
          type: boolean
          description: Marker if aircraft is cargo or not
        productionLine:
          type: string
          description: Production line
          nullable: true
        ageYears:
          type: number
          description: Age of the aircraft in year
          format: float
          nullable: true
        verified:
          type: boolean
        image:
          allOf:
            - $ref: '#/components/schemas/ResourceContract'
          description: Image of the aircraft (if provided by the endpoint)
        numRegistrations:
          type: integer
          description: "An aircraft may have a history of past registrations with other airlines or operators.\nThis field represents a total number of registration records known in our database."
          format: int32
        registrations:
          type: array
          items:
            $ref: '#/components/schemas/AircraftRegistrationContract'
          description: A history of all registrations with other airlines or operators (if provided by the endpoint).
          nullable: true
      additionalProperties: false
      description: Single aircraft data
    AircraftContractPagedCollectionContract:
      required:
        - count
        - hasNextPage
        - items
        - pageOffset
        - pageSize
        - totalCount
      type: object
      properties:
        totalCount:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The total number of items across all pages
          format: int32
        pageOffset:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: "The offset of the current page of the collection \n(number of items skipped before this page)"
          format: int32
        pageSize:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: "Maximum number of items on the current page of the collection\n(`Count` cannot be more than this value)"
          format: int32
        hasNextPage:
          type: boolean
          description: This value is true when collection has more pages
          readOnly: true
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/AircraftContract'
          description: The collection of items
      additionalProperties: false
    AircraftRegistrationContract:
      required:
        - active
        - reg
      type: object
      properties:
        reg:
          minLength: 1
          type: string
          description: Tail-number of the aircraft
        active:
          type: boolean
          description: Indicator if aircraft is operational under this registration
        hexIcao:
          type: string
          description: ICAO 24 bit Mode-S hexadecimal transponder address
          nullable: true
        airlineName:
          type: string
          description: Name of the airline operating the aircraft
          nullable: true
        registrationDate:
          type: string
          description: Date of assigning current registration
          format: date-time
          nullable: true
      additionalProperties: false
      description: Aircraft registration data
    AircraftSearchByEnum:
      enum:
        - Id
        - Reg
        - Icao24
      type: string
      description: "Criteria to search aircraft by<p>Possible values:</p>\n<ul>\n<li><b>0 - Id</b>: ID of the aircraft (as stored in this API)</li>\n<li><b>1 - Reg</b>: Search by aircraft tail-number</li>\n<li><b>2 - Icao24</b>: Search by 24-bit ICAO Mode-S Transponder code</li>\n</ul>\n"
    AirportCodesByEnum:
      enum:
        - Icao
        - Iata
      type: string
      description: "Search by airport code type<p>Possible values:</p>\n<ul>\n<li><b>0 - Icao</b>: ICAO-code</li>\n<li><b>1 - Iata</b>: IATA-code</li>\n</ul>\n"
    AirportContract:
      required:
        - continent
        - country
        - elevation
        - fullName
        - location
        - timeZone
        - urls
      type: object
      properties:
        icao:
          type: string
          description: ICAO code of the airport
          nullable: true
        iata:
          type: string
          description: IATA code of the airport
          nullable: true
        localCode:
          type: string
          description: Code of the airport within the local or national coding system
          nullable: true
        shortName:
          type: string
          description: Shortened name of the airport
          nullable: true
        fullName:
          minLength: 1
          type: string
          description: Full name of the airport (derived from own airport name and municipality name)
        municipalityName:
          type: string
          description: Name of the municipality this airport belongs to
          nullable: true
        location:
          allOf:
            - $ref: '#/components/schemas/GeoCoordinatesContract'
          description: Location of the airport
        elevation:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Elevation of the airport
        country:
          allOf:
            - $ref: '#/components/schemas/CountryContract'
          description: Country airport belongs to
        continent:
          allOf:
            - $ref: '#/components/schemas/ContinentContract'
          description: Continent airport belongs to
        timeZone:
          minLength: 1
          type: string
          description: Time zone of the airport in Olson format (e.g. "Europe/Amsterdam")
        urls:
          allOf:
            - $ref: '#/components/schemas/AirportUrlsContract'
          description: Links and URLs related to airport
        runways:
          type: array
          items:
            $ref: '#/components/schemas/RunwayContract'
          description: 'List of runway information, if requested'
          nullable: true
        currentTime:
          allOf:
            - $ref: '#/components/schemas/AirportLocalTimeContract'
          description: 'Current time information, if requested'
      additionalProperties: false
      description: Single airport data
    AirportDelayContract:
      required:
        - airportIcao
        - arrivalsDelayInformation
        - departuresDelayInformation
        - from
        - to
      type: object
      properties:
        airportIcao:
          minLength: 1
          type: string
          description: Airport ICAO code
        from:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The beginning of the time range within which flght delay information is calculated
        to:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The end of the time range within which flght delay information is calculated
        departuresDelayInformation:
          allOf:
            - $ref: '#/components/schemas/FlightBatchDelayContract'
          description: Delay information about departures of the airport withn a time range
        arrivalsDelayInformation:
          allOf:
            - $ref: '#/components/schemas/FlightBatchDelayContract'
          description: Delay information about arrivals of the airport withn a time range
      additionalProperties: false
    AirportDistanceTimeContract:
      required:
        - approxFlightTime
        - from
        - greatCircleDistance
        - to
      type: object
      properties:
        from:
          allOf:
            - $ref: '#/components/schemas/ListingAirportContract'
          description: Airport information
        to:
          allOf:
            - $ref: '#/components/schemas/ListingAirportContract'
          description: Airport information
        greatCircleDistance:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Great circle distance measured directly between origin and destination
        approxFlightTime:
          type: string
          description: "Approximate flight time based on re-calculation of great circle distance\nagainst statistical duration average of multiple flights covered similar\ndistance before."
          format: date-span
      additionalProperties: false
      description: "Contract containing information on distance and approximate flight time\nbetween specified airports"
    AirportFeedServiceStatusContract:
      required:
        - adsbUpdatesFeed
        - flightSchedulesFeed
        - generalAvailability
        - liveFlightUpdatesFeed
      type: object
      properties:
        flightSchedulesFeed:
          allOf:
            - $ref: '#/components/schemas/FeedServiceStatusContract'
          description: 'Status of flight schedules data feed for this airport. This includes: * flight number * airline * planned (scheduled) time of departure/arrival * destination/origin This *may* include: * planned aircraft type * code-share status (rare)'
        liveFlightUpdatesFeed:
          allOf:
            - $ref: '#/components/schemas/FeedServiceStatusContract'
          description: 'Status of actual live flight updates for this airport. Updates include: * revised scheduled time of departure/arrival * actual/estimated time of departure/arrival * actual/estimated status Updates *may* include: * revised aircraft type * code-share status * terminal * gate * check-in desk * baggage claim * aircraft registration (rare) * if flight is cargo marker (rare) * ATC call-sign (rare) * actual/estimated runway time (rare)'
        adsbUpdatesFeed:
          allOf:
            - $ref: '#/components/schemas/FeedServiceStatusContract'
          description: 'Status of ADS-B updates data feed for this airport. Updates include: * ATC call-sign * aircraft registration * aircraft 24-bit ICAO Mode-S address * revised aircraft type Updates *may* include: * actual/estimated runway of take-off/landing (based on the last known trajectory) * actual/estimated time of take-off/landing (based on the last known trajectory) * revised actual/estimated time of departure/arrival (based on the last known trajectory)'
        generalAvailability:
          allOf:
            - $ref: '#/components/schemas/FlightDataGeneralAvailabilityContract'
          description: General information about available flight data
      additionalProperties: false
      description: "Airport data feed services status.\nRead https://aerodatabox.com/data-coverage for context."
    AirportFidsContract:
      type: object
      properties:
        departures:
          type: array
          items:
            $ref: '#/components/schemas/AirportFlightContract'
          description: Departing flights
          nullable: true
        arrivals:
          type: array
          items:
            $ref: '#/components/schemas/AirportFlightContract'
          description: Arriving flights
          nullable: true
      additionalProperties: false
      description: Airport schedule contract
    AirportFlightContract:
      required:
        - codeshareStatus
        - isCargo
        - number
        - status
      type: object
      properties:
        movement:
          allOf:
            - $ref: '#/components/schemas/FlightAirportMovementContract'
          description: 'Only set if neither Departure nor Arrival is set. Flight information relevant applicable to current airport: airport of destination for arriving flight or origin for departing flight. Airport sub-property, however, stands for "opposite" airport in the route: airport of destination for departing flight or origin for arriving flight.'
        departure:
          allOf:
            - $ref: '#/components/schemas/FlightAirportMovementContract'
          description: 'Only set if Movement is not set. Flight information relevant to airport of origin. Airport sub-property stands for airport of origin as well unless it''s equal to current requested airport. Otherwise, not set.'
        arrival:
          allOf:
            - $ref: '#/components/schemas/FlightAirportMovementContract'
          description: 'Only set if Movement is not set. Flight information relevant to airport of destination. Airport sub-property stands for airport of destination as well unless it''s equal to current requested airport. Otherwise, not set.'
        number:
          minLength: 1
          type: string
          description: Flight Number
        callSign:
          type: string
          description: ATC call-sign of the flight
          nullable: true
        status:
          $ref: '#/components/schemas/FlightStatus'
        codeshareStatus:
          $ref: '#/components/schemas/CodeshareStatus'
        isCargo:
          type: boolean
          description: Is cargo flight
        aircraft:
          $ref: '#/components/schemas/FlightAircraftContract'
        airline:
          $ref: '#/components/schemas/FlightAirlineContract'
        location:
          $ref: '#/components/schemas/FlightLocationContract'
      additionalProperties: false
      description: Flight data contract represented in airport schedule
    AirportLocalTimeContract:
      required:
        - time
        - timeZoneId
      type: object
      properties:
        time:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: Current time at the airport
        timeZoneId:
          minLength: 1
          type: string
          description: Timezone ID of the airport (Olson format)
      additionalProperties: false
      description: Information about the local time at an airport
    AirportUrlsContract:
      type: object
      properties:
        webSite:
          type: string
          description: Main web-site of the airport
          nullable: true
        wikipedia:
          type: string
          description: Wikipedia page of the airport
          nullable: true
        twitter:
          type: string
          description: Twitter feed of the airport
          nullable: true
        liveAtc:
          type: string
          description: LiveAtc page of the airport
          nullable: true
        flightRadar:
          type: string
          description: FlightRadar page of the airport
          nullable: true
        googleMaps:
          type: string
          description: Google Maps URL of the airport
          nullable: true
      additionalProperties: false
      description: Airport URLs contract
    Angle:
      required:
        - deg
        - rad
      type: object
      properties:
        deg:
          maximum: 180
          minimum: -180
          type: number
          description: Angle in degrees (between `-180` and `180`)
          format: double
        rad:
          maximum: 3.141592653589793
          minimum: -3.141592653589793
          type: number
          description: Angle in radians (between `-Pi` and `Pi`)
          format: double
      additionalProperties: false
    Azimuth:
      required:
        - deg
        - rad
      type: object
      properties:
        deg:
          maximum: 360
          minimum: 0
          type: number
          description: Angle in degrees (between `0` and `360`)
          format: double
        rad:
          maximum: 6.283185307179586
          minimum: 0
          type: number
          description: Angle in radians (`0` and `2 * Pi`)
          format: double
      additionalProperties: false
    CodeshareStatus:
      enum:
        - Unknown
        - IsOperator
        - IsCodeshared
      type: string
      description: "Flight code-share status<p>Possible values:</p>\n<ul>\n<li><b>0 - Unknown</b>: Code-sharing information is unavailable for this flight. Flight might be operated both by airline owning the flight number as well as by another airliner.</li>\n<li><b>1 - IsOperator</b>: Flight is operated by an airline owning the flight number (the same code)</li>\n<li><b>2 - IsCodeshared</b>: Flight is code-shared (operated by an airline other than airline owning the flight number)</li>\n</ul>\n"
    ContinentContract:
      required:
        - code
      type: object
      properties:
        code:
          minLength: 1
          type: string
          description: Code
        name:
          type: string
          description: Name
          nullable: true
      additionalProperties: false
      description: Continent data
    CountryContract:
      required:
        - code
      type: object
      properties:
        code:
          minLength: 1
          type: string
          description: Code
        name:
          type: string
          description: Name
          nullable: true
      additionalProperties: false
      description: Country data
    CreateWebHookSubscription:
      required:
        - url
      type: object
      properties:
        url:
          minLength: 1
          type: string
          description: "Destination HTTP-endpoint where notifications will be sent to. Requirements:\n* must be a valid public HTTP(S) URL not requiring additional authorization;\n* must use standard or alternative HTTP or HTTPS ports (80, 443, 8008, 8080) or any dynamic port greater or equal to 49152;\n* must be able to accept HTTP POST request with JSON-formatted body (application/json);\n* must respond with one of successful HTTP status codes (2XX) within 10 seconds;\n* the endpoint owner must be aware of and consent to receiving notifications at it.\n\nIf endpoint is unavailable, responds with error status code or does not respond within timeout,\nnotification delivery retry may be attempted according to subscription settings."
        maxDeliveryRetries:
          maximum: 2
          minimum: 0
          type: integer
          description: "Maximum number of times a delivery attempt is retried after initial delivery attempt failure.\n\nCurrent default value is:\n\n\t* `2` for the old, lifetime-based web-hook subscriptions (will be phased out after the 4th of April, 2026);\n\t* `0` for the new, credit-based web-hook subscriptions (will be the default value for any web-hook subscription after the 4th of April, 2026)."
          format: int32
          nullable: true
      additionalProperties: false
      description: Command to create web-hook subscription
    DailyRouteStatContract:
      required:
        - routes
      type: object
      properties:
        routes:
          type: array
          items:
            $ref: '#/components/schemas/DailyRouteStatRecordContract'
      additionalProperties: false
      description: Route daily statistics of the airport
    DailyRouteStatRecordContract:
      required:
        - averageDailyFlights
        - destination
        - operators
      type: object
      properties:
        destination:
          allOf:
            - $ref: '#/components/schemas/ListingAirportContract'
          description: Destination airport information
        averageDailyFlights:
          type: number
          description: Daily average of flights per destination
          format: float
        operators:
          type: array
          items:
            $ref: '#/components/schemas/FlightAirlineContract'
          description: Airlines operating on the route
      additionalProperties: false
      description: Statistical record of route daily statistics
    DateTimeContract:
      required:
        - local
        - utc
      type: object
      properties:
        utc:
          type: string
          description: UTC-time
          format: date-time
        local:
          type: string
          description: Local time
          format: date-time
      additionalProperties: false
      description: Descriptor date-time represented in both UTC and local timezones
    DayTime:
      enum:
        - Night
        - TwilightAstronomical
        - TwilightNautical
        - TwilightCivil
        - Day
        - BlueHour
        - GoldenHour
      type: string
      description: "Daytime states<p>Possible values:</p>\n<ul>\n<li><b>0 - Night</b></li>\n<li><b>1 - TwilightAstronomical</b></li>\n<li><b>2 - TwilightNautical</b></li>\n<li><b>3 - TwilightCivil</b></li>\n<li><b>4 - Day</b></li>\n<li><b>5 - BlueHour</b></li>\n<li><b>6 - GoldenHour</b></li>\n</ul>\n"
    DelayBracketContract:
      required:
        - num
      type: object
      properties:
        delayedFrom:
          type: string
          description: "The beginning of the delay range (format: [-]hh:mm:ss).\nE.g. in the expresssion \"delayed from 30 to 60 minutes\" stands for \"from 30 minutes\".\nValue can be negative (therefore, means early occurence).\n\nMust be preset if \"DelayedTo\" is not specified."
          format: date-span
          nullable: true
        delayedTo:
          type: string
          description: "The end of the delay range (format: [-]hh:mm:ss).\nE.g. in the expresssion \"delayed from 30 to 60 minutes\" stands for \"to 60 minutes\".\nValue can be negative (therefore, means early occurence).\n\nMust be preset if \"DelayedFrom\" is not specified."
          format: date-span
          nullable: true
        num:
          type: integer
          description: Count of records subject to a specified delay range
          format: int32
        percentage:
          type: number
          description: "Percentage of records subject to a specified delay range.\n\nOnly available when this delay bracket is provided as a part\nof a statistical information of a bigger context and the \"total\"\ncount of records is known."
          format: float
          nullable: true
      additionalProperties: false
      description: Delay bracket contract describing how many records are subject to a specific delay range
    Distance:
      required:
        - feet
        - km
        - meter
        - mile
        - nm
      type: object
      properties:
        meter:
          type: number
          description: Distance in meters
          format: double
        km:
          type: number
          description: Distance in kilometers
          format: double
        mile:
          type: number
          description: Distance in statute miles
          format: double
        nm:
          type: number
          description: Distance in nautical miles
          format: double
        feet:
          type: number
          description: Distance in feet
          format: double
      additionalProperties: false
    DistanceFlightPlanUnitContract:
      type: object
      properties:
        requested:
          $ref: '#/components/schemas/Distance'
        assigned:
          $ref: '#/components/schemas/Distance'
      additionalProperties: false
      description: "Contract describing unit (altitude, airspeed, etc.) which can be assigned and / or requested\nin the context of the flight plan"
    EngineType:
      enum:
        - Unknown
        - Jet
        - Turboprop
        - Piston
      type: string
      description: "<p>Possible values:</p>\n<ul>\n<li><b>0 - Unknown</b></li>\n<li><b>1 - Jet</b></li>\n<li><b>2 - Turboprop</b></li>\n<li><b>3 - Piston</b></li>\n</ul>\n"
    ErrorContract:
      required:
        - message
      type: object
      properties:
        message:
          minLength: 1
          type: string
          description: Error message
      additionalProperties: false
      description: Error response
    FaaLaddAircraftStatusContract:
      required:
        - id
        - isBlocked
      type: object
      properties:
        id:
          allOf:
            - $ref: '#/components/schemas/AviationCode'
          description: 'ID of the aircraft / flight checked (callsign or aircraft tail number). Trimmed, without hyphens.'
        isBlocked:
          type: boolean
          description: Current status of the aircraft / flight in the FAA LADD industry list.
        blockedSince:
          type: string
          description: "For blocked aircraft only: the date when the aircraft / flight was blocked.\nWill not be included for blocked dates at or prior to September 15, 2024."
          format: date-time
          nullable: true
        lastBlockedOn:
          type: string
          description: "For unblocked aircraft only: the date when the aircraft / flight was last blocked.\nWill not be included for blocked dates at or prior to September 15, 2024 or \nfor the aircraft that were never blocked."
          format: date-time
          nullable: true
      additionalProperties: false
      description: "Status of the aircraft tail number or callsign in the FAA Limiting Aircraft Data Displayed (LADD) Program list.\nSee https://www.faa.gov/pilots/ladd for more details."
    FeedServiceEnum:
      enum:
        - FlightSchedules
        - FlightLiveUpdates
        - AdsbUpdates
      type: string
      description: "Airport feed service defininitions<p>Possible values:</p>\n<ul>\n<li><b>0 - FlightSchedules</b>: Flight schedules data feed for this airport (static schedules data without actual updates)</li>\n<li><b>1 - FlightLiveUpdates</b>: Actual flight status and time updates for this airport</li>\n<li><b>2 - AdsbUpdates</b>: Flight updates derived from ADS-B data for this airport: runway, actual/estimated time on the runway, call-sign, ModeS 24-bit ICAO code, aircraft registration</li>\n</ul>\n"
    FeedServiceStatus:
      enum:
        - Down
        - Degraded
        - OKPartial
        - OK
        - Unknown
        - Unavailable
      type: string
      description: "Descriptor of feed service status<p>Possible values:</p>\n<ul>\n<li><b>0 - Down</b>: Service is provided, but is currently down</li>\n<li><b>1 - Degraded</b>: Service is up and running, but performance is degraded: delays and disruptions are likely</li>\n<li><b>2 - OKPartial</b>: Service is up and running normally, but updates vailable for not all or only few flights</li>\n<li><b>3 - OK</b>: Service is up and running normally</li>\n<li><b>-2 - Unknown</b>: Status of service is unknown</li>\n<li><b>-1 - Unavailable</b>: Service is not provided</li>\n</ul>\n"
    FeedServiceStatusContract:
      required:
        - service
        - status
      type: object
      properties:
        service:
          $ref: '#/components/schemas/FeedServiceEnum'
        status:
          $ref: '#/components/schemas/FeedServiceStatus'
        minAvailableLocalDate:
          type: string
          description: Date of the oldest flight stored (based on scheduled local times)
          format: date-time
          nullable: true
          deprecated: true
        maxAvailableLocalDate:
          type: string
          description: Date of the most recent flight stored (based on scheduled local times)
          format: date-time
          nullable: true
          deprecated: true
      additionalProperties: false
      description: "Feed service status contract.\nRead https://aerodatabox.com/data-coverage for context."
    FlightAircraftContract:
      type: object
      properties:
        reg:
          type: string
          description: Tail-number of the aircraft
          nullable: true
        modeS:
          type: string
          description: ICAO 24 bit Mode-S hexadecimal transponder address
          nullable: true
        model:
          type: string
          description: Aircraft name and model
          nullable: true
        image:
          allOf:
            - $ref: '#/components/schemas/ResourceContract'
          description: Aircraft photo. Either actual (possible if aircraft registration is provided) or approximate based on airline name and model combination. Image data with medium-sized direct image URL and licence approved for commercial use is returned.
      additionalProperties: false
      description: Flight's aircraft reference contract
    FlightAirlineContract:
      required:
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Airline name
        iata:
          type: string
          description: IATA code of the airline
          nullable: true
        icao:
          type: string
          description: ICAO code of the airline
          nullable: true
      additionalProperties: false
      description: Flight's airline reference conract
    FlightAirportMovementContract:
      required:
        - airport
        - quality
      type: object
      properties:
        airport:
          allOf:
            - $ref: '#/components/schemas/ListingAirportContract'
          description: Airport information
        scheduledTime:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: Scheduled time of arrival or departure of the flight
        revisedTime:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: 'Actual /estimated time of arrival or departure the flight. If `RunwayTime` is specified and not equal to this field, this field stands for the time of departure/arrival to the gate. Otherwise, it may either be time at the gate or on the runway.'
        predictedTime:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: 'Predicted time based on historical data (experimental). May significantly differ from `RevisedTime`. Only available for non-complete or unknown-status flights arriving, departing within a week and only via Flight Status endpoint. For arriving flights: Predicted time of arrival based on departure time. Not available if departure times are unavailable. For departing flights: Predicted time of departure based on arrival time. Only available if departure times are unavailable.'
        runwayTime:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: 'Actual / estimated time on the runway: landing time for arriving flight; take-off time for the departing flight, if known.'
        terminal:
          type: string
          description: Terminal of the flight
          nullable: true
        checkInDesk:
          type: string
          description: Check-in desk(s) for the flight (only for departing flights)
          nullable: true
        gate:
          type: string
          description: Gate of (de)boarding for the flight
          nullable: true
        baggageBelt:
          type: string
          description: Baggage belt(s) for the flight (only for arriving flights)
          nullable: true
        runway:
          type: string
          description: 'Runway of landing (for arriving flights) or take-off (for departing flights), if known.'
          nullable: true
        quality:
          type: array
          items:
            $ref: '#/components/schemas/FlightAirportMovementQualityEnum'
          description: "Array of quality characteristics of the data. Check this to know which information\nyou can expect within this contract (basic, live and/or approximate data)."
      additionalProperties: false
      description: Flight arrival or departure information
    FlightAirportMovementQualityEnum:
      enum:
        - Basic
        - Live
        - Approximate
      type: string
      description: "Quality characteristics of the information provided within flight FlightAirportMovementContract<p>Possible values:</p>\n<ul>\n<li><b>0 - Basic</b></li>\n<li><b>1 - Live</b></li>\n<li><b>2 - Approximate</b></li>\n</ul>\n"
    FlightBatchDelayContract:
      required:
        - numCancelled
        - numQualifiedTotal
        - numTotal
      type: object
      properties:
        numTotal:
          type: integer
          description: Total number of flights in the the batch (including cancelled)
          format: int32
        numQualifiedTotal:
          type: integer
          description: "Total number of flights in the batch, which were used to to calculate the\ndelay information (including cancelled). Should equal to or less than `NumTotal`.\n\nThe closer the value of this property to the value of `NumTotal`, the higher the\nreliability of delay information"
          format: int32
        numCancelled:
          type: integer
          description: Total amount of flights in the batch
          format: int32
        medianDelay:
          type: string
          description: "Median delay of flights in the batch (format: [-]hh:mm:ss).\nValue can be negative (therefore, means early occurence)."
          format: date-span
          nullable: true
        delayIndex:
          type: number
          description: Normalized value on scale from 0.0 to 5.0 which corresponds with current amount of delays and cancellations in a given batch of flights (the less - the better).
          format: float
          nullable: true
      additionalProperties: false
      description: Delay information about a batch of flights
    FlightContract:
      required:
        - arrival
        - codeshareStatus
        - departure
        - isCargo
        - lastUpdatedUtc
        - number
        - status
      type: object
      properties:
        greatCircleDistance:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Great circle distance measured directly between origin and destination of the flight (if both are known)
        departure:
          allOf:
            - $ref: '#/components/schemas/FlightAirportMovementContract'
          description: Departure information
        arrival:
          allOf:
            - $ref: '#/components/schemas/FlightAirportMovementContract'
          description: Arrival information
        flightPlan:
          allOf:
            - $ref: '#/components/schemas/FlightPlanContract'
          description: 'Flight plan for the flight as filed with the ATC provider. NOTE: General availability is currently limited to flights departing from, arriving to or crossing the mainland U.S. airspace.'
        lastUpdatedUtc:
          type: string
          description: Time (UTC) of the latest update of flight information (excluding Location)
          format: date-time
        number:
          minLength: 1
          type: string
          description: Flight Number
        callSign:
          type: string
          description: ATC call-sign of the flight
          nullable: true
        status:
          $ref: '#/components/schemas/FlightStatus'
        codeshareStatus:
          $ref: '#/components/schemas/CodeshareStatus'
        isCargo:
          type: boolean
          description: Is cargo flight
        aircraft:
          $ref: '#/components/schemas/FlightAircraftContract'
        airline:
          $ref: '#/components/schemas/FlightAirlineContract'
        location:
          $ref: '#/components/schemas/FlightLocationContract'
      additionalProperties: false
      description: Individiual flight contract
    FlightDataGeneralAvailabilityContract:
      type: object
      properties:
        minAvailableLocalDate:
          type: string
          description: "Date of the oldest flight stored (based on scheduled local times)\nIf not specified, no flight data available"
          format: date-time
          nullable: true
        maxAvailableLocalDate:
          type: string
          description: "Date of the most recent flight stored (based on scheduled local times)\nIf not specified, no flight data available"
          format: date-time
          nullable: true
      additionalProperties: false
    FlightDelayContract:
      required:
        - airportIcao
        - class
        - delayPercentiles
        - fromUtc
        - medianDelay
        - numConsideredFlights
        - numFlightsDelayedBrackets
        - toUtc
      type: object
      properties:
        airportIcao:
          minLength: 1
          type: string
          description: ICAO code of the airport at which statistics is observed
        class:
          $ref: '#/components/schemas/StatisticClass'
        scheduledHourUtc:
          type: integer
          description: "Hour on which flight is scheduled (represented in UTC).\n\nIf provided, it separates the statistics for the same flight departing/arriving at different time of day\non different days within the observed period."
          format: int32
          nullable: true
        medianDelay:
          type: string
          description: "Median historic delay of the flight (format: [-]hh:mm:ss).\nValue can be negative (therefore, means early occurence)."
          format: date-span
        delayPercentiles:
          type: array
          items:
            $ref: '#/components/schemas/PercentileBracketContract'
          description: "Distribution of historic delays of the flight in percentiles from 5 percentile to 95 percentile in steps of 5 percentile, \nallowing for a more detailed analysis of delay patterns beyond simple averages or medians."
        numConsideredFlights:
          type: integer
          description: "The number of flight movements taken into account to calculate this\nstatistics."
          format: int32
        numFlightsDelayedBrackets:
          type: array
          items:
            $ref: '#/components/schemas/DelayBracketContract'
          description: "Brackets containing information more detailed information about\nhow many flights were delayed/early per specific delay range brackets\n(e.g. late from 15 to 30 minutes, from 30 to 60, etc.)"
        fromUtc:
          type: string
          description: The beginning of the time range within which flght delay information is calculated (represented in UTC time)
          format: date-time
        toUtc:
          type: string
          description: The end of the time range within which flght delay information is calculated (represented in UTC time)
          format: date-time
      additionalProperties: false
      description: Delay statistics for a flight movement
    FlightDirection:
      enum:
        - Arrival
        - Departure
        - Both
      type: string
      description: "Direction of flight<p>Possible values:</p>\n<ul>\n<li><b>1 - Arrival</b></li>\n<li><b>2 - Departure</b></li>\n<li><b>3 - Both</b></li>\n</ul>\n"
    FlightLegDelayContract:
      required:
        - number
      type: object
      properties:
        number:
          minLength: 1
          type: string
          description: Flight number
        origins:
          type: array
          items:
            $ref: '#/components/schemas/FlightDelayContract'
          description: Delay statistics of flight on departure at origins
          nullable: true
        destinations:
          type: array
          items:
            $ref: '#/components/schemas/FlightDelayContract'
          description: Delay statistics of flight on arrival at destinations
          nullable: true
      additionalProperties: false
      description: Delay statistics of a flight leg
    FlightLocationContract:
      required:
        - altitude
        - groundSpeed
        - lat
        - lon
        - pressure
        - pressureAltitude
        - reportedAtUtc
        - trueTrack
      type: object
      properties:
        pressureAltitude:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Pressure altitude adjusted to ISA
        altitude:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Altitude adjusted to pressure setting (QNH) Gives approximately the altitude above mean sea level (MSL)
        pressure:
          allOf:
            - $ref: '#/components/schemas/Pressure'
          description: Pressure setting (QNH) used to calculate altitude from pressure altitude
        groundSpeed:
          allOf:
            - $ref: '#/components/schemas/Speed'
          description: Ground speed
        trueTrack:
          allOf:
            - $ref: '#/components/schemas/Azimuth'
          description: True track
        vsiFpm:
          type: integer
          description: "Vertical speed, in feet per minute\nNot set if unknown or zero."
          format: int32
          nullable: true
        reportedAtUtc:
          type: string
          description: Time (UTC) of when this positional data was reported
          format: date-time
        lat:
          maximum: 90
          minimum: -90
          type: number
          description: 'Latitude, in degrees'
          format: float
        lon:
          maximum: 180
          minimum: -180
          type: number
          description: 'Longitude, in degrees'
          format: float
      additionalProperties: false
      description: 'Positional information about flight: location, altitude, speed and track'
    FlightNotificationContract:
      required:
        - flights
        - subscription
      type: object
      properties:
        flights:
          type: array
          items:
            $ref: '#/components/schemas/FlightNotificationItemContract'
          description: Modified/created flight notification
        subscription:
          $ref: '#/components/schemas/SubscriptionContract'
        balance:
          $ref: '#/components/schemas/SubscriptionBalanceContract'
      additionalProperties: false
      description: Flight notification contract
    FlightNotificationItemContract:
      required:
        - arrival
        - codeshareStatus
        - departure
        - isCargo
        - lastUpdatedUtc
        - number
        - status
      type: object
      properties:
        notificationSummary:
          type: string
          description: Human-readable summary of the flight status update
          nullable: true
        notificationRemark:
          type: string
          description: Human-readable remark to the flight status update
          nullable: true
        greatCircleDistance:
          $ref: '#/components/schemas/Distance'
        departure:
          $ref: '#/components/schemas/FlightAirportMovementContract'
        arrival:
          $ref: '#/components/schemas/FlightAirportMovementContract'
        flightPlan:
          $ref: '#/components/schemas/FlightPlanContract'
        lastUpdatedUtc:
          type: string
          description: Time (UTC) of the latest update of flight information (excluding Location)
          format: date-time
        number:
          minLength: 1
          type: string
          description: Flight Number
        callSign:
          type: string
          description: ATC call-sign of the flight
          nullable: true
        status:
          $ref: '#/components/schemas/FlightStatus'
        codeshareStatus:
          $ref: '#/components/schemas/CodeshareStatus'
        isCargo:
          type: boolean
          description: Is cargo flight
        aircraft:
          $ref: '#/components/schemas/FlightAircraftContract'
        airline:
          $ref: '#/components/schemas/FlightAirlineContract'
        location:
          $ref: '#/components/schemas/FlightLocationContract'
      additionalProperties: false
      description: Flight notification message contract
    FlightPlanContract:
      required:
        - lastUpdatedUtc
        - route
      type: object
      properties:
        flightRules:
          $ref: '#/components/schemas/FlightRules'
        flightType:
          $ref: '#/components/schemas/FlightType'
        revisionNo:
          type: integer
          description: No. of revision of the flight plan
          format: int32
          nullable: true
        status:
          $ref: '#/components/schemas/FlightPlanStatus'
        route:
          minLength: 1
          type: string
          description: Route information for the flight as filed in the flight plan
        altitude:
          allOf:
            - $ref: '#/components/schemas/DistanceFlightPlanUnitContract'
          description: Altitudes of the flight as filed in the flight plan and/or assigned by the ATC
        airspeed:
          allOf:
            - $ref: '#/components/schemas/SpeedFlightPlanUnitContract'
          description: Airspeed of the flight as filed in the flight plan and/or assigned by the ATC
        lastUpdatedUtc:
          type: string
          description: Time (UTC) of the latest known update to the flight plan
          format: date-time
      additionalProperties: false
      description: Flight plan contract
    FlightPlanStatus:
      enum:
        - Proposed
        - Active
        - Dropped
        - Cancelled
        - Completed
      type: string
    FlightRules:
      enum:
        - IFR
        - VFR
      type: string
    FlightSearchByEnum:
      enum:
        - Number
        - Reg
        - CallSign
        - Icao24
      type: string
      description: "Criteria to search flight by<p>Possible values:</p>\n<ul>\n<li><b>0 - Number</b>: Search by flight number</li>\n<li><b>1 - Reg</b>: Search by aircraft registration</li>\n<li><b>2 - CallSign</b>: Search by ATC call-sign</li>\n<li><b>3 - Icao24</b>: Search by 24-bit ICAO Mode-S Transponder code</li>\n</ul>\n"
    FlightSearchItemContract:
      required:
        - number
      type: object
      properties:
        number:
          minLength: 1
          type: string
          description: Found flight number.
      additionalProperties: false
      description: Flight record found in the search result.
    FlightStatus:
      enum:
        - Unknown
        - Expected
        - EnRoute
        - CheckIn
        - Boarding
        - GateClosed
        - Departed
        - Delayed
        - Approaching
        - Arrived
        - Canceled
        - Diverted
        - CanceledUncertain
      type: string
      description: "Flight progress status<p>Possible values:</p>\n<ul>\n<li><b>0 - Unknown</b>: Status is not available for this flight</li>\n<li><b>1 - Expected</b>: Expected</li>\n<li><b>2 - EnRoute</b>: En route</li>\n<li><b>3 - CheckIn</b>: Check-in is open</li>\n<li><b>4 - Boarding</b>: Boarding in progress / Last call</li>\n<li><b>5 - GateClosed</b>: Gate closed</li>\n<li><b>6 - Departed</b>: Departed</li>\n<li><b>7 - Delayed</b>: Delayed</li>\n<li><b>8 - Approaching</b>: On approach to destination</li>\n<li><b>9 - Arrived</b>: Arrived</li>\n<li><b>10 - Canceled</b>: Cancelled</li>\n<li><b>11 - Diverted</b>: Diverted to another destination</li>\n<li><b>12 - CanceledUncertain</b>: Status of the flight is uncertain, may be cancelled</li>\n</ul>\n"
    FlightType:
      enum:
        - Other
        - General
        - Scheduled
        - NonScheduled
        - Military
      type: string
    GeoCoordinatesContract:
      required:
        - lat
        - lon
      type: object
      properties:
        lat:
          maximum: 90
          minimum: -90
          type: number
          description: 'Latitude, in degrees'
          format: float
        lon:
          maximum: 180
          minimum: -180
          type: number
          description: 'Longitude, in degrees'
          format: float
      additionalProperties: false
      description: Geographical coordinates data
    GeoCoordinatesContractListingAirportContractSearchResultCollectionContract:
      required:
        - count
        - items
        - searchBy
      type: object
      properties:
        searchBy:
          $ref: '#/components/schemas/GeoCoordinatesContract'
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/ListingAirportContract'
          description: The collection of items
      additionalProperties: false
    LicenseType:
      enum:
        - AllRightsReserved
        - AttributionNoncommercialShareAlikeCC
        - AttributionNoncommercialCC
        - AttributionNoncommercialNoDerivativesCC
        - AttributionCC
        - AttributionShareAlikeCC
        - AttributionNoDerivativesCC
        - NoKnownCopyrightRestrictions
        - UnitedStatesGovernmentWork
        - PublicDomainDedicationCC0
        - PublicDomainMark
      type: string
      description: "<p>Possible values:</p>\n<ul>\n<li><b>0 - AllRightsReserved</b>: All Rights Reserved.</li>\n<li><b>1 - AttributionNoncommercialShareAlikeCC</b>: Creative Commons: Attribution Non-Commercial, Share-alike License.</li>\n<li><b>2 - AttributionNoncommercialCC</b>: Creative Commons: Attribution Non-Commercial License.</li>\n<li><b>3 - AttributionNoncommercialNoDerivativesCC</b>: Creative Commons: Attribution Non-Commercial, No Derivatives License.</li>\n<li><b>4 - AttributionCC</b>: Creative Commons: Attribution License.</li>\n<li><b>5 - AttributionShareAlikeCC</b>: Creative Commons: Attribution Share-alike License.</li>\n<li><b>6 - AttributionNoDerivativesCC</b>: Creative Commons: Attribution No Derivatives License.</li>\n<li><b>7 - NoKnownCopyrightRestrictions</b>: No Known Copyright Resitrctions (Flickr Commons).</li>\n<li><b>8 - UnitedStatesGovernmentWork</b>: United States Government Work</li>\n<li><b>9 - PublicDomainDedicationCC0</b>: Public Domain Dedication, CC0</li>\n<li><b>10 - PublicDomainMark</b>: Public Domain Mark</li>\n</ul>\n"
    ListingAirportContract:
      required:
        - name
      type: object
      properties:
        icao:
          type: string
          description: ICAO code of the airport
          nullable: true
        iata:
          type: string
          description: IATA code of the airport
          nullable: true
        localCode:
          type: string
          description: Code of the airport within the local or national codification system
          nullable: true
        name:
          minLength: 1
          type: string
          description: Name of the airport
        shortName:
          type: string
          description: Shortened name of the airport
          nullable: true
        municipalityName:
          type: string
          description: Name of the municipality this airport belongs to
          nullable: true
        location:
          allOf:
            - $ref: '#/components/schemas/GeoCoordinatesContract'
          description: Location of the airport
        countryCode:
          type: string
          description: Two-letter country code of the airport
          nullable: true
        timeZone:
          type: string
          description: Time zone of the airport in Olson format (e.g. "Europe/Amsterdam")
          nullable: true
      additionalProperties: false
      description: Flight's airport reference contract
    ModelFlightTimeEnum:
      enum:
        - Standard
        - ML01
      type: string
      description: "Models of calculating the flight time.<p>Possible values:</p>\n<ul>\n<li><b>0 - Standard</b>: Standard model of calculation which takes into account the great circle distance and the average speed of all aircraft typically operating on those distances.</li>\n<li><b>1 - ML01</b>: Experimental machine learning (ML) model, which attempts to provide more accurate prediction of the flight time by taking into account the history of flights on specified route and aircraft type within the recent year. This may come in handy in case when on certain routes flights take significant detours due to extended airspace closures dictated by war conflicts, sanction regulations, etc. This can result in significantly increased flight times comparing to regular estimations. Or, some routes generally experience longer delays than other routes of the same distance. This model attempts to take such factors into account and reflect it in the prediction. If a model cannot be applied due to lack of historical and/or aircraft data or prediction is too off set, it automatically fallbacks to `Standard`.</li>\n</ul>\n"
    PercentileBracketContract:
      required:
        - delay
        - percentile
      type: object
      properties:
        percentile:
          maximum: 95
          minimum: 5
          type: integer
          description: Percentile of the distribution
          format: int32
        delay:
          type: string
          description: 'Delay of the flight for the specific percentile (format: [-]hh:mm:ss).'
          format: date-span
      additionalProperties: false
      description: Percentile bracket contract describing the flight delay for a specific percentile of the distribution
    Pressure:
      required:
        - hPa
        - inHg
        - mmHg
      type: object
      properties:
        hPa:
          type: number
          description: Pressure in hectopascals
          format: double
        inHg:
          type: number
          description: Pressure in inches mercury
          format: double
        mmHg:
          type: number
          description: Pressure in millimeters mercury
          format: double
      additionalProperties: false
    ResourceContract:
      required:
        - license
        - url
      type: object
      properties:
        url:
          minLength: 1
          type: string
          description: URL of the resource
        webUrl:
          type: string
          description: URL of web-page containing the resource
          nullable: true
        author:
          type: string
          description: Author name of the resource
          nullable: true
        title:
          type: string
          description: Title of the resource
          nullable: true
        description:
          type: string
          description: Description of the resource
          nullable: true
        license:
          $ref: '#/components/schemas/LicenseType'
        htmlAttributions:
          type: array
          items:
            type: string
          description: "Attributions maintaining copyright, ownership and other legal information adjusted for displaying\nas HTML. Each element represent one line."
          nullable: true
      additionalProperties: false
      description: Single media resource data
    RunwayContract:
      required:
        - isClosed
        - name
        - surface
        - trueHdg
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: 'Name of the runway. E.g.: 27L, 06, 36C, etc.'
        trueHdg:
          type: number
          description: True heading of the runway in degrees
          format: double
        length:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Length of the runway
        width:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: Width of the runway
        isClosed:
          type: boolean
          description: 'Marker, if runway is closed'
        location:
          allOf:
            - $ref: '#/components/schemas/GeoCoordinatesContract'
          description: Coordinates of intersection of the threshold and centerline
        surface:
          $ref: '#/components/schemas/SurfaceType'
        displacedThreshold:
          allOf:
            - $ref: '#/components/schemas/Distance'
          description: The distance to the displaced threshold
        hasLighting:
          type: boolean
          description: Does runway has lights
          nullable: true
      additionalProperties: false
      description: Single runway data
    SolarStateContract:
      required:
        - dayTime
        - location
        - sunAzimuth
        - sunElevation
      type: object
      properties:
        location:
          allOf:
            - $ref: '#/components/schemas/GeoCoordinatesContract'
          description: Location where solar information is calculated
        sunElevation:
          allOf:
            - $ref: '#/components/schemas/Angle'
          description: Elevation of the Sun
        sunAzimuth:
          allOf:
            - $ref: '#/components/schemas/Azimuth'
          description: Azimuth of the Sun
        dayTime:
          type: array
          items:
            $ref: '#/components/schemas/DayTime'
          description: Daytime states
        dawnAstronomical:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the astronomical dawn (the Sun rises above 18 degrees below the horizon). May be absent during polar day / night.
        dawnNautical:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the nautical dawn (the Sun rises above 12 degrees below the horizon). May be absent during polar day / night.
        dawnCivil:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the civil dawn (the Sun rises above 6 degrees below the horizon). May be absent during polar day / night.
        sunrise:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: Time of the sunrise. May be absent during polar day / night.
        noonTrue:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the true solar noon. May be absent during polar day / night.
        sunset:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: Time of the sunset. May be absent during polar day / night.
        duskCivil:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the civil dawn (the Sun sets below 6 degrees below the horizon). May be absent during polar day / night.
        duskNautical:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the nautical dawn (the Sun sets below 12 degrees below the horizon). May be absent during polar day / night.
        duskAstronomical:
          allOf:
            - $ref: '#/components/schemas/DateTimeContract'
          description: The time of the astronomical dawn (the Sun sets below 18 degrees below the horizon). May be absent during polar day / night.
      additionalProperties: false
      description: Solar information at the moment
    Speed:
      required:
        - kmPerHour
        - kt
        - meterPerSecond
        - miPerHour
      type: object
      properties:
        kt:
          type: number
          description: Speed in knots
          format: double
        kmPerHour:
          type: number
          description: Speed in km per hour
          format: double
        miPerHour:
          type: number
          description: Speed in miles per hour
          format: double
        meterPerSecond:
          type: number
          description: Speed in meters per second
          format: double
      additionalProperties: false
    SpeedFlightPlanUnitContract:
      type: object
      properties:
        requested:
          $ref: '#/components/schemas/Speed'
        assigned:
          $ref: '#/components/schemas/Speed'
      additionalProperties: false
      description: "Contract describing unit (altitude, airspeed, etc.) which can be assigned and / or requested\nin the context of the flight plan"
    StatisticClass:
      enum:
        - Flight
        - FlightAndHour
      type: string
      description: "<p>Possible values:</p>\n<ul>\n<li><b>0 - Flight</b></li>\n<li><b>1 - FlightAndHour</b></li>\n</ul>\n"
    StringAircraftContractSearchResultCollectionContract:
      required:
        - count
        - items
        - searchBy
      type: object
      properties:
        searchBy:
          minLength: 1
          type: string
          description: "Search parameter used to find the result. \nPlease note, it may be different from the actual input provided!"
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/AircraftContract'
          description: The collection of items
      additionalProperties: false
    StringCollectionContract:
      required:
        - count
        - items
      type: object
      properties:
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            type: string
          description: The collection of items
      additionalProperties: false
    StringFlightSearchItemContractSearchResultCollectionContract:
      required:
        - count
        - items
        - searchBy
      type: object
      properties:
        searchBy:
          minLength: 1
          type: string
          description: "Search parameter used to find the result. \nPlease note, it may be different from the actual input provided!"
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/FlightSearchItemContract'
          description: The collection of items
      additionalProperties: false
    StringListingAirportContractSearchResultCollectionContract:
      required:
        - count
        - items
        - searchBy
      type: object
      properties:
        searchBy:
          minLength: 1
          type: string
          description: "Search parameter used to find the result. \nPlease note, it may be different from the actual input provided!"
        count:
          maximum: 2147483647
          minimum: 0
          type: integer
          description: The number of items in the collection
          format: int32
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/ListingAirportContract'
          description: The collection of items
      additionalProperties: false
    SubscriberContract:
      required:
        - id
        - type
      type: object
      properties:
        type:
          minLength: 1
          type: string
          description: Type of subscriber. Completemented by SubscriberId.
        id:
          minLength: 1
          type: string
          description: ID
      additionalProperties: false
      description: Describes subscriber (consumer of the subscription)
    SubscriptionBalanceContract:
      required:
        - creditsRemaining
        - lastDeductedUtc
        - lastRefilledUtc
      type: object
      properties:
        creditsRemaining:
          type: integer
          description: Alert credits remaining for the account.
          format: int64
        lastRefilledUtc:
          type: string
          description: 'The datetime when the balance was last re-filled, in UTC.'
          format: date-time
        lastDeductedUtc:
          type: string
          description: "The datetime when the balance was last deducated, in UTC.\nDeduction typically occurs when an alert notification was dispatched\nfor one of the alert subscriptions associated with the user account."
          format: date-time
      additionalProperties: false
      description: "Represents the balance for all alert subscriptions associated with the user acount, including remaining credits and timestamps\nfor the most recent refill and deduction operations."
    SubscriptionBillingType:
      enum:
        - LifetimeBased
        - CreditBased
      type: string
      description: "Flight alert subscription billing type<p>Possible values:</p>\n<ul>\n<li><b>0 - LifetimeBased</b>: Subscription billed upon creation based on the life-time with set expiration date-time (BEING DEPRECATED)</li>\n<li><b>1 - CreditBased</b>: Subscription with no expiration date, billed based on the amount of notifications sent</li>\n</ul>\n"
    SubscriptionContract:
      required:
        - createdOnUtc
        - id
        - isActive
        - subject
        - subscriber
      type: object
      properties:
        id:
          type: string
          description: "Identifier of a subscription. \nUse this ID to control the subscription in future (e.g. update or delete)."
          format: uuid
        isActive:
          type: boolean
          description: Specifies if the subscription is active
        billingType:
          $ref: '#/components/schemas/SubscriptionBillingType'
        activateBeforeUtc:
          type: string
          description: "Time (UTC) before which subscription must be activated (may be applicable to \nsome non-active newly created subscriptions)"
          format: date-time
          nullable: true
        expiresOnUtc:
          type: string
          description: "Time (UTC) when subscription expires and will be removed.\n\nIf not specified, subscription never expires."
          format: date-time
          nullable: true
        createdOnUtc:
          type: string
          description: Time (UTC) when subscription was created
          format: date-time
        subject:
          allOf:
            - $ref: '#/components/schemas/SubscriptionSubjectContract'
          description: 'Subscription subject (e.g. flight: such subscription will notify its consumer about flight updates).'
        subscriber:
          allOf:
            - $ref: '#/components/schemas/SubscriberContract'
          description: 'Subscription consumer: where notifications will be sent (e.g. web-hook with a URL)'
        notices:
          type: array
          items:
            type: string
          description: Additional messages
          nullable: true
      additionalProperties: false
      description: Describes subscription
    SubscriptionSubjectContract:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/SubscriptionSubjectType'
        id:
          type: string
          description: "Subject ID of a subscription. Complements SubjectType.\n\nE.g. SubjectType = \"FlightNumber\" and SubjectId = \"DL 47\" means that this\nsubscription is for all updates of flight with number DL47."
          nullable: true
      additionalProperties: false
      description: Describes subscription subject
    SubscriptionSubjectType:
      enum:
        - FlightByNumber
        - FlightByAirportIcao
      type: string
      description: "<p>Possible values:</p>\n<ul>\n<li><b>0 - FlightByNumber</b></li>\n<li><b>1 - FlightByAirportIcao</b></li>\n</ul>\n"
    SubscriptionsBalanceRefillRequestContract:
      required:
        - credits
      type: object
      properties:
        credits:
          maximum: 2147483647
          minimum: 1
          type: integer
          description: Number of credits to add to the notification subscription balance.
          format: int32
      additionalProperties: false
      description: Represents a contract for refilling flight alert credits on a subscription.
    SurfaceType:
      enum:
        - Unknown
        - Asphalt
        - Concrete
        - Grass
        - Dirt
        - Gravel
        - DryLakebed
        - Water
        - Snow
      type: string
      description: "<p>Possible values:</p>\n<ul>\n<li><b>0 - Unknown</b></li>\n<li><b>1 - Asphalt</b></li>\n<li><b>2 - Concrete</b></li>\n<li><b>3 - Grass</b></li>\n<li><b>4 - Dirt</b></li>\n<li><b>5 - Gravel</b></li>\n<li><b>6 - DryLakebed</b></li>\n<li><b>7 - Water</b></li>\n<li><b>8 - Snow</b></li>\n</ul>\n"
  securitySchemes:
    X-RapidAPI-Key:
      type: apiKey
      description: 'RapidAPI Key. You can get your key by signing up at RapidAPI: https://rapid.aerodatabox.com/pricing'
      name: X-RapidAPI-Key
      in: header
    X-RapidAPI-Host:
      type: apiKey
      description: Host of the RapidAPI gateway. Must be always set to `aerodatabox.p.rapidapi.com`
      name: X-RapidAPI-Host
      in: header
security:
  - X-RapidAPI-Key: [ ]
    X-RapidAPI-Host: [ ]
tags:
  - name: Aircraft API
  - name: Airport API
  - name: Flight Alert API
  - name: Flight API
  - name: Healthcheck API
  - name: Industry API
  - name: Miscellaneous API
  - name: Statistical API