openapi: 3.1.0
info:
  contact:
    name: National Weather Service Aviation Weather Center
    url: https://aviationweather.gov/wifs/
  description: World Area Forecast System Internet File Service (WIFS) API
  termsOfService: https://aviationweather.gov/wifs/users_guide/
  title: WIFS API
  version: 2.x
  x-keywords:
    - wifs
    - geospatial
    - data
    - api
paths:
  /collections/tac_opmet_reports:
    get:
      description: Get Previous 36 Hours of TAC OPMET Reports metadata
      responses: &a8
        "200":
          description: Links to the API capabilities
        "400": &a1
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
        "401": &a2
          $ref: "#/components/responses/401"
        "403": &a3
          $ref: "#/components/responses/403"
        "404": &a4
          $ref: "#/components/responses/404"
        "429": &a5
          $ref: "#/components/responses/429"
        "500": &a6
          $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
      tags: &a7
        - opmet
  /collections/tac_opmet_reports/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a7
  /collections/tac_opmet_reports/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a7
  /collections/iwxxm_opmet_reports:
    get:
      description: Get Previous 36 Hours of IWXXM OPMET Reports metadata
      responses: *a8
      tags: &a9
        - opmet
  /collections/iwxxm_opmet_reports/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a9
  /collections/iwxxm_opmet_reports/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a9
  /collections/tac_advisory_reports:
    get:
      description: Get Previous 36 Hours of TAC Advisory Reports metadata
      responses: *a8
      tags: &a10
        - opmet
  /collections/tac_advisory_reports/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a10
  /collections/tac_advisory_reports/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a10
  /collections/iwxxm_advisory_reports:
    get:
      description: Get Previous 36 Hours of IWXXM Advisory Reports metadata
      responses: *a8
      tags: &a11
        - opmet
  /collections/iwxxm_advisory_reports/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a11
  /collections/iwxxm_advisory_reports/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a11
  /collections/notices:
    get:
      description: Get Notices and Administrative Messages metadata
      responses: *a8
      tags: &a12
        - opmet
  /collections/notices/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a12
  /collections/notices/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a12
  /collections/kwbc_wafs_humidity_1p25:
    get:
      description: Get Global Forecast data for Relative Humidity at 5 different
        flight levels between FL050 and FL180 metadata
      responses: *a8
      tags: &a13
        - grids
  /collections/kwbc_wafs_humidity_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a13
  /collections/kwbc_wafs_humidity_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a13
  /collections/kwbc_wafs_humidity_0p25:
    get:
      description: Get Global Forecast data for Relative Humidity at 5 different
        flight levels between FL050 and FL180 metadata
      responses: *a8
      tags: &a14
        - grids
  /collections/kwbc_wafs_humidity_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a14
  /collections/kwbc_wafs_humidity_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a14
  /collections/kwbc_wafs_windtempgeo_1p25:
    get:
      description: Get Global Forecast data for Wind, Temperature & Geopotential
        Height Weather parameters for 17 different flight levels between FL050
        and FL530 metadata
      responses: *a8
      tags: &a15
        - grids
  /collections/kwbc_wafs_windtempgeo_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a15
  /collections/kwbc_wafs_windtempgeo_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a15
  /collections/kwbc_wafs_windtempgeo_0p25:
    get:
      description: Get Global Forecast data for Wind, Temperature & Geopotential
        Height Weather parameters for 17 different flight levels between FL050
        and FL530 metadata
      responses: *a8
      tags: &a16
        - grids
  /collections/kwbc_wafs_windtempgeo_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a16
  /collections/kwbc_wafs_windtempgeo_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a16
  /collections/kwbc_wafs_tropjet_1p25:
    get:
      description: Get Global Forecast data for Tropopause Height, Tropopause
        Temperature, Maximum U Wind, Maximum V Wind and Maximum Wind Height
        Weather parameters metadata
      responses: *a8
      tags: &a17
        - grids
  /collections/kwbc_wafs_tropjet_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a17
  /collections/kwbc_wafs_tropjet_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a17
  /collections/kwbc_wafs_tropjet_0p25:
    get:
      description: Get Global Forecast data for Tropopause Height, Tropopause
        Temperature, Maximum U Wind, Maximum V Wind and Maximum Wind Height
        Weather parameters metadata
      responses: *a8
      tags: &a18
        - grids
  /collections/kwbc_wafs_tropjet_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a18
  /collections/kwbc_wafs_tropjet_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a18
  /collections/kwbc_wafshzds_blended_cb_0p25:
    get:
      description: Get Blended KWBC and EGRR Global Forecast data for Cumulonimbus
        Extent, Base and Top metadata
      responses: *a8
      tags: &a19
        - grids
  /collections/kwbc_wafshzds_blended_cb_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a19
  /collections/kwbc_wafshzds_blended_cb_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a19
  /collections/kwbc_wafshzds_blended_turb_0p25:
    get:
      description: Get Blended KWBC and EGRR Global Forecast data for Turbulence
        Severity for a range of levels between FL100 and FL450 metadata
      responses: *a8
      tags: &a20
        - grids
  /collections/kwbc_wafshzds_blended_turb_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a20
  /collections/kwbc_wafshzds_blended_turb_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a20
  /collections/kwbc_wafshzds_blended_ice_0p25:
    get:
      description: Get Blended KWBC and EGRR Global Forecast data for Icing Severity
        for a range of levels between FL050 and FL300 metadata
      responses: *a8
      tags: &a21
        - grids
  /collections/kwbc_wafshzds_blended_ice_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a21
  /collections/kwbc_wafshzds_blended_ice_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a21
  /collections/egrr_wafs_humidity_1p25:
    get:
      description: Get Global Forecast data for  Relative Humidity Weather for a 5
        different flight levels between FL050 and FL180 metadata
      responses: *a8
      tags: &a22
        - grids
  /collections/egrr_wafs_humidity_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a22
  /collections/egrr_wafs_humidity_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a22
  /collections/egrr_wafs_humidity_0p25:
    get:
      description: Get Global Forecast data for Relative Humidity Weather for a 5
        different flight levels between FL050 and FL180 metadata
      responses: *a8
      tags: &a23
        - grids
  /collections/egrr_wafs_humidity_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a23
  /collections/egrr_wafs_humidity_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a23
  /collections/egrr_wafs_windtempgeo_1p25:
    get:
      description: Get Global Forecast data for Wind, Temperature & Geopotential
        Height Weather parameters for 17 different flight levels between FL050
        and FL530 metadata
      responses: *a8
      tags: &a24
        - grids
  /collections/egrr_wafs_windtempgeo_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a24
  /collections/egrr_wafs_windtempgeo_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a24
  /collections/egrr_wafs_windtempgeo_0p25:
    get:
      description: Get Global Forecast data for Wind, Temperature & Geopotential
        Height Weather parameters metadata
      responses: *a8
      tags: &a25
        - grids
  /collections/egrr_wafs_windtempgeo_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a25
  /collections/egrr_wafs_windtempgeo_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a25
  /collections/egrr_wafs_tropjet_1p25:
    get:
      description: Get Global Forecast data for Tropopause Height, Tropopause
        Temperature, Maximum U Wind, Maximum V Wind and Maximum Wind Height
        Weather parameters metadata
      responses: *a8
      tags: &a26
        - grids
  /collections/egrr_wafs_tropjet_1p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a26
  /collections/egrr_wafs_tropjet_1p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a26
  /collections/egrr_wafs_tropjet_0p25:
    get:
      description: Get Global  Forecast data for Tropopause Height, Tropopause
        Temperature, Maximum U Wind, Maximum V Wind and Maximum Wind Height
        Weather parameters metadata
      responses: *a8
      tags: &a27
        - grids
  /collections/egrr_wafs_tropjet_0p25/items:
    get:
      description: Get items
      parameters:
        - $ref: "#/components/parameters/offset"
        - $ref: "#/components/parameters/limit"
      responses:
        "200":
          $ref: "#/components/responses/Items"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a27
  /collections/egrr_wafs_tropjet_0p25/items/{item}:
    get:
      description: Get an item
      parameters:
        - $ref: "#/components/parameters/item"
      responses:
        "200":
          $ref: "#/components/responses/Item"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a27
  /collections/kkci_iwxxm_forecasts:
    get:
      description: Get KKCI IWXXM forecasts containing SIGWX phenomena metadata
      responses: *a8
      tags: &a28
        - sigwx
  /collections/kkci_iwxxm_forecasts/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a28
  /collections/kkci_iwxxm_forecasts/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a28
  /collections/kkci_charts_global:
    get:
      description: Get KKCI global mercator chart showing SIGWX phenomena metadata
      responses: *a8
      tags: &a29
        - sigwx
  /collections/kkci_charts_global/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a29
  /collections/kkci_charts_global/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a29
  /collections/kkci_charts_northpole:
    get:
      description: Get KKCI North Pole charts showing SIGWX phenomena metadata
      responses: *a8
      tags: &a30
        - sigwx
  /collections/kkci_charts_northpole/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a30
  /collections/kkci_charts_northpole/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a30
  /collections/kkci_charts_southpole:
    get:
      description: Get KKCI South Pole charts showing SIGWX phenomena metadata
      responses: *a8
      tags: &a31
        - sigwx
  /collections/kkci_charts_southpole/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a31
  /collections/kkci_charts_southpole/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a31
  /collections/egrr_iwxxm_forecasts:
    get:
      description: Get EGRR IWXXM forecasts containing SIGWX phenomena metadata
      responses: *a8
      tags: &a32
        - sigwx
  /collections/egrr_iwxxm_forecasts/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a32
  /collections/egrr_iwxxm_forecasts/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a32
  /collections/egrr_charts_global:
    get:
      description: Get EGRR Global mercator chart showing SIGWX phenomena metadata
      responses: *a8
      tags: &a33
        - sigwx
  /collections/egrr_charts_global/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a33
  /collections/egrr_charts_global/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a33
  /collections/egrr_charts_northpole:
    get:
      description: Get EGRR North Pole charts showing SIGWX phenomena metadata
      responses: *a8
      tags: &a34
        - sigwx
  /collections/egrr_charts_northpole/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a34
  /collections/egrr_charts_northpole/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a34
  /collections/egrr_charts_southpole:
    get:
      description: Get EGRR South Pole charts showing SIGWX phenomena metadata
      responses: *a8
      tags: &a35
        - sigwx
  /collections/egrr_charts_southpole/locations:
    get:
      description: Get locations
      parameters: []
      responses:
        "200":
          $ref: "#/components/responses/Locations"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a35
  /collections/egrr_charts_southpole/locations/{location}:
    get:
      description: Get a location
      parameters:
        - $ref: "#/components/parameters/location"
        - $ref: "#/components/parameters/datetime"
        - $ref: "#/components/parameters/parameter-name"
      responses:
        "200":
          $ref: "#/components/responses/Location"
        "400": *a1
        "401": *a2
        "403": *a3
        "404": *a4
        "429": *a5
        "500": *a6
      tags: *a35
