Aviation Weather Data API

Public REST API exposing operational aviation weather products produced by the NOAA/NWS Aviation Weather Center. Endpoints cover decoded weather observations (METAR), terminal forecasts (TAF), pilot reports (PIREP/AIREP), domestic and international SIGMETs, G-AIRMETs and AIRMETs, CWAs, TFM convective forecasts, area forecasts, forecast discussions, meteorological information statements, plus reference data for stations, airports, NAVAIDs, fixes, features, and obstacles. All endpoints are public and do not require an API key.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

aviationweather-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AviationWeather.gov API
  description: |-
    Schema for the public data API of AviationWeather.gov, operated by the NOAA/NWS
    Aviation Weather Center (AWC). Provides machine-to-machine access to operational
    aviation weather products including METARs, TAFs, PIREPs, SIGMETs, AIRMETs,
    G-AIRMETs, CWAs, TFM convective forecasts, area forecasts, forecast discussions,
    meteorological information statements, and reference data for stations, airports,
    NAVAIDs, fixes, features, and obstacles.

    Rate limit: 100 requests per minute per user. Most endpoints return a maximum of
    400 entries. Historical depth is up to 15 days. No API key required.
  termsOfService: https://aviationweather.gov/data/api/
  contact:
    name: NOAA / NWS Aviation Weather Center
    url: https://www.weather.gov/aviation/awc
  license:
    name: U.S. Government Work (public domain)
    url: https://www.weather.gov/disclaimer
  version: "v4.0"

servers:
  - url: https://aviationweather.gov
    description: NOAA Aviation Weather Center production endpoint

tags:
  - name: Weather Data
    description: Decoded weather information
  - name: Navigational Data
    description: Decoded navigational information

