NOAA Aviation API

The Aviation API from NOAA — 7 operation(s) for aviation.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

OpenAPI Specification

noaa-aviation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AviationWeather.gov Alerts Aviation API
  description: Schema for public data API of AviationWeather.gov.
  termsOfService: /data/api/
  version: v4.0
tags:
- name: Aviation
paths:
  /aviation/cwsus/{cwsuId}:
    get:
      description: Returns metadata about a Center Weather Service Unit
      operationId: cwsu
      parameters:
      - $ref: '#/components/parameters/NWSCenterWeatherServiceUnitId'
      responses:
        '200':
          description: success
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/CenterWeatherServiceUnitJsonLd'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/cwsus/{cwsuId}/cwas:
    get:
      description: Returns a list of Center Weather Advisories from a CWSU
      operationId: cwas
      parameters:
      - $ref: '#/components/parameters/NWSCenterWeatherServiceUnitId'
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/CenterWeatherAdvisoryCollectionGeoJson'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/cwsus/{cwsuId}/cwas/{date}/{sequence}:
    get:
      description: Returns a list of Center Weather Advisories from a CWSU
      operationId: cwa
      parameters:
      - $ref: '#/components/parameters/NWSCenterWeatherServiceUnitId'
      - $ref: '#/components/parameters/Date'
      - name: sequence
        in: path
        description: Sequence number
        required: true
        schema:
          minimum: 100
          type: integer
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/CenterWeatherAdvisoryGeoJson'
            application/vnd.noaa.uswx+xml:
              schema: {}
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/sigmets:
    get:
      description: Returns a list of SIGMET/AIRMETs
      operationId: sigmetQuery
      parameters:
      - $ref: '#/components/parameters/QueryStartTime'
      - $ref: '#/components/parameters/QueryEndTime'
      - $ref: '#/components/parameters/QueryDate'
      - name: atsu
        in: query
        description: ATSU identifier
        schema:
          $ref: '#/components/schemas/ATSUIdentifier'
      - name: sequence
        in: query
        description: SIGMET sequence number
        schema:
          $ref: '#/components/schemas/SigmetSequenceNumber'
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/SigmetCollectionGeoJson'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/sigmets/{atsu}:
    get:
      description: Returns a list of SIGMET/AIRMETs for the specified ATSU
      operationId: sigmetsByATSU
      parameters:
      - $ref: '#/components/parameters/ATSUIdentifier'
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/SigmetCollectionGeoJson'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/sigmets/{atsu}/{date}:
    get:
      description: Returns a list of SIGMET/AIRMETs for the specified ATSU for the specified date
      operationId: sigmetsByATSUByDate
      parameters:
      - $ref: '#/components/parameters/ATSUIdentifier'
      - $ref: '#/components/parameters/Date'
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/SigmetCollectionGeoJson'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
  /aviation/sigmets/{atsu}/{date}/{time}:
    get:
      description: Returns a specific SIGMET/AIRMET
      operationId: sigmet
      parameters:
      - $ref: '#/components/parameters/ATSUIdentifier'
      - $ref: '#/components/parameters/Date'
      - $ref: '#/components/parameters/Time'
      responses:
        '200':
          description: success
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/SigmetGeoJson'
            application/vnd.noaa.uswx+xml:
              schema: {}
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Aviation
components:
  schemas:
    JsonLdContext:
      anyOf:
      - type: array
        items: {}
      - type: object
    Date:
      type: string
      description: Date (in YYYY-MM-DD format).
      format: date
    CenterWeatherAdvisoryCollectionGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeatureCollection'
      - type: object
        properties:
          features:
            type: array
            items:
              type: object
              properties:
                properties:
                  $ref: '#/components/schemas/CenterWeatherAdvisory'
    CenterWeatherServiceUnitJsonLd:
      $ref: '#/components/schemas/Office'
    GeoJsonGeometry:
      oneOf:
      - title: GeoJSON Point
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - Point
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonCoordinate'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON LineString
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - LineString
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonLineString'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON Polygon
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - Polygon
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonPolygon'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiPoint
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiPoint
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonCoordinate'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiLineString
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiLineString
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonLineString'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiPolygon
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiPolygon
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonPolygon'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - type: 'null'
      description: A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    GeoJsonPolygon:
      type: array
      items:
        minItems: 4
        type: array
        items:
          $ref: '#/components/schemas/GeoJsonCoordinate'
      description: A GeoJSON polygon. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    Sigmet:
      type: object
      properties:
        id:
          type: string
          format: uri
        issueTime:
          type: string
          format: date-time
        fir:
          type: string
          nullable: true
        atsu:
          $ref: '#/components/schemas/ATSUIdentifier'
        sequence:
          type: string
          nullable: true
        phenomenon:
          type: string
          format: uri
          nullable: true
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
      additionalProperties: false
    SigmetSequenceNumber:
      type: string
    CenterWeatherAdvisory:
      type: object
      properties:
        id:
          type: string
        issueTime:
          type: string
          format: date-time
        cwsu:
          $ref: '#/components/schemas/NWSCenterWeatherServiceUnitId'
        sequence:
          minimum: 101
          type: integer
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        observedProperty:
          type: string
        text:
          type: string
      additionalProperties: false
    SigmetGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeature'
      - type: object
        properties:
          properties:
            $ref: '#/components/schemas/Sigmet'
    CenterWeatherAdvisoryGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeature'
      - type: object
        properties:
          properties:
            $ref: '#/components/schemas/CenterWeatherAdvisory'
    GeoJsonLineString:
      minItems: 2
      type: array
      items:
        $ref: '#/components/schemas/GeoJsonCoordinate'
      description: A GeoJSON line string. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    Office:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@type':
          enum:
          - GovernmentOrganization
          type: string
        '@id':
          type: string
          format: uri
        id:
          type: string
        name:
          type: string
        address:
          type: object
          properties:
            '@type':
              enum:
              - PostalAddress
              type: string
            streetAddress:
              type: string
            addressLocality:
              type: string
            addressRegion:
              type: string
            postalCode:
              type: string
          additionalProperties: false
        telephone:
          type: string
        faxNumber:
          type: string
        email:
          type: string
        sameAs:
          type: string
          format: uri
        nwsRegion:
          type: string
        parentOrganization:
          type: string
          format: uri
        responsibleCounties:
          type: array
          items:
            type: string
            format: uri
        responsibleForecastZones:
          type: array
          items:
            type: string
            format: uri
        responsibleFireZones:
          type: array
          items:
            type: string
            format: uri
        approvedObservationStations:
          type: array
          items:
            type: string
            format: uri
      additionalProperties: false
    Time:
      pattern: ^([01][0-9]|2[0-3])[0-5][0-9]$
      type: string
      description: A time (in HHMM format). This is always specified in UTC (Zulu) time.
    ProblemDetail:
      required:
      - type
      - title
      - status
      - detail
      - instance
      - correlationId
      type: object
      properties:
        type:
          type: string
          description: 'A URI reference (RFC 3986) that identifies the problem type. This is only an identifier and is not necessarily a resolvable URL.

            '
          format: uri
          default: about:blank
          examples:
          - urn:noaa:nws:api:UnexpectedProblem
        title:
          type: string
          description: A short, human-readable summary of the problem type.
          examples:
          - Unexpected Problem
        status:
          maximum: 999
          minimum: 100
          type: number
          description: 'The HTTP status code (RFC 7231, Section 6) generated by the origin server for this occurrence of the problem.

            '
          examples:
          - 500
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
          examples:
          - An unexpected problem has occurred.
        instance:
          type: string
          description: 'A URI reference (RFC 3986) that identifies the specific occurrence of the problem. This is only an identifier and is not necessarily a resolvable URL.

            '
          format: uri
          examples:
          - urn:noaa:nws:api:request:493c3a1d-f87e-407f-ae2c-24483f5aab63
        correlationId:
          type: string
          description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

            '
          examples:
          - 493c3a1d-f87e-407f-ae2c-24483f5aab63
      description: Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).
      additionalProperties: true
    GeoJsonBoundingBox:
      minItems: 4
      type: array
      items:
        type: number
      description: A GeoJSON bounding box. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    ATSUIdentifier:
      pattern: ^[A-Z]{3,4}$
      type: string
      description: ATSU Identifier
    GeoJsonFeatureCollection:
      required:
      - type
      - features
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        type:
          enum:
          - FeatureCollection
          type: string
        features:
          type: array
          items:
            $ref: '#/components/schemas/GeoJsonFeature'
      description: A GeoJSON feature collection. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    GeoJsonCoordinate:
      minItems: 2
      type: array
      items:
        type: number
      description: A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    GeoJsonFeature:
      required:
      - type
      - geometry
      - properties
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        id:
          type: string
          format: uri
        type:
          enum:
          - Feature
          type: string
        geometry:
          $ref: '#/components/schemas/GeoJsonGeometry'
        properties:
          type: object
      description: A GeoJSON feature. Please refer to IETF RFC 7946 for information on the GeoJSON format.
      additionalProperties: false
    NWSCenterWeatherServiceUnitId:
      enum:
      - ZAB
      - ZAN
      - ZAU
      - ZBW
      - ZDC
      - ZDV
      - ZFA
      - ZFW
      - ZHU
      - ZID
      - ZJX
      - ZKC
      - ZLA
      - ZLC
      - ZMA
      - ZME
      - ZMP
      - ZNY
      - ZOA
      - ZOB
      - ZSE
      - ZTL
      type: string
      description: Three-letter identifier for a Center Weather Service Unit (CWSU).
    SigmetCollectionGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeatureCollection'
      - type: object
        properties:
          features:
            type: array
            items:
              $ref: '#/components/schemas/SigmetGeoJson'
  parameters:
    Time:
      name: time
      in: path
      description: Time (HHMM format). This time is always specified in UTC (Zulu) time.
      required: true
      schema:
        $ref: '#/components/schemas/Time'
    Date:
      name: date
      in: path
      description: Date (YYYY-MM-DD format)
      required: true
      schema:
        $ref: '#/components/schemas/Date'
    ATSUIdentifier:
      name: atsu
      in: path
      description: ATSU identifier
      required: true
      schema:
        $ref: '#/components/schemas/ATSUIdentifier'
    QueryStartTime:
      name: start
      in: query
      description: Start time
      schema:
        type: string
        format: date-time
    NWSCenterWeatherServiceUnitId:
      name: cwsuId
      in: path
      description: NWS CWSU ID
      required: true
      schema:
        $ref: '#/components/schemas/NWSCenterWeatherServiceUnitId'
    QueryEndTime:
      name: end
      in: query
      description: End time
      schema:
        type: string
        format: date-time
    QueryDate:
      name: date
      in: query
      description: Date (YYYY-MM-DD format)
      schema:
        $ref: '#/components/schemas/Date'
  headers:
    CorrelationId:
      description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
    RequestId:
      description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
    ServerId:
      description: 'The identifier of the server that generated the response, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
  responses:
    Error:
      description: An error response.
      headers:
        X-Correlation-Id:
          $ref: '#/components/headers/CorrelationId'
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        X-Server-Id:
          $ref: '#/components/headers/ServerId'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'