NOAA Products API

The Products API from NOAA — 9 operation(s) for products.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

OpenAPI Specification

noaa-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AviationWeather.gov Alerts Products API
  description: Schema for public data API of AviationWeather.gov.
  termsOfService: /data/api/
  version: v4.0
tags:
- name: Products
paths:
  /products:
    get:
      description: Returns a list of text products
      operationId: products_query
      parameters:
      - name: location
        in: query
        description: Location id
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: start
        in: query
        description: Start time
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        description: End time
        schema:
          type: string
          format: date-time
      - name: office
        in: query
        description: Issuing office
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^[A-Z]{4}$
            type: string
      - name: wmoid
        in: query
        description: WMO id code
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^[A-Z]{4}\d{2}$
            type: string
      - name: type
        in: query
        description: Product code
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^\w{3}$
            type: string
      - name: limit
        in: query
        description: Limit
        schema:
          maximum: 500
          minimum: 1
          type: integer
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Products
  /products/locations:
    get:
      description: Returns a list of valid text product issuance locations
      operationId: product_locations
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductLocationCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types:
    get:
      description: Returns a list of valid text product types and codes
      operationId: product_types
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductTypeCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/{productId}:
    parameters:
    - name: productId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a specific text product
      operationId: product
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProduct'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of text products of a given type
      operationId: products_type
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of valid text product issuance locations for a given product type
      operationId: products_type_locations
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductLocationCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/locations/{locationId}/types:
    parameters:
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of valid text product types for a given issuance location
      operationId: location_products
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductTypeCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations/{locationId}:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of text products of a given type for a given issuance location
      operationId: products_type_location
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations/{locationId}/latest:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns latest text products of a given type for a given issuance location with product text
      operationId: latest_product_type_location
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProduct'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
components:
  schemas:
    JsonLdContext:
      anyOf:
      - type: array
        items: {}
      - type: object
    TextProductCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@graph':
          type: array
          items:
            $ref: '#/components/schemas/TextProduct'
      additionalProperties: false
    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
    TextProduct:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@id':
          type: string
          format: uri
        id:
          type: string
        wmoCollectiveId:
          type: string
        issuingOffice:
          type: string
        issuanceTime:
          type: string
          format: date-time
        productCode:
          type: string
        productName:
          type: string
        productText:
          type: string
      additionalProperties: false
    TextProductTypeCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@graph':
          type: array
          items:
            required:
            - productCode
            - productName
            type: object
            properties:
              productCode:
                type: string
              productName:
                type: string
            additionalProperties: false
      additionalProperties: false
    TextProductLocationCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        locations:
          type: object
          additionalProperties:
            type: string
            nullable: true
      additionalProperties: false
  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'