paths:
  /api/data/metar:
    get:
      tags:
        - Weather Data
      summary: Get METAR Observations
      description: Decoded aviation weather observations. Station identifiers or a bounding box is required.
      parameters:
        - $ref: '#/components/parameters/ids'
        - $ref: '#/components/parameters/bbox'
        - name: format
          in: query
          description: Format
          required: false
          explode: true
          schema:
            type: string
            enum:
              - raw
              - decoded
              - json
              - geojson
              - xml
              - iwxxm
            default: raw
        - name: taf
          in: query
          description: Include TAF
          required: false
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/hours'
        - $ref: '#/components/parameters/date'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/METARJSON'
            application/geo+json:
              schema:
                $ref: '#/components/schemas/METARGeoJSON'
            application/xml:
              schema:
                $ref: '#/components/schemas/METARXML'
            text/plain:
              schema:
                $ref: '#/components/schemas/METARtext'
        400:
          $ref: '#/components/responses/400'

  /api/data/taf:
    get:
      tags:
        - Weather Data
      summary: Get TAFs
      description: Decoded Terminal Aerodrome Forecast products. Station identifiers or a bounding box is required.
      parameters:
        - $ref: "#/components/parameters/ids"
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeoXMLIWXXM"
        - name: metar
          in: query
          description: Include METAR
          required: false
          schema:
            type: boolean
        - name: time
          in: query
          description: Process time by valid (default) or issuance time
          required: false
          schema:
            type: string
            enum:
              - valid
              - issue
        - $ref: "#/components/parameters/date"
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TAFJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/TAFGeoJSON"
            text/plain:
              schema:
                $ref: '#/components/schemas/TAFtext'
        400:
          $ref: '#/components/responses/400'

  /api/data/pirep:
    get:
      tags:
        - Weather Data
      summary: Get Pilot Reports
      description: Pilot reports issued in PIREP or AIREP format. Bounding box, or center point identifier and radial distance, required.
      parameters:
        - name: id
          in: query
          description: Airport ID for center of search
          required: false
          explode: true
          schema:
            type: string
        - name: distance
          in: query
          description: Radial distance to search
          required: false
          explode: true
          schema:
            type: number
        - $ref: "#/components/parameters/bbox"
        - name: format
          in: query
          description: Format
          required: false
          explode: true
          schema:
            type: string
            enum:
              - raw
              - decoded
              - json
              - geojson
              - xml
            default: raw
        - name: age
          in: query
          description: Hours Back
          required: false
          explode: true
          schema:
            type: number
        - name: level
          in: query
          description: Level +-3000' to search
          required: false
          explode: true
          schema:
            type: number
        - name: inten
          in: query
          description: Minimum intensity
          required: false
          explode: true
          schema:
            type: string
            enum:
              - lgt
              - mod
              - sev
        - $ref: "#/components/parameters/date"
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PIREPJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/PIREPGeoJSON"
            application/xml:
              schema:
                $ref: "#/components/schemas/PIREPXML"
            text/plain:
              schema:
                $ref: '#/components/schemas/PIREPtext'
        400:
          $ref: '#/components/responses/400'

  /api/data/airsigmet:
    get:
      tags:
        - Weather Data
      summary: Get Domestic SIGMETs
      description: Domestic SIGMETs for the contiguous United States. Does not include SIGMETs issued by the US in international format.
      parameters:
        - $ref: "#/components/parameters/RawJSONGeoXMLIWXXM"
        - name: types
          in: query
          description: Product type
          required: false
          deprecated: true
          schema:
            type: string
            enum:
              - sigmet
              - airmet
        - name: hazard
          in: query
          description: Hazard
          required: false
          schema:
            type: string
            enum:
              - conv
              - turb
              - ice
              - ifr
        - name: level
          in: query
          description: The level +-3000' to search
          required: false
          explode: true
          schema:
            type: number
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                $ref: "#/components/schemas/AirSigmetJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/AirSigmetGeoJSON"
        400:
          $ref: '#/components/responses/400'

  /api/data/isigmet:
    get:
      tags:
        - Weather Data
      summary: Get International SIGMETs
      description: Decoded international SIGMETs. This does not include SIGMETs issued by the United States in domestic format (i.e. convective and non-convective domestic SIGMETS).
      parameters:
        - $ref: "#/components/parameters/RawJSONGeoXMLIWXXM"
        - name: hazard
          in: query
          description: Hazard
          required: false
          explode: true
          schema:
            type: string
            enum:
              - turb
              - ice
        - name: level
          in: query
          description: Level +-3000' to search
          required: false
          explode: true
          schema:
            type: number
        - $ref: "#/components/parameters/date"
      responses:
        200:
          description: Successful operation
          content:
            text/plain:
              schema:
                type: string
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                $ref: "#/components/schemas/ISigmetJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/ISigmetGeoJSON"
        400:
          $ref: '#/components/responses/400'

  /api/data/gairmet:
    get:
      tags:
        - Weather Data
      summary: Get US Graphical AIRMETs
      description: Decoded G-AIRMETs for the contiguous United States. See /api/data/airmet for similar advisories over Alaska.
      parameters:
        - name: product
          in: query
          description: Product type
          required: false
          explode: true
          schema:
            type: string
            enum:
              - sierra
              - tango
              - zulu
        - $ref: "#/components/parameters/RawJSONGeoXML"
        - name: hazard
          in: query
          description: Hazard
          required: false
          explode: true
          schema:
            type: string
            enum:
              - turb-hi
              - turb-lo
              - llws
              - sfc_wind
              - ifr
              - mtn_obs
              - ice
              - fzlvl
        - $ref: "#/components/parameters/date"
        - name: fore
          in: query
          description: Forecast hour from selected forecast package
          required: false
          schema:
            type: number
            enum:
              - 0
              - 3
              - 6
              - 9
              - 12
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                $ref: "#/components/schemas/GairmetJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/GairmetGeoJSON"
            application/xml:
              schema:
                type: object
        400:
          $ref: '#/components/responses/400'

  /api/data/airmet:
    get:
      tags:
        - Weather Data
      summary: Get AIRMETs
      description: Decoded domestic AIRMETs (Alaska only). See /api/data/gairmet for similar advisories over the contiguous United States.
      parameters:
        - $ref: "#/components/parameters/JSONGeoIWXXM"
        - name: hazard
          in: query
          description: "Hazard"
          required: false
          explode: true
          schema:
            type: string
            enum:
              - turb
              - ifr
              - conv
              - ice
        - name: level
          in: query
          description: Level +-3000' to search
          required: false
          explode: true
          schema:
            type: number
        - $ref: "#/components/parameters/date"
      responses:
        200:
          description: successful operation
          content:
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                type: object
        400:
          $ref: '#/components/responses/400'

  /api/data/tcf:
    get:
      tags:
        - Weather Data
      summary: Get TFM Convective Forecast
      description: Traffic Flow Management (TFM) Convective Forecast. See https://aviationweather.gov/tcf/ for more information.
      parameters:
        - $ref: "#/components/parameters/RawGeo"
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                $ref: "#/components/schemas/TcfGeoJSON"
        400:
          $ref: '#/components/responses/400'

  /api/data/cwa:
    get:
      tags:
        - Weather Data
      summary: Get CWSU Center Advisories
      description: Center Weather Advisories issued by NWS Center Weather Service Units (CWSUs)
      parameters:
        - name: hazard
          in: query
          description: Hazard
          required: false
          explode: true
          schema:
            type: string
            enum:
              - ts
              - turb
              - ice
              - ifr
              - pcpn
              - unk
        - $ref: "#/components/parameters/RawJSONGeo"
        - $ref: "#/components/parameters/date"
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                $ref: "#/components/schemas/CwaJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/CwaGeoJSON"
        400:
          $ref: '#/components/responses/400'

  /api/data/windtemp:
    get:
      tags:
        - Weather Data
      summary: Get Wind and Temperature Point Data
      description: Wind and temperature information from the legacy FD winds
      parameters:
        - name: region
          in: query
          required: false
          schema:
            type: string
            enum: [us,bos,mia,chi,dfw,slc,sfo,alaska,hawaii,other_pac]
          description: >
            Region:
             * `us` - All contiguous US sites
             * `bos` - Northeast
             * `mia` - Southeast
             * `chi` - North central
             * `dfw` - South central
             * `slc` - Rocky Mountain
             * `sfo` - Pacific Coast
             * `alaska` - Alaska
             * `hawaii` - Hawaii
             * `other_pac` - Western Pacific
        - name: level
          in: query
          description: Level
          required: false
          schema:
            type: string
            enum:
              - low
              - high
        - name: fcst
          in: query
          description: Forecast cycle
          required: false
          schema:
            type: string
            enum:
              - "06"
              - "12"
              - "24"
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'

  /api/data/areafcst:
    get:
      tags:
        - Weather Data
      summary: Get US Area Forecasts
      description: Text Area Forecasts for the United States outside the contiguous states (Alaska)
      parameters:
        - name: region
          in: query
          description: >
            Date
             * `aknorth` - Northern half of Alaska
             * `akcentral` - Interior Alaska
             * `aksouth` - Southcentral Alaska
             * `aksouthwest` - Alaska Peninsula
             * `aksoutheast` - Eastern Gulf of Alaska
             * `akpanhandle` - Alaska
          required: true
          schema:
            type: string
            enum:
              - aknorth
              - akcentral
              - akaleutian
              - aksouth
              - aksouthwest
              - aksoutheast
              - akpanhandle
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'

  /api/data/fcstdisc:
    get:
      tags:
        - Weather Data
      summary: Get US Forecast Discussions
      description: Aviation Forecast Discussions issued by NWS Weather Forecast Offices. Returns aviation section or full discussion issued within the past six hours.
      parameters:
        - name: cwa
          in: query
          description: County Warning Area (WFO)
          required: false
          examples:
            -:
              value: ""
            KEAX:
              summary: Kansas City
              value: "keax"
          schema:
            type: string
        - name: type
          in: query
          description: >
            Type of output:
             * `afd` - aviation discussion
             * `af` - full discussion
          required: false
          schema:
            type: string
            enum:
              - afd
              - af
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'

  /api/data/mis:
    get:
      tags:
        - Weather Data
      summary: Get Meteorological Information Statement
      description: Meteorological Information Statements issued by NWS Center Weather Service Units (CWSU)
      parameters:
        - name: loc
          in: query
          description: CWSU
          required: false
          examples:
            -:
              value: ""
            zkc:
              summary: Kansas City
              value: "zkc"
          schema:
            type: string
        - name: format
          in: query
          description: Format
          required: false
          explode: true
          schema:
            type: string
            enum:
              - json
              - text
            default: text
      responses:
        200:
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'

  /api/data/stationinfo:
    get:
      tags:
        - Navigational Data
      summary: Get Station Info
      description: Station observation location information
      parameters:
        - $ref: "#/components/parameters/ids"
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeoXML"
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StationInfoJSON"
            application/geo+json:
              schema:
                $ref: "#/components/schemas/StationInfoGeoJSON"
            application/xml:
              schema:
                $ref: "#/components/schemas/StationInfoXML"
        400:
          $ref: '#/components/responses/400'

  /api/data/airport:
    get:
      tags:
        - Navigational Data
      summary: Get Airport Info
      description: Information about airports
      parameters:
        - $ref: "#/components/parameters/ids"
        - $ref: "#/components/parameters/bbox"
        - name: format
          in: query
          description: Format
          required: false
          explode: true
          schema:
            type: string
            enum:
              - decoded
              - json
              - geojson
            default: decoded
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    icaoId:
                      type: string
                      examples: [KMCI]
                    iataId:
                      type: string
                      examples: [MCI]
                    faaId:
                      type: string
                      examples: [MCI]
                    name:
                      type: string
                      examples: [KANSAS CITY/KANSAS CITY INTL]
                    state:
                      type: string
                      examples: [MO]
                    country:
                      type: string
                      examples: [US]
                    source:
                      type: string
                      examples: [FAA]
                    type:
                      type: string
                      examples: [ARP]
                    lat:
                      type: string
                      examples: [39.2976]
                    lon:
                      type: string
                      examples: [-94.7139]
                    elev:
                      type: string
                      examples: [313]
                    magdec:
                      type: string
                      examples: [02E]
                    owner:
                      type: string
                      examples: [P]
                    runways:
                      type: array
        400:
          $ref: '#/components/responses/400'

  /api/data/navaid:
    get:
      tags:
        - Navigational Data
      summary: Get Navigational Aid Info
      description: Navigational aid data
      parameters:
        - name: ids
          in: query
          description: three character identifier
          required: false
          examples:
            -:
              value: ""
            barbq:
              summary: MCI
              value: MCI
          schema:
            type: string
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeo"
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      examples: [MCI]
                    type:
                      type: string
                      examples: [VORTAC]
                    name:
                      type: string
                      examples: [Kansas City]
                    state:
                      type: string
                      examples: [MO]
                    country:
                      type: string
                      examples: [US]
                    lat:
                      type: number
                      examples: [39.2853]
                    lon:
                      type: number
                      examples: [-94.7371]
                    elev:
                      type: number
                      examples: [310]
                    freq:
                      type: number
                      examples: [113.25]
                    mag_dec:
                      type: string
                      examples: [05E]
        400:
          $ref: '#/components/responses/400'

  /api/data/fix:
    get:
      tags:
        - Navigational Data
      summary: Get Navigational Fix and Waypoint Info
      description: Navigational fix data
      parameters:
        - name: ids
          in: query
          description: 5 letter Fix ID(s)
          required: false
          examples:
            -:
              value: ""
            barbq:
              summary: BARBQ
              value: BARBQ
          schema:
            type: string
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeo"
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      examples: [BARBQ]
                    type:
                      type: string
                      examples: [I]
                    lat:
                      type: number
                      examples: [39.0811]
                    lon:
                      type: number
                      examples: [-94.7681]
        400:
          $ref: '#/components/responses/400'

  /api/data/feature:
    get:
      tags:
        - Navigational Data
      summary: Get Feature Info
      description: Additional geographic features
      parameters:
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeo"
      responses:
        200:
          description: successful operation
        400:
          $ref: '#/components/responses/400'

  /api/data/obstacle:
    get:
      tags:
        - Navigational Data
      summary: Get Obstacle Info
      description: Aviation obstacle information
      parameters:
        - $ref: "#/components/parameters/bbox"
        - $ref: "#/components/parameters/RawJSONGeo"
      responses:
        200:
          description: successful operation
        400:
          $ref: '#/components/responses/400'

  /api/data/dataserver:
    get:
      tags:
        - Weather Data
      summary: Get Data Server
      description: Compatibility layer with previous Text Data Service. Station identifiers or a bounding box, as well as a time selection, are required.
      parameters:
        - name: requestType
          in: query
          required: true
          schema:
            type: string
            enum: [retrieve]
        - name: dataSource
          in: query
          required: true
          schema:
            type: string
            enum: [metars,tafs,aircraftreports,airsigmets,gairmets]
        - name: stationString
          in: query
          description: Station ID(s)
          required: false
          examples:
            -:
              value: ""
            id:
              summary: A single ICAO Id
              value: KMCI
            ids:
              summary: A list of ICAO Ids separated by commas
              value: KMCI,KORD,KBOS
            states:
              summary: A 2 letter state abbreviation preceded by a @
              value: "@WA"
          schema:
            type: string
        - name: boundingBox
          in: query
          description: Geographic bounding box (lat0, lon0, lat1, lon1)
          required: false
          examples:
            -:
              value: ""
            box:
              summary: A small box around Chicago
              value: 40,-90,45,-85
          schema:
            type: string
        - name: startTime
          in: query
          description: >
            Start time
             * `yyyymmdd_hhmm`
             * `yyyy-mm-ddThh:mm:ssZ`
          required: false
          examples:
            -:
              value: ""
            epoch_secs:
              summary: A Unix epoch time in seconds
              value: 1703052000
            iso_date:
              summary: ISO8601 Date
              value: 2023-12-23T23:57:29Z
          schema:
            type: string
        - name: endTime
          in: query
          description: >
            End time
             * `yyyymmdd_hhmm`
             * `yyyy-mm-ddThh:mm:ssZ`
          required: false
          examples:
            -:
              value: ""
            epoch_secs:
              summary: A Unix epoch time in seconds
              value: 1703383049
            iso_date:
              summary: ISO8601 Date
              value: 2023-12-20T00:00:00Z
          schema:
            type: string
        - name: hoursBeforeNow
          in: query
          description: Number of hours before now to search
          required: false
          explode: true
          schema:
            type: number
        - name: format
          in: query
          description: Output format (TAFs not available in CSV format)
          explode: false
          schema:
            type: string
            default: xml
            enum:
              - xml
              - csv
        - name: mostRecentForEachStation
          in: query
          description: Most recent per station (METARs and TAFs only)
          required: false
          explode: false
          schema:
            type: string
            enum:
              - constraint
              - postfilter
        - name: radialDistance
          in: query
          description: Circular bounds defined by latitude, longitude and radial distance in statute miles (PIREPS only)
          required: false
          examples:
            -:
              value: ""
            radial:
              summary: A small area around Denver
              value: 20;-105,39
          schema:
            type: string
      responses:
        200:
          description: successful operation
        400:
          $ref: '#/components/responses/400'