components:
  parameters:
    item:
      description: Identifier of an item (e.g. a GRIB2 product).
      in: path
      name: item
      required: true
      schema:
        type: string
    location:
      description: Identifier of a location (e.g. an OPMET or SigWx region).
      in: path
      name: location
      required: true
      schema:
        type: string
    datetime:
      description: Either a date-time or an interval. Date and time expressions adhere
        to RFC 3339. Intervals may be bounded or half-bounded (double-dots at
        start or end), e.g. 2025-07-22T12:45:00Z/PT5M.
      explode: false
      in: query
      name: datetime
      required: true
      schema:
        type: string
      style: form
    parameter-name:
      description: Comma-separated list of parameter names to filter the results.
      explode: false
      in: query
      name: parameter-name
      required: false
      schema:
        type: string
      style: form
    limit:
      description: The optional limit parameter limits the number of items presented
        in the response document.
      explode: false
      in: query
      name: limit
      required: false
      schema:
        default: 100
        minimum: 1
        type: integer
      style: form
    bbox:
      description: Only features that have a geometry that intersects the bounding box
        are selected.The bounding box is provided as four or six numbers,
        depending on whether the coordinate reference system includes a vertical
        axis (height or depth).
      explode: false
      in: query
      name: bbox
      required: false
      schema:
        items:
          type: number
        maxItems: 6
        minItems: 4
        type: array
      style: form
    bbox-crs:
      description: Indicates the coordinate reference system for the given bbox coordinates.
      explode: false
      in: query
      name: bbox-crs
      required: false
      schema:
        format: uri
        type: string
      style: form
    bbox-crs-epsg:
      description: Indicates the EPSG for the given bbox coordinates.
      explode: false
      in: query
      name: bbox-crs-epsg
      required: false
      schema:
        default: 4326
        type: integer
      style: form
    crs:
      description: Indicates the coordinate reference system for the results.
      explode: false
      in: query
      name: crs
      required: false
      schema:
        format: uri
        type: string
      style: form
    offset:
      description: The optional offset parameter indicates the index within the result
        set from which the server shall begin presenting results in the response
        document.  The first element has an index of 0 (default).
      explode: false
      in: query
      name: offset
      required: false
      schema:
        default: 0
        minimum: 0
        type: integer
      style: form
    properties:
      description: The properties that should be included for each feature. The
        parameter value is a comma-separated list of property names.
      explode: false
      in: query
      name: properties
      required: false
      schema:
        items:
          type: string
        type: array
      style: form
    skipGeometry:
      description: This option can be used to skip response geometries for each feature.
      explode: false
      in: query
      name: skipGeometry
      required: false
      schema:
        default: false
        type: boolean
      style: form
    vendorSpecificParameters:
      description: Additional "free-form" parameters that are not explicitly defined
      in: query
      name: vendorSpecificParameters
      schema:
        additionalProperties: true
        type: object
      style: form
  securitySchemes:
    ApiKeyAuth:
      description: API key authentication. Supply your WIFS API key in the X-API-KEY
        request header.
      in: header
      name: X-API-KEY
      type: apiKey
  responses:
    "400":
      $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
    "401":
      content:
        application/json:
          example:
            code: 401
            description: Invalid Credentials. Make sure you have provided the correct
              security credentials
            message: Invalid Credentials
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Unauthorized
    "403":
      content:
        application/json:
          example:
            code: 403
            description: Forbidden
            message: Forbidden
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Forbidden
    "404":
      content:
        application/json:
          example:
            code: 404
            description: Not Found
            message: Not Found
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Not Found
    "405":
      content:
        application/json:
          example:
            code: 405
            description: Method Not Allowed
            message: Method Not Allowed
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Method Not Allowed
    "429":
      content:
        application/json:
          example:
            code: 429
            description: Too Many Requests
            message: Too Many Requests
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Too Many Requests
    "500":
      $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
    "502":
      content:
        application/json:
          example:
            code: 502
            description: Bad Gateway
            message: Bad Gateway
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Bad Gateway
    "503":
      content:
        application/json:
          example:
            code: 503
            description: Service Unavailable
            message: Service Unavailable
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Service Unavailable
    "504":
      content:
        application/json:
          example:
            code: 504
            description: Gateway Timeout
            message: Gateway Timeout
          schema:
            $ref: "#/components/schemas/ErrorJSON"
      description: Gateway Timeout
    Queryables:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/queryables"
      description: successful queryables operation
    Items:
      content:
        application/geo+json:
          schema:
            $ref: "#/components/schemas/itemsFeatureCollection"
      description: GeoJSON FeatureCollection of items available in the collection
    Item:
      content:
        application/octet-stream:
          schema:
            format: binary
            type: string
      description: The requested item as a GRIB2 file
    Locations:
      content:
        application/geo+json:
          schema:
            $ref: "#/components/schemas/locationsFeatureCollection"
      description: GeoJSON FeatureCollection of locations available in the collection
    Location:
      content:
        application/zip:
          schema:
            format: binary
            type: string
        application/xml:
          schema:
            format: binary
            type: string
        image/png:
          schema:
            format: binary
            type: string
      description: "The requested location data. The media type depends on the
        collection: a zip archive of OPMET bulletins, IWXXM XML, or a PNG SigWx
        chart."
    default:
      content:
        application/json:
          schema:
            $ref: https://schemas.opengis.net/ogcapi/processes/part1/1.0/openapi/schemas/exception.yaml
      description: Unexpected error
    success:
      description: Successful operation
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - success
  schemas:
    ErrorJSON:
      type: object
      properties:
        code:
          type: integer
        description:
          type: string
        message:
          type: string
      required:
        - code
        - message
    queryable:
      properties:
        description:
          description: a human-readable narrative describing the queryable
          type: string
        language:
          default:
            - en
          description: the language used for the title and description
          type: string
        queryable:
          description: the token that may be used in a CQL predicate
          type: string
        title:
          description: a human readable title for the queryable
          type: string
        type:
          description: the data type of the queryable
          type: string
        type-ref:
          description: a reference to the formal definition of the type
          format: url
          type: string
      required:
        - queryable
        - type
      type: object
    queryables:
      properties:
        queryables:
          items:
            $ref: "#/components/schemas/queryable"
          type: array
      required:
        - queryables
      type: object
    link:
      properties:
        href:
          type: string
        hreflang:
          type: string
        rel:
          type: string
        title:
          type: string
        type:
          type: string
      required:
        - href
        - rel
      type: object
    geometry:
      description: GeoJSON geometry object describing the spatial extent of the feature.
      nullable: true
      properties:
        coordinates:
          items: {}
          type: array
        type:
          enum:
            - Point
            - MultiPoint
            - LineString
            - MultiLineString
            - Polygon
            - MultiPolygon
            - GeometryCollection
          type: string
      required:
        - type
      type: object
    itemFeature:
      properties:
        geometry:
          $ref: "#/components/schemas/geometry"
        id:
          description: Item identifier.
          type: string
        properties:
          properties:
            completion_time:
              description: Time the product completed processing.
              format: date-time
              type: string
            datetime:
              description: Valid time interval (start/end) of the item in RFC 3339.
              type: string
            label:
              description: Human-readable label for the parameter.
              type: string
            model_run_time:
              description: Model reference (run) time.
              format: date-time
              type: string
            name:
              description: Item identifier.
              type: string
            name_alt:
              description: URL of the item.
              format: uri
              type: string
            parameter-name:
              description: Name of the parameter contained in the item.
              type: string
            resolution:
              description: Spatial resolution of the item.
              type: string
          type: object
        type:
          enum:
            - Feature
          type: string
      required:
        - type
        - properties
        - geometry
      type: object
    itemsFeatureCollection:
      properties:
        features:
          items:
            $ref: "#/components/schemas/itemFeature"
          type: array
        links:
          items:
            $ref: "#/components/schemas/link"
          type: array
        type:
          enum:
            - FeatureCollection
          type: string
      required:
        - type
        - features
        - links
      type: object
    locationFeature:
      properties:
        geometry:
          $ref: "#/components/schemas/geometry"
        properties:
          properties:
            description:
              description: Human-readable region name.
              type: string
            name:
              description: Location identifier.
              type: string
            name_alt:
              description: URL of the location.
              format: uri
              type: string
          type: object
        type:
          enum:
            - Feature
          type: string
      required:
        - type
        - properties
        - geometry
      type: object
    locationsFeatureCollection:
      properties:
        features:
          items:
            $ref: "#/components/schemas/locationFeature"
          type: array
        links:
          items:
            $ref: "#/components/schemas/link"
          type: array
        type:
          enum:
            - FeatureCollection
          type: string
      required:
        - type
        - features
        - links
      type: object
servers:
  - url: https://aviationweather.gov/wifs/api
security:
  - ApiKeyAuth: []
