openapi: 3.0.3 info: title: 'weather.gov API' description: 'weather.gov API' version: 1.11.1 servers: - url: 'https://api.weather.gov' description: 'Production server' paths: /alerts: get: description: 'Returns all alerts' operationId: alerts_query parameters: - name: active in: query description: 'List only active alerts (use /alerts/active endpoints instead)' deprecated: true schema: type: boolean - $ref: '#/components/parameters/QueryStartTime' - $ref: '#/components/parameters/QueryEndTime' - $ref: '#/components/parameters/AlertStatus' - $ref: '#/components/parameters/AlertMessageType' - $ref: '#/components/parameters/AlertEventName' - $ref: '#/components/parameters/AlertCode' - $ref: '#/components/parameters/AlertArea' - $ref: '#/components/parameters/AlertPoint' - $ref: '#/components/parameters/AlertRegion' - $ref: '#/components/parameters/AlertRegionType' - $ref: '#/components/parameters/AlertZone' - $ref: '#/components/parameters/AlertUrgency' - $ref: '#/components/parameters/AlertSeverity' - $ref: '#/components/parameters/AlertCertainty' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/PaginationCursor' responses: 200: $ref: '#/components/responses/AlertCollection' 301: description: 'Certain common queries may be redirected to discrete URLs' default: $ref: '#/components/responses/Error' /alerts/active: get: description: 'Returns all currently active alerts' operationId: alerts_active parameters: - $ref: '#/components/parameters/AlertStatus' - $ref: '#/components/parameters/AlertMessageType' - $ref: '#/components/parameters/AlertEventName' - $ref: '#/components/parameters/AlertCode' - $ref: '#/components/parameters/AlertArea' - $ref: '#/components/parameters/AlertPoint' - $ref: '#/components/parameters/AlertRegion' - $ref: '#/components/parameters/AlertRegionType' - $ref: '#/components/parameters/AlertZone' - $ref: '#/components/parameters/AlertUrgency' - $ref: '#/components/parameters/AlertSeverity' - $ref: '#/components/parameters/AlertCertainty' - $ref: '#/components/parameters/Limit' responses: 200: $ref: '#/components/responses/AlertCollection' 301: description: 'Certain common queries may be redirected to discrete URLs' default: $ref: '#/components/responses/Error' /alerts/active/count: get: description: 'Returns info on the number of active alerts' operationId: alerts_active_count responses: 200: description: 'A data structure showing the counts of active alerts broken down by various categories' 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: type: object properties: total: minimum: 0 type: integer description: 'The total number of active alerts' land: minimum: 0 type: integer description: 'The total number of active alerts affecting land zones' marine: minimum: 0 type: integer description: 'The total number of active alerts affecting marine zones' regions: type: object description: 'Active alerts by marine region' additionalProperties: minimum: 1 type: integer areas: type: object description: 'Active alerts by area (state/territory)' additionalProperties: minimum: 1 type: integer zones: type: object description: 'Active alerts by NWS public zone or county code' additionalProperties: minimum: 1 type: integer default: $ref: '#/components/responses/Error' parameters: [] '/alerts/active/zone/{zoneId}': get: description: 'Returns active alerts for the given NWS public zone or county' operationId: alerts_active_zone responses: 200: $ref: '#/components/responses/AlertCollection' default: $ref: '#/components/responses/Error' parameters: [] parameters: - $ref: '#/components/parameters/NWSZoneId' # Removed due to Error: Type of expression is ambiguous without a type annotation # '/alerts/active/area/{area}': # get: # description: 'Returns active alerts for the given area (state or marine area)' # operationId: alerts_active_area # responses: # 200: # $ref: '#/components/responses/AlertCollection' # default: # $ref: '#/components/responses/Error' # parameters: [] # parameters: # - # name: area # in: path # description: 'State/area ID' # required: true # schema: # $ref: '#/components/schemas/AreaCode' '/alerts/active/region/{region}': get: description: 'Returns active alerts for the given marine region' operationId: alerts_active_region responses: 200: $ref: '#/components/responses/AlertCollection' default: $ref: '#/components/responses/Error' parameters: [] parameters: - name: region in: path description: 'Marine region ID' required: true schema: $ref: '#/components/schemas/MarineRegionCode' /alerts/types: get: description: 'Returns a list of alert types' operationId: alerts_types responses: 200: description: 'A list of recognized event types' 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: type: object properties: eventTypes: type: array items: type: string description: 'A list of recognized event types' default: $ref: '#/components/responses/Error' parameters: [] '/alerts/{id}': get: description: 'Returns a specific alert' operationId: alerts_single responses: 200: description: 'An alert record' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/AlertGeoJson' application/ld+json: schema: $ref: '#/components/schemas/AlertJsonLd' application/cap+xml: schema: $ref: '#/components/schemas/AlertCap' x-url-content-negotiation-extensions: json: application/geo+json cap: application/cap+xml default: $ref: '#/components/responses/Error' parameters: [] parameters: - name: id in: path description: 'Alert identifier' required: true schema: $ref: '#/components/schemas/AlertId' '/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' '/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' '/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' /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' '/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' '/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' '/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' /glossary: get: description: 'Returns glossary terms' operationId: glossary responses: 200: description: 'A set of glossary terms' 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: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' glossary: type: array items: type: object properties: term: type: string description: 'The term being defined' definition: type: string description: 'A definition for the term' description: 'A list of glossary terms' default: $ref: '#/components/responses/Error' parameters: [] '/gridpoints/{wfo}/{x},{y}': get: description: 'Returns raw numerical forecast data for a 2.5km grid area' operationId: gridpoint parameters: [] responses: 200: description: 'Gridpoint forecast data' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/GridpointGeoJson' application/ld+json: schema: $ref: '#/components/schemas/GridpointJsonLd' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/GridpointWFO' - $ref: '#/components/parameters/GridpointX' - $ref: '#/components/parameters/GridpointY' '/gridpoints/{wfo}/{x},{y}/forecast': get: description: 'Returns a textual forecast for a 2.5km grid area' operationId: gridpoint_forecast parameters: - $ref: '#/components/parameters/GridpointForecastFeatureFlags' - $ref: '#/components/parameters/GridpointForecastUnits' responses: 200: $ref: '#/components/responses/GridpointForecast' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/GridpointWFO' - $ref: '#/components/parameters/GridpointX' - $ref: '#/components/parameters/GridpointY' '/gridpoints/{wfo}/{x},{y}/forecast/hourly': get: description: 'Returns a textual hourly forecast for a 2.5km grid area' operationId: gridpoint_forecast_hourly parameters: - $ref: '#/components/parameters/GridpointForecastFeatureFlags' - $ref: '#/components/parameters/GridpointForecastUnits' responses: 200: $ref: '#/components/responses/GridpointForecast' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/GridpointWFO' - $ref: '#/components/parameters/GridpointX' - $ref: '#/components/parameters/GridpointY' '/gridpoints/{wfo}/{x},{y}/stations': get: description: 'Returns a list of observation stations usable for a given 2.5km grid area' operationId: gridpoint_stations responses: 200: $ref: '#/components/responses/ObservationStationCollection' default: $ref: '#/components/responses/Error' parameters: [] parameters: - $ref: '#/components/parameters/GridpointWFO' - $ref: '#/components/parameters/GridpointX' - $ref: '#/components/parameters/GridpointY' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/PaginationCursor' '/icons/{set}/{timeOfDay}/{first}': get: description: 'Returns a forecast icon. Icon services in API are deprecated.' operationId: icons 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: image/png: schema: $ref: '#/components/schemas/BinaryFile' default: $ref: '#/components/responses/Error' deprecated: true parameters: [] parameters: - name: set in: path description: . required: true schema: type: string - name: timeOfDay in: path description: . required: true schema: type: string - name: first in: path description: . required: true schema: type: string - name: size in: query description: 'Font size' schema: anyOf: - enum: - small - medium - large type: string - maximum: 500 minimum: 10 type: integer - name: fontsize in: query description: 'Font size' schema: maximum: 24 minimum: 2 type: integer '/icons/{set}/{timeOfDay}/{first}/{second}': get: description: 'Returns a forecast icon. Icon services in API are deprecated.' operationId: iconsDualCondition 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: image/png: schema: $ref: '#/components/schemas/BinaryFile' default: $ref: '#/components/responses/Error' deprecated: true parameters: [] parameters: - name: set in: path description: . required: true schema: type: string - name: timeOfDay in: path description: . required: true schema: type: string - name: first in: path description: . required: true schema: type: string - name: second in: path description: . required: true schema: type: string - name: size in: query description: 'Font size' schema: anyOf: - enum: - small - medium - large type: string - maximum: 500 minimum: 10 type: integer - name: fontsize in: query description: 'Font size' schema: maximum: 24 minimum: 2 type: integer /icons: get: description: 'Returns a list of icon codes and textual descriptions. Icon services in API are deprecated.' operationId: icons_summary 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: required: - icons type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' icons: type: object additionalProperties: required: - description type: object properties: description: type: string additionalProperties: false additionalProperties: false default: $ref: '#/components/responses/Error' deprecated: true parameters: [] '/thumbnails/satellite/{area}': get: description: 'Returns a thumbnail image for a satellite region. Image services in API are deprecated.' operationId: satellite_thumbnails responses: 200: description: 'An image file' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: image/jpeg: schema: $ref: '#/components/schemas/BinaryFile' default: $ref: '#/components/responses/Error' deprecated: true parameters: [] parameters: - name: area in: path description: . required: true schema: enum: - a - e - g - h - p - s - w type: string '/stations/{stationId}/observations': get: description: 'Returns a list of observations for a given station' operationId: station_observation_list parameters: - $ref: '#/components/parameters/QueryStartTime' - $ref: '#/components/parameters/QueryEndTime' - name: limit in: query description: Limit schema: maximum: 500 minimum: 1 type: integer responses: 200: $ref: '#/components/responses/ObservationCollection' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/ObservationStationId' '/stations/{stationId}/observations/latest': get: description: 'Returns the latest observation for a station' operationId: station_observation_latest parameters: - name: require_qc in: query description: 'Require QC' schema: type: boolean responses: 200: $ref: '#/components/responses/Observation' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/ObservationStationId' # Removed due to: Type of expression is ambiguous without a type annotation # '/stations/{stationId}/observations/{time}': # get: # description: 'Returns a single observation.' # operationId: station_observation_time # parameters: # - # name: time # in: path # description: 'Timestamp of requested observation' # required: true # schema: # type: string # format: date-time # responses: # 200: # $ref: '#/components/responses/Observation' # default: # $ref: '#/components/responses/Error' # parameters: # - # $ref: '#/components/parameters/ObservationStationId' '/stations/{stationId}/tafs': get: description: 'Returns Terminal Aerodrome Forecasts for the specified airport station.' operationId: tafs parameters: - $ref: '#/components/parameters/ObservationStationId' responses: 200: description: success content: application/ld+json: schema: { } default: $ref: '#/components/responses/Error' '/stations/{stationId}/tafs/{date}/{time}': get: description: 'Returns a single Terminal Aerodrome Forecast.' operationId: taf parameters: - $ref: '#/components/parameters/ObservationStationId' - $ref: '#/components/parameters/Date' - $ref: '#/components/parameters/Time' responses: 200: description: success content: application/vnd.wmo.iwxxm+xml: schema: { } default: $ref: '#/components/responses/Error' /stations: get: description: 'Returns a list of observation stations.' operationId: obs_stations parameters: - name: id in: query description: 'Filter by observation station ID' style: form explode: false schema: type: array items: type: string - name: state in: query description: 'Filter by state/marine area code' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AreaCode' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/PaginationCursor' responses: 200: $ref: '#/components/responses/ObservationStationCollection' default: $ref: '#/components/responses/Error' '/stations/{stationId}': get: description: 'Returns metadata about a given observation station' operationId: obs_station 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/geo+json: schema: $ref: '#/components/schemas/ObservationStationGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ObservationStationJsonLd' default: $ref: '#/components/responses/Error' parameters: [] parameters: - $ref: '#/components/parameters/ObservationStationId' # Removed due to error: Type of expression is ambiguous without a type annotation # '/offices/{officeId}': # get: # description: 'Returns metadata about a NWS forecast office' # operationId: office # 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/Office' # default: # $ref: '#/components/responses/Error' # parameters: [] # parameters: # - # $ref: '#/components/parameters/NWSOfficeId' # Removed due to error: Type of expression is ambiguous without a type annotation # '/offices/{officeId}/headlines/{headlineId}': # get: # description: 'Returns a specific news headline for a given NWS office' # operationId: office_headline # 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/OfficeHeadline' # default: # $ref: '#/components/responses/Error' # parameters: [] # parameters: # - # $ref: '#/components/parameters/NWSOfficeId' # - # name: headlineId # in: path # description: 'Headline record ID' # required: true # schema: # type: string # Removed due to error: Type of expression is ambiguous without a type annotation # '/offices/{officeId}/headlines': # get: # description: 'Returns a list of news headlines for a given NWS office' # operationId: office_headlines # 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/OfficeHeadlineCollection' # default: # $ref: '#/components/responses/Error' # parameters: [] # parameters: # - # $ref: '#/components/parameters/NWSOfficeId' '/points/{point}': get: description: 'Returns metadata about a given latitude/longitude point' operationId: point 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/geo+json: schema: $ref: '#/components/schemas/PointGeoJson' application/ld+json: schema: $ref: '#/components/schemas/PointJsonLd' default: $ref: '#/components/responses/Error' parameters: [] parameters: - $ref: '#/components/parameters/PathPoint' '/points/{point}/stations': get: description: 'Returns a list of observation stations for a given point' operationId: point_stations responses: 301: description: 'redirect to gridpoint stations' default: $ref: '#/components/responses/Error' deprecated: true parameters: [] parameters: - $ref: '#/components/parameters/PathPoint' /radar/servers: get: description: 'Returns a list of radar servers' operationId: radar_servers parameters: - name: reportingHost in: query description: 'Show records from specific reporting host' schema: type: string 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: { } default: $ref: '#/components/responses/Error' '/radar/servers/{id}': get: description: 'Returns metadata about a given radar server' operationId: radar_server parameters: - name: reportingHost in: query description: 'Show records from specific reporting host' schema: type: string 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: { } default: $ref: '#/components/responses/Error' parameters: - name: id in: path description: 'Server ID' required: true schema: type: string /radar/stations: get: description: 'Returns a list of radar stations' operationId: radar_stations parameters: - name: stationType in: query description: 'Limit results to a specific station type or types' style: form explode: false schema: type: array items: pattern: '^[A-Za-z0-9-]+$' type: string - name: reportingHost in: query description: 'Show RDA and latency info from specific reporting host' schema: type: string - name: host in: query description: 'Show latency info from specific LDM host' schema: type: string 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/geo+json: schema: { } application/ld+json: schema: { } default: $ref: '#/components/responses/Error' '/radar/stations/{stationId}': get: description: 'Returns metadata about a given radar station' operationId: radar_station parameters: - name: reportingHost in: query description: 'Show RDA and latency info from specific reporting host' schema: type: string - name: host in: query description: 'Show latency info from specific LDM host' schema: type: string 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/geo+json: schema: { } application/ld+json: schema: { } default: $ref: '#/components/responses/Error' parameters: - name: stationId in: path description: 'Radar station ID' required: true schema: type: string '/radar/stations/{stationId}/alarms': get: description: 'Returns metadata about a given radar station alarms' operationId: radar_station_alarms 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: { } default: $ref: '#/components/responses/Error' parameters: [] parameters: - name: stationId in: path description: 'Radar station ID' required: true schema: type: string # Removed due to: Instance method 'setQueryItemAsText(in:name:value:)' requires that 'Components.Schemas.ISO8601Interval' conform to '_StringConvertible' # '/radar/queues/{host}': # get: # description: 'Returns metadata about a given radar queue' # operationId: radar_queue # parameters: # - # name: limit # in: query # description: 'Record limit' # schema: # maximum: 500 # minimum: 1 # type: integer # - # name: arrived # in: query # description: 'Range for arrival time' # schema: # $ref: '#/components/schemas/ISO8601Interval' # - # name: created # in: query # description: 'Range for creation time' # schema: # $ref: '#/components/schemas/ISO8601Interval' # - # name: published # in: query # description: 'Range for publish time' # schema: # $ref: '#/components/schemas/ISO8601Interval' # - # name: station # in: query # description: 'Station identifier' # schema: # type: string # - # name: type # in: query # description: 'Record type' # schema: # type: string # - # name: feed # in: query # description: 'Originating product feed' # schema: # type: string # - # name: resolution # in: query # description: 'Resolution version' # schema: # 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: { } # default: # $ref: '#/components/responses/Error' # parameters: # - # name: host # in: path # description: 'LDM host' # required: true # schema: # type: string # Removed due to: Instance method 'setQueryItemAsText(in:name:value:)' requires that 'Components.Schemas.ISO8601Interval' conform to '_StringConvertible' # '/radar/profilers/{stationId}': # get: # description: 'Returns metadata about a given radar wind profiler' # operationId: radar_profiler # parameters: # - # name: time # in: query # description: 'Time interval' # schema: # $ref: '#/components/schemas/ISO8601Interval' # - # name: interval # in: query # description: 'Averaging interval' # schema: # $ref: '#/components/schemas/ISO8601Duration' # 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: { } # default: # $ref: '#/components/responses/Error' # parameters: # - # name: stationId # in: path # description: 'Profiler station ID' # required: true # schema: # type: string /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' /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: [] /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: [] '/products/{productId}': 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: [] parameters: - name: productId in: path description: . required: true schema: type: string '/products/types/{typeId}': 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: [] parameters: - name: typeId in: path description: . required: true schema: type: string '/products/types/{typeId}/locations': 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: [] parameters: - name: typeId in: path description: . required: true schema: type: string '/products/locations/{locationId}/types': 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: [] parameters: - name: locationId in: path description: . required: true schema: type: string '/products/types/{typeId}/locations/{locationId}': 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: [] parameters: - name: typeId in: path description: . required: true schema: type: string - name: locationId in: path description: . required: true schema: type: string /zones: get: description: 'Returns a list of zones' operationId: zone_list parameters: - name: id in: query description: 'Zone ID (forecast or county)' style: form explode: false schema: type: array items: $ref: '#/components/schemas/NWSZoneID' - name: area in: query description: 'State/marine area code' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AreaCode' - name: region in: query description: 'Region code' style: form explode: false schema: type: array items: $ref: '#/components/schemas/RegionCode' - name: type in: query description: 'Zone type' style: form explode: false schema: type: array items: $ref: '#/components/schemas/NWSZoneType' - name: point in: query description: 'Point (latitude,longitude)' schema: $ref: '#/components/schemas/PointString' - name: include_geometry in: query description: 'Include geometry in results (true/false)' schema: type: boolean - name: limit in: query description: Limit schema: minimum: 1 type: integer - name: effective in: query description: 'Effective date/time' schema: type: string format: date-time 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/geo+json: schema: $ref: '#/components/schemas/ZoneCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ZoneCollectionJsonLd' default: $ref: '#/components/responses/Error' '/zones/{type}': get: description: 'Returns a list of zones of a given type' operationId: zone_list_type parameters: - name: id in: query description: 'Zone ID (forecast or county)' style: form explode: false schema: type: array items: $ref: '#/components/schemas/NWSZoneID' - name: area in: query description: 'State/marine area code' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AreaCode' - name: region in: query description: 'Region code' style: form explode: false schema: type: array items: $ref: '#/components/schemas/RegionCode' - name: type in: query description: 'Zone type' style: form explode: false schema: type: array items: $ref: '#/components/schemas/NWSZoneType' - name: point in: query description: 'Point (latitude,longitude)' schema: $ref: '#/components/schemas/PointString' - name: include_geometry in: query description: 'Include geometry in results (true/false)' schema: type: boolean - name: limit in: query description: Limit schema: minimum: 1 type: integer - name: effective in: query description: 'Effective date/time' schema: type: string format: date-time 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/geo+json: schema: $ref: '#/components/schemas/ZoneCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ZoneCollectionJsonLd' default: $ref: '#/components/responses/Error' parameters: - name: type in: path description: 'Zone type' required: true schema: $ref: '#/components/schemas/NWSZoneType' '/zones/{type}/{zoneId}': get: description: 'Returns metadata about a given zone' operationId: zone parameters: - name: effective in: query description: 'Effective date/time' schema: type: string format: date-time 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/geo+json: schema: $ref: '#/components/schemas/ZoneGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ZoneJsonLd' default: $ref: '#/components/responses/Error' parameters: - name: type in: path description: 'Zone type' required: true schema: $ref: '#/components/schemas/NWSZoneType' - $ref: '#/components/parameters/NWSZoneId' '/zones/{type}/{zoneId}/forecast': get: description: 'Returns the current zone forecast for a given zone' operationId: zone_forecast 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/geo+json: schema: $ref: '#/components/schemas/ZoneForecastGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ZoneForecastJsonLd' default: $ref: '#/components/responses/Error' parameters: [] parameters: - name: type in: path description: 'Zone type' required: true schema: type: string - $ref: '#/components/parameters/NWSZoneId' '/zones/forecast/{zoneId}/observations': get: description: 'Returns a list of observations for a given zone' operationId: zone_obs parameters: - name: start in: query description: 'Start date/time' schema: type: string format: date-time - name: end in: query description: 'End date/time' schema: type: string format: date-time - 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/geo+json: schema: $ref: '#/components/schemas/ObservationCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ObservationCollectionJsonLd' default: $ref: '#/components/responses/Error' parameters: - $ref: '#/components/parameters/NWSZoneId' '/zones/forecast/{zoneId}/stations': get: description: 'Returns a list of observation stations for a given zone' operationId: zone_stations responses: 200: $ref: '#/components/responses/ObservationStationCollection' default: $ref: '#/components/responses/Error' parameters: [] parameters: - $ref: '#/components/parameters/NWSZoneId' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/PaginationCursor' components: schemas: Alert: type: object properties: id: $ref: '#/components/schemas/AlertId' areaDesc: type: string description: 'A textual description of the area affected by the alert.' geocode: type: object properties: UGC: type: array items: $ref: '#/components/schemas/NWSZoneID' description: 'A list of NWS public zone or county identifiers.' SAME: type: array items: pattern: '^\d{6}$' type: string description: 'A list of SAME (Specific Area Message Encoding) codes for affected counties.' description: 'Lists of codes for NWS public zones and counties affected by the alert.' affectedZones: type: array items: type: string format: uri description: "An array of API links for zones affected by the alert. This is an API-specific extension field and is not part of the CAP specification.\n" references: type: array items: type: object properties: '@id': type: string description: 'An API link to the prior alert.' format: uri identifier: $ref: '#/components/schemas/AlertId' sender: type: string description: 'The sender of the prior alert.' sent: type: string description: 'The time the prior alert was sent.' format: date-time description: 'A list of prior alerts that this alert updates or replaces.' sent: type: string description: 'The time of the origination of the alert message.' format: date-time effective: type: string description: 'The effective time of the information of the alert message.' format: date-time onset: type: string description: 'The expected time of the beginning of the subject event of the alert message.' format: date-time nullable: true expires: type: string description: 'The expiry time of the information of the alert message.' format: date-time ends: type: string description: 'The expected end time of the subject event of the alert message.' format: date-time nullable: true status: $ref: '#/components/schemas/AlertStatus' messageType: $ref: '#/components/schemas/AlertMessageType' category: enum: - Met - Geo - Safety - Security - Rescue - Fire - Health - Env - Transport - Infra - CBRNE - Other type: string description: 'The code denoting the category of the subject event of the alert message.' severity: $ref: '#/components/schemas/AlertSeverity' certainty: $ref: '#/components/schemas/AlertCertainty' urgency: $ref: '#/components/schemas/AlertUrgency' event: type: string description: 'The text denoting the type of the subject event of the alert message.' sender: type: string description: 'Email address of the NWS webmaster.' senderName: type: string description: 'The text naming the originator of the alert message.' headline: type: string description: 'The text headline of the alert message.' nullable: true description: type: string description: 'The text describing the subject event of the alert message.' instruction: type: string description: "The text describing the recommended action to be taken by recipients of the alert message.\n" nullable: true response: enum: - Shelter - Evacuate - Prepare - Execute - Avoid - Monitor - Assess - AllClear - None type: string description: "The code denoting the type of action recommended for the target audience.\nThis corresponds to responseType in the CAP specification.\n" parameters: type: object description: "System-specific additional parameters associated with the alert message.\nThe keys in this object correspond to parameter definitions in the NWS CAP specification.\n" additionalProperties: type: array items: { } description: "An object representing a public alert message.\nUnless otherwise noted, the fields in this object correspond to the National Weather Service CAP v1.2 specification, which extends the OASIS Common Alerting Protocol (CAP) v1.2 specification and USA Integrated Public Alert and Warning System (IPAWS) Profile v1.0. Refer to this documentation for more complete information.\nhttp://docs.oasis-open.org/emergency/cap/v1.2/CAP-v1.2-os.html http://docs.oasis-open.org/emergency/cap/v1.2/ipaws-profile/v1.0/cs01/cap-v1.2-ipaws-profile-cs01.html https://alerts.weather.gov/#technical-notes-v12\n" AlertCollection: type: object properties: title: type: string description: 'A title describing the alert collection' updated: type: string description: 'The last time a change occurred to this collection' format: date-time pagination: $ref: '#/components/schemas/PaginationInfo' AlertCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: type: object properties: properties: $ref: '#/components/schemas/Alert' - $ref: '#/components/schemas/AlertCollection' AlertCollectionJsonLd: allOf: - $ref: '#/components/schemas/AlertCollection' - type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/Alert' AlertCap: type: object AlertGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Alert' AlertJsonLd: type: object properties: '@graph': type: array items: $ref: '#/components/schemas/Alert' AlertId: type: string description: 'The identifier of the alert message.' AlertCertainty: enum: - Observed - Likely - Possible - Unlikely - Unknown type: string AlertMessageType: enum: - Alert - Update - Cancel - Ack - Error type: string AlertSeverity: enum: - Extreme - Severe - Moderate - Minor - Unknown type: string AlertStatus: enum: - Actual - Exercise - System - Test - Draft type: string AlertUrgency: enum: - Immediate - Expected - Future - Past - Unknown type: string AlertAtomEntry: type: object properties: id: type: string xml: namespace: 'http://www.w3.org/2005/Atom' updated: type: string xml: namespace: 'http://www.w3.org/2005/Atom' published: type: string xml: namespace: 'http://www.w3.org/2005/Atom' author: type: object properties: name: type: string xml: namespace: 'http://www.w3.org/2005/Atom' summary: type: string xml: namespace: 'http://www.w3.org/2005/Atom' event: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' sent: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' effective: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' expires: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' status: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' msgType: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' category: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' urgency: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' severity: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' certainty: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' areaDesc: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' polygon: type: string xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' geocode: type: array items: $ref: '#/components/schemas/AlertXMLParameter' xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' parameter: type: array items: $ref: '#/components/schemas/AlertXMLParameter' xml: namespace: 'urn:oasis:names:tc:emergency:cap:1.2' description: 'An alert entry in an Atom feed' xml: name: entry namespace: 'http://www.w3.org/2005/Atom' AlertXMLParameter: type: object properties: valueName: type: string value: type: string AlertAtomFeed: type: object properties: id: type: string xml: namespace: 'http://www.w3.org/2005/Atom' generator: type: string xml: namespace: 'http://www.w3.org/2005/Atom' updated: type: string xml: namespace: 'http://www.w3.org/2005/Atom' author: type: object properties: name: type: string xml: namespace: 'http://www.w3.org/2005/Atom' xml: namespace: 'http://www.w3.org/2005/Atom' title: type: string xml: namespace: 'http://www.w3.org/2005/Atom' entry: type: array items: $ref: '#/components/schemas/AlertAtomEntry' xml: namespace: 'http://www.w3.org/2005/Atom' description: 'An alert feed in Atom format' xml: name: feed namespace: 'http://www.w3.org/2005/Atom' AreaCode: oneOf: - $ref: '#/components/schemas/StateTerritoryCode' - $ref: '#/components/schemas/MarineAreaCode' description: 'State/territory codes and marine area codes' ATSUIdentifier: pattern: '^[A-Z]{3,4}$' type: string description: 'ATSU Identifier' BinaryFile: type: string format: binary CenterWeatherAdvisoryCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: type: object properties: properties: $ref: '#/components/schemas/CenterWeatherAdvisory' CenterWeatherAdvisoryGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/CenterWeatherAdvisory' 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 CenterWeatherServiceUnitJsonLd: $ref: '#/components/schemas/Office' Date: type: string description: 'Date (in YYYY-MM-DD format).' format: date GeometryString: type: string description: 'A geometry represented in Well-Known Text (WKT) format.' format: wkt nullable: 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.' GeoJsonCoordinate: minItems: 2 type: array items: type: number description: 'A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.' 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' description: 'A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.' nullable: true 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 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.' 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.' 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.' Gridpoint: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' '@id': type: string format: uri '@type': enum: - 'wx:Gridpoint' type: string updateTime: type: string format: date-time validTimes: $ref: '#/components/schemas/ISO8601Interval' elevation: $ref: '#/components/schemas/QuantitativeValue' forecastOffice: type: string format: uri gridId: type: string gridX: minimum: 0 type: integer gridY: minimum: 0 type: integer weather: required: - values type: object properties: values: type: array items: required: - validTime - value type: object properties: validTime: $ref: '#/components/schemas/ISO8601Interval' value: type: array items: required: - coverage - weather - intensity - visibility - attributes type: object properties: coverage: enum: - areas - brief - chance - definite - few - frequent - intermittent - isolated - likely - numerous - occasional - patchy - periods - scattered - slight_chance - widespread type: string nullable: true weather: enum: - blowing_dust - blowing_sand - blowing_snow - drizzle - fog - freezing_fog - freezing_drizzle - freezing_rain - freezing_spray - frost - hail - haze - ice_crystals - ice_fog - rain - rain_showers - sleet - smoke - snow - snow_showers - thunderstorms - volcanic_ash - water_spouts type: string nullable: true intensity: enum: - very_light - light - moderate - heavy type: string nullable: true visibility: $ref: '#/components/schemas/QuantitativeValue' attributes: type: array items: enum: - damaging_wind - dry_thunderstorms - flooding - gusty_wind - heavy_rain - large_hail - small_hail - tornadoes type: string description: 'A value object representing expected weather phenomena.' additionalProperties: false additionalProperties: false hazards: required: - values type: object properties: values: type: array items: required: - validTime - value type: object properties: validTime: $ref: '#/components/schemas/ISO8601Interval' value: type: array items: required: - phenomenon - significance - event_number type: object properties: phenomenon: pattern: '^\w{2}$' type: string description: "Hazard code. This value will correspond to a P-VTEC phenomenon code as defined in NWS Directive 10-1703.\n" significance: pattern: ^\w$ type: string description: "Significance code. This value will correspond to a P-VTEC significance code as defined in NWS Directive 10-1703.\nThis will most frequently be \"A\" for a watch or \"Y\" for an advisory.\n" event_number: type: integer description: "Event number. If this hazard refers to a national or regional center product (such as a Storm Prediction Center convective watch), this value will be the sequence number of that product.\n" nullable: true description: 'A value object representing an expected hazard.' additionalProperties: false description: "Raw forecast data for a 2.5km grid square.\nThis is a list of all potential data layers that may appear. Some layers may not be present in all areas.\n* temperature\n* dewpoint\n* maxTemperature\n* minTemperature\n* relativeHumidity\n* apparentTemperature\n* heatIndex\n* windChill\n* wetBulbGlobeTemperature\n* skyCover\n* windDirection\n* windSpeed\n* windGust\n* weather\n* hazards: Watch and advisory products in effect\n* probabilityOfPrecipitation\n* quantitativePrecipitation\n* iceAccumulation\n* snowfallAmount\n* snowLevel\n* ceilingHeight\n* visibility\n* transportWindSpeed\n* transportWindDirection\n* mixingHeight\n* hainesIndex\n* lightningActivityLevel\n* twentyFootWindSpeed\n* twentyFootWindDirection\n* waveHeight\n* wavePeriod\n* waveDirection\n* primarySwellHeight\n* primarySwellDirection\n* secondarySwellHeight\n* secondarySwellDirection\n* wavePeriod2\n* windWaveHeight\n* dispersionIndex\n* pressure: Barometric pressure\n* probabilityOfTropicalStormWinds\n* probabilityOfHurricaneWinds\n* potentialOf15mphWinds\n* potentialOf25mphWinds\n* potentialOf35mphWinds\n* potentialOf45mphWinds\n* potentialOf20mphWindGusts\n* potentialOf30mphWindGusts\n* potentialOf40mphWindGusts\n* potentialOf50mphWindGusts\n* potentialOf60mphWindGusts\n* grasslandFireDangerIndex\n* probabilityOfThunder\n* davisStabilityIndex\n* atmosphericDispersionIndex\n* lowVisibilityOccurrenceRiskIndex\n* stability\n* redFlagThreatIndex\n" additionalProperties: $ref: '#/components/schemas/GridpointQuantitativeValueLayer' GridpointQuantitativeValueLayer: required: - values type: object properties: uom: $ref: '#/components/schemas/UnitOfMeasure' values: type: array items: required: - validTime - value type: object properties: validTime: $ref: '#/components/schemas/ISO8601Interval' value: type: number nullable: true additionalProperties: false description: "A gridpoint layer consisting of quantitative values (numeric values with associated units of measure).\n" GridpointGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Gridpoint' GridpointJsonLd: $ref: '#/components/schemas/Gridpoint' GridpointForecast: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' units: $ref: '#/components/schemas/GridpointForecastUnits' forecastGenerator: type: string description: 'The internal generator class used to create the forecast text (used for NWS debugging).' generatedAt: type: string description: 'The time this forecast data was generated.' format: date-time updateTime: type: string description: 'The last update time of the data this forecast was generated from.' format: date-time updated: type: string description: 'This property is deprecated (use updateTime instead).' format: date-time deprecated: true validTimes: $ref: '#/components/schemas/ISO8601Interval' elevation: $ref: '#/components/schemas/QuantitativeValue' periods: type: array items: $ref: '#/components/schemas/GridpointForecastPeriod' description: 'An array of forecast periods.' description: 'A multi-day forecast for a 2.5km grid square.' additionalProperties: false GridpointForecastPeriod: type: object properties: number: minimum: 1 type: integer description: 'Sequential period number.' name: type: string description: "A textual identifier for the period. This value will not be present for hourly forecasts.\n" example: 'Tuesday Night' startTime: type: string description: 'The starting time that this forecast period is valid for.' format: date-time endTime: type: string description: 'The ending time that this forecast period is valid for.' format: date-time isDaytime: type: boolean description: 'Indicates whether this period is daytime or nighttime.' temperature: oneOf: - $ref: '#/components/schemas/QuantitativeValue' - type: integer description: "High/low temperature for the period, depending on whether the period is day or night.\nThis property as an integer value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \"forecast_temperature_qv\" feature flag on the request.\n" temperatureUnit: enum: - F - C type: string description: "The unit of the temperature value (Fahrenheit or Celsius).\nThis property is deprecated. Future versions will indicate the unit within the quantitative value object for the temperature property. To make use of the future standard format now, set the \"forecast_temperature_qv\" feature flag on the request.\n" deprecated: true temperatureTrend: enum: - rising - falling type: string description: "If not null, indicates a non-diurnal temperature trend for the period (either rising temperature overnight, or falling temperature during the day)\n" nullable: true probabilityOfPrecipitation: $ref: '#/components/schemas/QuantitativeValue' dewpoint: $ref: '#/components/schemas/QuantitativeValue' relativeHumidity: $ref: '#/components/schemas/QuantitativeValue' windSpeed: oneOf: - $ref: '#/components/schemas/QuantitativeValue' - type: string description: "Wind speed for the period.\nThis property as an string value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \"forecast_wind_speed_qv\" feature flag on the request.\n" windGust: oneOf: - $ref: '#/components/schemas/QuantitativeValue' - type: string description: "Peak wind gust for the period.\nThis property as an string value is deprecated. Future versions will express this value as a quantitative value object. To make use of the future standard format now, set the \"forecast_wind_speed_qv\" feature flag on the request.\n" nullable: true windDirection: enum: - 'N' - NNE - NE - ENE - E - ESE - SE - SSE - S - SSW - SW - WSW - W - WNW - NW - NNW type: string description: 'The prevailing direction of the wind for the period, using a 16-point compass.' icon: type: string description: 'A link to an icon representing the forecast summary.' format: uri deprecated: true shortForecast: type: string description: 'A brief textual forecast summary for the period.' detailedForecast: type: string description: 'A detailed textual forecast for the period.' description: "An object containing forecast information for a specific time period (generally 12-hour or 1-hour).\n" additionalProperties: false GridpointForecastUnits: enum: - us - si type: string description: 'Denotes the units used in the textual portions of the forecast.' default: us GridpointForecastGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/GridpointForecast' GridpointForecastJsonLd: allOf: - $ref: '#/components/schemas/GridpointForecast' - required: - '@context' - geometry type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' ISO8601Duration: pattern: '^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$' type: string description: 'A time duration in ISO 8601 format.' example: P2DT12H ISO8601Interval: oneOf: - pattern: '^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)\/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)$' type: string example: '2007-03-01T13:00:00Z/2008-05-11T15:30:00Z' - pattern: '^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)\/P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$' type: string example: '2007-03-01T13:00:00Z/P1Y2M10DT2H30M' - pattern: '^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?\/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)$' type: string example: 'P1Y2M10DT2H30M/2008-05-11T15:30:00Z' description: "A time interval in ISO 8601 format. This can be one of:\n\n 1. Start and end time\n 2. Start time and duration\n 3. Duration and end time\nThe string \"NOW\" can also be used in place of a start/end time.\n" JsonLdContext: anyOf: - type: array items: { } - type: object LandRegionCode: enum: - AR - CR - ER - PR - SR - WR type: string description: "Land region code. These correspond to the six NWS regional headquarters:\n* AR: Alaska Region\n* CR: Central Region\n* ER: Eastern Region\n* PR: Pacific Region\n* SR: Southern Region\n* WR: Western Region\n" MarineAreaCode: enum: - AM - AN - GM - LC - LE - LH - LM - LO - LS - PH - PK - PM - PS - PZ - SL type: string description: "Marine area code as defined in NWS Directive 10-302:\n* AM: Western North Atlantic Ocean and along U.S. East Coast south of Currituck Beach Light NC following the coastline into Gulf of Mexico to Ocean Reef FL including the Caribbean\n* AN: Western North Atlantic Ocean and along U.S. East Coast from Canadian border south to Currituck Beach Light NC\n* GM: Gulf of Mexico and along the U.S. Gulf Coast from the Mexican border to Ocean Reef FL\n* LC: Lake St. Clair\n* LE: Lake Erie\n* LH: Lake Huron\n* LM: Lake Michigan\n* LO: Lake Ontario\n* LS: Lake Superior\n* PH: Central Pacific Ocean including Hawaiian waters\n* PK: North Pacific Ocean near Alaska and along Alaska coastline including the Bering Sea and the Gulf of Alaska\n* PM: Western Pacific Ocean including Mariana Island waters\n* PS: South Central Pacific Ocean including American Samoa waters\n* PZ: Eastern North Pacific Ocean and along U.S. West Coast from Canadian border to Mexican border\n* SL: St. Lawrence River above St. Regis\n" MarineRegionCode: enum: - AL - AT - GL - GM - PA - PI type: string description: "Marine region code. These are groups of marine areas combined.\n* AL: Alaska waters (PK)\n* AT: Atlantic Ocean (AM, AN)\n* GL: Great Lakes (LC, LE, LH, LM, LO, LS, SL)\n* GM: Gulf of Mexico (GM)\n* PA: Eastern Pacific Ocean and U.S. West Coast (PZ)\n* PI: Central and Western Pacific (PH, PM, PS)\n" MetarPhenomenon: required: - intensity - modifier - weather - rawString type: object properties: intensity: enum: - light - heavy type: string nullable: true modifier: enum: - patches - blowing - low_drifting - freezing - shallow - partial - showers type: string nullable: true weather: enum: - fog_mist - dust_storm - dust - drizzle - funnel_cloud - fog - smoke - hail - snow_pellets - haze - ice_crystals - ice_pellets - dust_whirls - spray - rain - sand - snow_grains - snow - squalls - sand_storm - thunderstorms - unknown - volcanic_ash type: string rawString: type: string inVicinity: type: boolean description: 'An object representing a decoded METAR phenomenon string.' additionalProperties: false MetarSkyCoverage: enum: - OVC - BKN - SCT - FEW - SKC - CLR - VV type: string 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).' NWSForecastOfficeId: enum: - AKQ - ALY - BGM - BOX - BTV - BUF - CAE - CAR - CHS - CLE - CTP - GSP - GYX - ILM - ILN - LWX - MHX - OKX - PBZ - PHI - RAH - RLX - RNK - ABQ - AMA - BMX - BRO - CRP - EPZ - EWX - FFC - FWD - HGX - HUN - JAN - JAX - KEY - LCH - LIX - LUB - LZK - MAF - MEG - MFL - MLB - MOB - MRX - OHX - OUN - SHV - SJT - SJU - TAE - TBW - TSA - ABR - APX - ARX - BIS - BOU - CYS - DDC - DLH - DMX - DTX - DVN - EAX - FGF - FSD - GID - GJT - GLD - GRB - GRR - ICT - ILX - IND - IWX - JKL - LBF - LMK - LOT - LSX - MKX - MPX - MQT - OAX - PAH - PUB - RIW - SGF - TOP - UNR - BOI - BYZ - EKA - FGZ - GGW - HNX - LKN - LOX - MFR - MSO - MTR - OTX - PDT - PIH - PQR - PSR - REV - SEW - SGX - SLC - STO - TFX - TWC - VEF - AER - AFC - AFG - AJK - ALU - GUM - HPA - HFO - PPG - STU - NH1 - NH2 - ONA - ONP type: string description: 'Three-letter identifier for a NWS office.' NWSNationalHQId: enum: - NWS type: string description: 'Three-letter identifier for NWS National HQ.' NWSOfficeId: oneOf: - $ref: '#/components/schemas/NWSForecastOfficeId' - $ref: '#/components/schemas/NWSRegionalHQId' - $ref: '#/components/schemas/NWSNationalHQId' NWSRegionalHQId: enum: - ARH - CRH - ERH - PRH - SRH - WRH type: string description: 'Three-letter identifier for a NWS Regional HQ.' NWSZoneID: pattern: '^(A[KLMNRSZ]|C[AOT]|D[CE]|F[LM]|G[AMU]|I[ADLN]|K[SY]|L[ACEHMOS]|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[AHKMRSWZ]|S[CDL]|T[NX]|UT|V[AIT]|W[AIVY]|[HR]I)[CZ]\d{3}$' type: string description: "UGC identifier for a NWS forecast zone or county.\nThe first two letters will correspond to either a state code or marine area code (see #/components/schemas/StateTerritoryCode and #/components/schemas/MarineAreaCode for lists of valid letter combinations).\nThe third letter will be Z for public/fire zone or C for county.\n" NWSZoneType: enum: - land - marine - forecast - public - coastal - offshore - fire - county type: string Observation: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' '@id': type: string format: uri '@type': enum: - 'wx:ObservationStation' type: string elevation: $ref: '#/components/schemas/QuantitativeValue' station: type: string format: uri timestamp: type: string format: date-time rawMessage: type: string textDescription: type: string icon: type: string format: uri nullable: true deprecated: true presentWeather: type: array items: $ref: '#/components/schemas/MetarPhenomenon' temperature: $ref: '#/components/schemas/QuantitativeValue' dewpoint: $ref: '#/components/schemas/QuantitativeValue' windDirection: $ref: '#/components/schemas/QuantitativeValue' windSpeed: $ref: '#/components/schemas/QuantitativeValue' windGust: $ref: '#/components/schemas/QuantitativeValue' barometricPressure: $ref: '#/components/schemas/QuantitativeValue' seaLevelPressure: $ref: '#/components/schemas/QuantitativeValue' visibility: $ref: '#/components/schemas/QuantitativeValue' maxTemperatureLast24Hours: $ref: '#/components/schemas/QuantitativeValue' minTemperatureLast24Hours: $ref: '#/components/schemas/QuantitativeValue' precipitationLastHour: $ref: '#/components/schemas/QuantitativeValue' precipitationLast3Hours: $ref: '#/components/schemas/QuantitativeValue' precipitationLast6Hours: $ref: '#/components/schemas/QuantitativeValue' relativeHumidity: $ref: '#/components/schemas/QuantitativeValue' windChill: $ref: '#/components/schemas/QuantitativeValue' heatIndex: $ref: '#/components/schemas/QuantitativeValue' cloudLayers: type: array items: required: - base - amount type: object properties: base: $ref: '#/components/schemas/QuantitativeValue' amount: $ref: '#/components/schemas/MetarSkyCoverage' additionalProperties: false nullable: true additionalProperties: false ObservationGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Observation' ObservationJsonLd: $ref: '#/components/schemas/Observation' ObservationCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: type: object properties: properties: $ref: '#/components/schemas/Observation' ObservationCollectionJsonLd: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/Observation' additionalProperties: false ObservationStation: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' '@id': type: string format: uri '@type': enum: - 'wx:ObservationStation' type: string elevation: $ref: '#/components/schemas/QuantitativeValue' stationIdentifier: type: string name: type: string timeZone: type: string format: iana-time-zone-identifier forecast: type: string description: 'A link to the NWS public forecast zone containing this station.' format: uri county: type: string description: 'A link to the NWS county zone containing this station.' format: uri fireWeatherZone: type: string description: 'A link to the NWS fire weather forecast zone containing this station.' format: uri additionalProperties: false ObservationStationGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/ObservationStation' ObservationStationJsonLd: allOf: - $ref: '#/components/schemas/ObservationStation' - required: - '@context' - geometry type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' ObservationStationCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: type: object properties: properties: $ref: '#/components/schemas/ObservationStation' observationStations: type: array items: type: string format: uri pagination: $ref: '#/components/schemas/PaginationInfo' ObservationStationCollectionJsonLd: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/ObservationStation' observationStations: type: array items: type: string format: uri pagination: $ref: '#/components/schemas/PaginationInfo' additionalProperties: false 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 OfficeHeadline: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@id': type: string format: uri id: type: string office: type: string format: uri important: type: boolean issuanceTime: type: string format: date-time link: type: string format: uri name: type: string title: type: string summary: type: string nullable: true content: type: string OfficeHeadlineCollection: required: - '@context' - '@graph' type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/OfficeHeadline' additionalProperties: false PaginationInfo: required: - next type: object properties: next: type: string description: 'A link to the next page of records' format: uri description: 'Links for retrieving more data from paged data sets' additionalProperties: false Point: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' '@id': type: string format: uri '@type': enum: - 'wx:Point' type: string cwa: $ref: '#/components/schemas/NWSForecastOfficeId' forecastOffice: type: string format: uri gridId: $ref: '#/components/schemas/NWSForecastOfficeId' gridX: minimum: 0 type: integer gridY: minimum: 0 type: integer forecast: type: string format: uri forecastHourly: type: string format: uri forecastGridData: type: string format: uri observationStations: type: string format: uri relativeLocation: oneOf: - $ref: '#/components/schemas/RelativeLocationGeoJson' - $ref: '#/components/schemas/RelativeLocationJsonLd' forecastZone: type: string format: uri county: type: string format: uri fireWeatherZone: type: string format: uri timeZone: type: string radarStation: type: string PointGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Point' PointJsonLd: allOf: - $ref: '#/components/schemas/Point' - required: - '@context' - geometry type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' PointString: pattern: '^(-?\d+(?:\.\d+)?),(-?\d+(?:\.\d+)?)$' type: string 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.\n" format: uri default: 'about:blank' example: 'urn:noaa:nws:api:UnexpectedProblem' title: type: string description: 'A short, human-readable summary of the problem type.' example: '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.\n" example: 500 detail: type: string description: 'A human-readable explanation specific to this occurrence of the problem.' example: '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.\n" format: uri example: '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.\n" example: 493c3a1d-f87e-407f-ae2c-24483f5aab63 description: 'Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).' additionalProperties: true QuantitativeValue: type: object properties: value: type: number description: 'A measured value' nullable: true maxValue: type: number description: 'The maximum value of a range of measured values' minValue: type: number description: 'The minimum value of a range of measured values' unitCode: $ref: '#/components/schemas/UnitOfMeasure' qualityControl: enum: - Z - C - S - V - X - Q - G - B - T type: string description: "For values in observation records, the quality control flag from the MADIS system. The definitions of these flags can be found at https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml\n" description: "A structured value representing a measurement and its unit of measure. This object is a slighly modified version of the schema.org definition at https://schema.org/QuantitativeValue\n" additionalProperties: false RegionCode: oneOf: - $ref: '#/components/schemas/LandRegionCode' - $ref: '#/components/schemas/MarineRegionCode' RelativeLocation: type: object properties: city: type: string state: type: string distance: $ref: '#/components/schemas/QuantitativeValue' bearing: $ref: '#/components/schemas/QuantitativeValue' RelativeLocationGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/RelativeLocation' RelativeLocationJsonLd: allOf: - $ref: '#/components/schemas/RelativeLocation' - required: - geometry type: object properties: geometry: $ref: '#/components/schemas/GeometryString' 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 SigmetCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: $ref: '#/components/schemas/SigmetGeoJson' SigmetGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Sigmet' SigmetSequenceNumber: type: string StateTerritoryCode: enum: - AL - AK - AS - AR - AZ - CA - CO - CT - DE - DC - FL - GA - GU - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - PR - RI - SC - SD - TN - TX - UT - VT - VI - VA - WA - WV - WI - WY - MP - PW - FM - MH type: string 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 TextProductCollection: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/TextProduct' 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 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.' UnitOfMeasure: pattern: '^((wmo|uc|wmoUnit|nwsUnit):)?.*$' type: string description: "A string denoting a unit of measure, expressed in the format \"{unit}\" or \"{namespace}:{unit}\".\nUnits with the namespace \"wmo\" or \"wmoUnit\" are defined in the World Meteorological Organization Codes Registry at http://codes.wmo.int/common/unit and should be canonically resolvable to http://codes.wmo.int/common/unit/{unit}.\nUnits with the namespace \"nwsUnit\" are currently custom and do not align to any standard.\nUnits with no namespace or the namespace \"uc\" are compliant with the Unified Code for Units of Measure syntax defined at https://unitsofmeasure.org/. This also aligns with recent versions of the Geographic Markup Language (GML) standard, the IWXXM standard, and OGC Observations and Measurements v2.0 (ISO/DIS 19156).\nNamespaced units are considered deprecated. We will be aligning API to use the same standards as GML/IWXXM in the future.\n" Zone: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' '@id': type: string format: uri # Causes "invalid redeclaration of _type" '@type': enum: - 'wx:Zone' type: string id: $ref: '#/components/schemas/NWSZoneID' # Removed due to invalid redeclaration of _type # type: # $ref: '#/components/schemas/NWSZoneType' name: type: string effectiveDate: type: string format: date-time expirationDate: type: string format: date-time state: # Fix error: Error: Disallowed value for a string enum 'Components.Schemas.Zone.statePayload.Case2Payload (#/components/schemas/Zone/state/case2)': () $ref: '#/components/schemas/StateTerritoryCode' # oneOf: # - # $ref: '#/components/schemas/StateTerritoryCode' # - # enum: # - '' # type: string # nullable: true cwa: type: array items: $ref: '#/components/schemas/NWSForecastOfficeId' forecastOffices: type: array items: type: string format: uri timeZone: type: array items: type: string format: iana-time-zone-identifier observationStations: type: array items: type: string format: uri radarStation: type: string nullable: true additionalProperties: false ZoneGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/Zone' ZoneJsonLd: $ref: '#/components/schemas/Zone' ZoneCollectionGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeatureCollection' - type: object properties: features: type: array items: type: object properties: properties: $ref: '#/components/schemas/Zone' ZoneCollectionJsonLd: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' '@graph': type: array items: $ref: '#/components/schemas/Zone' additionalProperties: false ZoneForecast: type: object properties: '@context': $ref: '#/components/schemas/JsonLdContext' geometry: $ref: '#/components/schemas/GeometryString' zone: type: string description: 'An API link to the zone this forecast is for.' format: uri updated: type: string description: 'The time this zone forecast product was published.' format: date-time periods: type: array items: required: - number - name - detailedForecast type: object properties: number: type: integer description: 'A sequential identifier number.' name: type: string description: 'A textual description of the period.' example: 'This Afternoon' detailedForecast: type: string description: 'A detailed textual forecast for the period.' additionalProperties: false description: 'An array of forecast periods.' description: 'An object representing a zone area forecast.' additionalProperties: false ZoneForecastGeoJson: allOf: - $ref: '#/components/schemas/GeoJsonFeature' - type: object properties: properties: $ref: '#/components/schemas/ZoneForecast' ZoneForecastJsonLd: $ref: '#/components/schemas/ZoneForecast' responses: AlertCollection: description: 'A collection of alerts.' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/AlertCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/AlertCollectionJsonLd' application/atom+xml: schema: $ref: '#/components/schemas/AlertAtomFeed' x-url-content-negotiation-extensions: json: application/geo+json atom: application/atom+xml 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' GridpointForecast: description: 'A forecast for a gridpoint.' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/GridpointForecastGeoJson' application/ld+json: schema: $ref: '#/components/schemas/GridpointForecastJsonLd' application/vnd.noaa.dwml+xml: schema: { } Observation: description: 'An observation record.' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/ObservationGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ObservationJsonLd' application/vnd.noaa.uswx+xml: schema: { } application/vnd.noaa.obs+xml: schema: { } ObservationCollection: description: 'A collection of observation records.' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/ObservationCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ObservationCollectionJsonLd' ObservationStationCollection: description: 'A collection of observation stations.' headers: X-Correlation-Id: $ref: '#/components/headers/CorrelationId' X-Request-Id: $ref: '#/components/headers/RequestId' X-Server-Id: $ref: '#/components/headers/ServerId' content: application/geo+json: schema: $ref: '#/components/schemas/ObservationStationCollectionGeoJson' application/ld+json: schema: $ref: '#/components/schemas/ObservationStationCollectionJsonLd' parameters: AlertArea: name: area in: query description: "State/territory code or marine area code\nThis parameter is incompatible with the following parameters: point, region, region_type, zone\n" style: form explode: false schema: type: array items: $ref: '#/components/schemas/AreaCode' AlertCertainty: name: certainty in: query description: 'Certainty (observed, likely, possible, unlikely, unknown)' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AlertCertainty' AlertCode: name: code in: query description: 'Event code' style: form explode: false schema: type: array items: pattern: '^\w{3}$' type: string AlertEventName: name: event in: query description: 'Event name' style: form explode: false schema: type: array items: pattern: '^[A-Za-z0-9 ]+$' type: string AlertMessageType: name: message_type in: query description: 'Message type (alert, update, cancel)' style: form explode: false schema: type: array items: enum: - alert - update - cancel type: string AlertPoint: name: point in: query description: "Point (latitude,longitude)\nThis parameter is incompatible with the following parameters: area, region, region_type, zone\n" schema: $ref: '#/components/schemas/PointString' AlertRegion: name: region in: query description: "Marine region code\nThis parameter is incompatible with the following parameters: area, point, region_type, zone\n" style: form explode: false schema: type: array items: $ref: '#/components/schemas/MarineRegionCode' AlertRegionType: name: region_type in: query description: "Region type (land or marine)\nThis parameter is incompatible with the following parameters: area, point, region, zone\n" schema: enum: - land - marine type: string AlertSeverity: name: severity in: query description: 'Severity (extreme, severe, moderate, minor, unknown)' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AlertSeverity' AlertStatus: name: status in: query description: 'Status (actual, exercise, system, test, draft)' style: form explode: false schema: type: array items: enum: - actual - exercise - system - test - draft type: string AlertUrgency: name: urgency in: query description: 'Urgency (immediate, expected, future, past, unknown)' style: form explode: false schema: type: array items: $ref: '#/components/schemas/AlertUrgency' AlertZone: name: zone in: query description: "Zone ID (forecast or county)\nThis parameter is incompatible with the following parameters: area, point, region, region_type\n" style: form explode: false schema: type: array items: $ref: '#/components/schemas/NWSZoneID' ATSUIdentifier: name: atsu in: path description: 'ATSU identifier' required: true schema: $ref: '#/components/schemas/ATSUIdentifier' Date: name: date in: path description: 'Date (YYYY-MM-DD format)' required: true schema: $ref: '#/components/schemas/Date' GridpointForecastFeatureFlags: name: Feature-Flags in: header description: "Enable future and experimental features (see documentation for more info):\n* forecast_temperature_qv: Represent temperature as QuantitativeValue\n* forecast_wind_speed_qv: Represent wind speed as QuantitativeValue\n" required: false style: simple explode: false schema: type: array items: enum: - forecast_temperature_qv - forecast_wind_speed_qv type: string GridpointForecastUnits: name: units in: query description: 'Use US customary or SI (metric) units in textual output' schema: $ref: '#/components/schemas/GridpointForecastUnits' GridpointWFO: name: wfo in: path description: 'Forecast office ID' required: true schema: $ref: '#/components/schemas/NWSForecastOfficeId' GridpointX: name: x in: path description: 'Forecast grid X coordinate' required: true schema: minimum: 0 type: integer GridpointY: name: 'y' in: path description: 'Forecast grid Y coordinate' required: true schema: minimum: 0 type: integer Limit: name: limit in: query description: Limit schema: maximum: 500 minimum: 1 type: integer default: 500 NWSCenterWeatherServiceUnitId: name: cwsuId in: path description: 'NWS CWSU ID' required: true schema: $ref: '#/components/schemas/NWSCenterWeatherServiceUnitId' NWSOfficeId: name: officeId in: path description: 'NWS office ID' required: true schema: $ref: '#/components/schemas/NWSOfficeId' NWSZoneId: name: zoneId in: path description: 'NWS public zone/county identifier' required: true schema: $ref: '#/components/schemas/NWSZoneID' ObservationStationId: name: stationId in: path description: 'Observation station ID' required: true schema: type: string PaginationCursor: name: cursor in: query description: 'Pagination cursor' schema: type: string PathPoint: name: point in: path description: 'Point (latitude, longitude)' required: true schema: $ref: '#/components/schemas/PointString' QueryDate: name: date in: query description: 'Date (YYYY-MM-DD format)' schema: $ref: '#/components/schemas/Date' QueryStartTime: name: start in: query description: 'Start time' schema: type: string format: date-time QueryEndTime: name: end in: query description: 'End time' schema: type: string format: date-time SigmetSequenceNumber: name: sequence in: path description: 'SIGMET sequence number' required: true schema: $ref: '#/components/schemas/SigmetSequenceNumber' 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' 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.\n" 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.\n" 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.\n" schema: type: string securitySchemes: userAgent: type: apiKey description: "We require that all consumers of the API include a User-Agent header in requests. This is due to a high number of scripts exhibiting abusive behavior (intentional or unintentional). We recommend setting the value to something that identifies your application and includes a contact email. This will help us contact you if we notice unusual behavior and also aid in troubleshooting issues.\nThe API remains open and free to use and there are no limits imposed based on the User-Agent string.\nThis mechanism will be replaced with a more typical API key system at a later date.\n" name: User-Agent in: header security: - userAgent: [] externalDocs: description: 'Full API documentation' url: 'https://www.weather.gov/documentation/services-web-api'