components:
  parameters:
    date:
      name: date
      in: query
      description: "String (`yyyymmdd_hhmm`) or ISO 8601 Date (`yyyy-mm-ddThh:mm:ssZ`)"
      required: false
      explode: true
      examples:
        -:
          value: ""
        datim:
          summary: Date/time string
          value: 20231220_0000
        iso_date:
          summary: ISO 8601 Date
          value: 2023-12-20T00:00:00Z
      schema:
        type: string
    bbox:
      name: bbox
      in: query
      description: Geographic bounding box (lat0, lon0, lat1, lon1)
      required: false
      examples:
        -:
          value: ""
        box:
          summary: A small box around Chicago
          value: 40,-90,45,-85
      schema:
        type: string
    hours:
      name: hours
      in: query
      description: Hours back to search
      required: false
      explode: true
      schema:
        type: number
        default: 1.5
    hoursRequired:
      name: hours
      in: query
      description: Hours back to search
      required: true
      schema:
        type: number
    RawJSONGeoXML:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - raw
          - json
          - geojson
          - xml
        default: raw
    RawJSONGeo:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - raw
          - json
          - geojson
        default: raw
    RawGeo:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - raw
          - geojson
        default: raw
    RawJSONGeoXMLIWXXM:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - raw
          - json
          - geojson
          - xml
          - iwxxm
        default: raw
    JSONGeoIWXXM:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - json
          - geojson
          - iwxxm
        default: json
    JSONGeoUSWX:
      name: format
      in: query
      description: Format
      required: false
      explode: true
      schema:
        type: string
        enum:
          - json
          - geojson
          - uswx
        default: json
    ids:
      name: ids
      in: query
      description: Station ID(s)
      required: false
      examples:
        -:
          value: ""
        id:
          summary: A single ICAO Id
          value: KMCI
        ids:
          summary: A list of ICAO Ids separated by commas
          value: KMCI,KORD,KBOS
        states:
          summary: A 2 letter state abbreviation preceded by a @
          value: "@WA"
      schema:
        type: string
  responses:
    'success':
      description: Successful operation
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum: [success]
    400:
      description: Input validation errors
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorJSON"
        application/xml:
          schema:
            $ref: "#/com

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