# Introduction

Documentation for DisasterAWARE Enterprise V2 API

This documentation outlines the specifications for the DisasterAWARE Enterprise V2 API. Please note that the response structure of certain endpoints is subject to potential modifications in the future as we refine and enhance functionality to better meet user needs. Users are encouraged to review this documentation periodically to stay informed of any updates.

### Active Hazards Endpoint Limitations

The V2 API is based on, and delivering hazards reported by the new hazard identification system, known as **RICHTER**. Hazards delivered via the V1 API, lack several fields such as `incident`, `alertGeometry`, `features`, and `exposureAssessment` which required additional API calls, or were not available at all.

The V2 API was explicitly designed to reduce the number of API calls required to pull all hazard information.

The V2 API is nearing completion, with only a few hazards remaining to be implemented. You are more than welcome to use the V2 API for prototypes and proof of concepts, but do not deploy in production until we declare this API is complete.

As we complete the development, we might make additional changes to the structure of the data to make is more usable, and remove an extraneous information not relevant.

Please contact <support@disasteraware.com> if you have any questions regarding our API's.

### OpenAPI Specification

{% file src="/files/wYQaKpPZEdPb68ZWOF6w" %}
Download OpenAPI Specification
{% endfile %}


# Authorizing Requests

When sending requests to the API endpoints, the request includes a header that contains an authorization code. The authorization code is acquired by sending a request to DisasterAWARE Enterprise API Authorization endpoint.

Please note, authorization tokens are valid for 15 mins, at which time you will need to request a new authorization token. The tokens are standard JWT tokens, therefore you can decode the token to review the expiration (exp) value. You can paste your token into <https://jwt.io> to inspect the token details.

### Authorization API <a href="#get-accesstoken-and-refreshtoken" id="get-accesstoken-and-refreshtoken"></a>

| URL        | HTTP Verb | Functionality                                                            |
| ---------- | --------- | ------------------------------------------------------------------------ |
| /authorize | POST      | Login with posting credentials to get access and refresh JSON Web Tokens |

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/authorize" method="post" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="warning" %}
Please use the provided credentials to complete this request. The response will include a JSON Web Token (JWT) that you will send with the Authorization request header in the following format:

```
{
    "Authorization": "Bearer <insert-json-web-token>"
}
```

For more information about JWT please visit [jwt.io](https://jwt.io/)
{% endhint %}


# What are Global Active Hazards?

A hazard is an incident, e.g., earthquake, volcano, tornado, etc., that has reached a threshold where it has become a significant danger to life and property. DisasterAWARE Enterprise API provides global hazard information. Hazard as a data object has three primary definitions:

| Properties   | Definitions                                                                                                                                                                                                                                                                                                                                                               |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Type**     | This property defines what kind of hazard it is. Examples of hazard types include Earthquakes, Wildfires, Tropical Storms, etc. Each hazard type has a set of associated data layers that help put the hazard into context. For example, the United States Geological Society’s ShakeMap helps both users and automated processes understand the impact of an earthquake. |
| **Severity** | This value represents how dangerous is the hazard. In order of least to most severe the possible values are TERMINATION, INFORMATION, ADVISORY, WATCH, and WARNING.                                                                                                                                                                                                       |
| **Category** | Typically an ongoing hazard is an event. However, if the threat requires a significant response after the initial impact, the category can be switch to a RESPONSE. The possible values for the hazard category are EVENT, EXERCISE, OTHER, and RESPONSE.                                                                                                                 |

{% hint style="info" %}
When viewing a hazard in the DisasterAWARE application the symbol associated with a hazard will be a composite of these three values. The icon in the center of the symbol is the hazard type. The type of geometry around the icon indicates its category. For example, events are symbolized by circles. This is commonly referred to as the "halo".The color of the "halo" indicates its severity. For example, WARNING level hazards have a red color "halo" to indicate they are the most urgent.
{% endhint %}


# Requesting Active Hazards

To request the list of current active hazards please use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/active-hazards-query" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

## Query Examples

Every parameter is optional. With none, the endpoint returns every active hazard. The call pattern is always the same — `-L` follows the `302` to the pre-signed S3 URL, and `gunzip` decompresses the NDJSON body:

```bash
curl -sL -H "Authorization: Bearer $TOKEN" \
  'https://api-v2.disasteraware.com/active-hazards-query?type=EARTHQUAKE' | gunzip
```

Two rules cover the whole syntax:

* **Different parameters are combined with AND.** `?type=FLOOD&severity=WARNING` returns floods that are also WARNING severity.
* **Multiple values within one parameter are comma-separated and combined with OR.** `?type=EARTHQUAKE,FLOOD` returns earthquakes and floods.

Values containing spaces must be URL-encoded — `United%20States`, or `+`. Always single-quote the URL in `curl` so the shell does not eat the `&` characters.

The counts below were run against the production API on 2026-09-18 and will have changed since.

### Filter on one parameter

```
?type=EARTHQUAKE
```

Returned 6 records. Type values come from [Requesting Hazard Types](/hazards/requesting-active-hazards/requesting-hazard-types).

### Several values for one parameter

```
?type=EARTHQUAKE,FLOOD,WILDFIRE
```

Returned 599 records — every hazard matching any of the three types. Values are matched case-insensitively and whitespace after the commas is tolerated, but responses always carry the canonical uppercase form.

### Combining two parameters

```
?type=CYCLONE,FLOOD&severity=WARNING
```

Returned 17 records: cyclones and floods, restricted to WARNING severity.

```
FLOOD   | WARNING | Floods - Northwest Colombia
FLOOD   | WARNING | Flood - W of Kosti, White Nile, Sudan
CYCLONE | WARNING | Tropical Cyclone Lowell (Response Support)
```

Severity values come from [Requesting Hazard Severities](/hazards/requesting-active-hazards/requesting-hazard-severities); `severity=WARNING,WATCH` widens it to both.

### Bounding box

Use `latitude` and `longitude` together, each given as a `min,max` range — the two together describe the box:

```
?type=WILDFIRE&latitude=32.0,42.0&longitude=-125.0,-114.0
```

Returned 7 records, all within California and Nevada:

```
WILDFIRE WARNING  36.216 -121.718  Wildfire - Timber, California, United States
WILDFIRE WARNING  41.518 -117.742  Wildfire - McConnell, Nevada, United States
WILDFIRE ADVISORY 39.394 -120.025  Wildfire - Floriston, California, United States
```

The filter tests the hazard's own `latitude`/`longitude` — its representative point, not its footprint. A hazard whose exposure areas reach into the box but whose centre lies outside it will not match.

### Country and severity

```
?country=United%20States&severity=WARNING,WATCH
```

Returned 79 records. `country` requires the **full country name** — `United States`, not `US` or `USA` — and accepts a comma-separated list, for example `country=United%20States,Japan`.

### Time window

```
?type=EARTHQUAKE,VOLCANO&started_at=2026-09-01%2000:00:00
```

Returned 8 of the 17 active earthquakes and volcanoes — those that began on or after 1 September. Timestamps use the format `YYYY-MM-DD HH:MM:SS` in UTC, and the space must be encoded as `%20` or `+`. `ended_at`, `created_at` and `updated_at` take the same format.

### Specific hazards by uuid

```
?uuid=f4de0480-7692-4d89-87f1-cef00274f1c0,c87085cd-03f8-4018-b109-c8f6492fbf11
```

Returned those 2 records. This is the way to refresh a set of hazards you are already tracking in one call. For a single hazard, [`/hazards/{uuid}`](/hazards/requesting-a-hazard) is more direct.

### Unknown parameters are rejected

A misspelled or unsupported parameter returns `400` with the full list of what the endpoint accepts, so the error itself is a reference:

```json
{"error": "Query validation failed", "details": [{"parameter": "serverity", "value": "WARNING", "error": "Unknown parameter", "allowed_parameters": ["category", "comment", "country", "created_at", "ended_at", "latitude", "longitude", "name", "severity", "started_at", "type", "updated_at", "uuid"]}]}
```

## Response Format

The API returns data as **gzipped NDJSON** (newline-delimited JSON) for optimal performance. When decompressed, each line contains a complete hazard object in JSON format.

Each hazard object includes enriched data with detailed incident information, geographic features, exposure assessments, and related metadata.

## Response Fields

| Field                  | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **uuid**               | String      | A unique universal identifier for the hazard across all DisasterAWARE systems.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **name**               | Array       | An array of objects, each defining the hazard name in a specific locale formatted according to RFC 5646 (e.g., "en" for US English). Each object contains `locale` and `value` keys. Currently, names are provided only in US English.                                                                                                                                                                                                                                                                                         |
| **description**        | Array       | An array of objects providing localized descriptions of the hazard. These descriptions detail the areas affected by the hazard, as well as an assessment of the populations and infrastructure at risk. Each object contains `locale` (RFC 5646 format) and `value` keys.                                                                                                                                                                                                                                                      |
| **severity**           | String      | Indicates the likelihood of the hazard impacting populated areas. This property helps assess the potential risk to human settlements, aiding in preparation and response efforts. Values include TERMINATION, INFORMATION, ADVISORY, WATCH, and WARNING. See [Requesting Hazard Severities](/hazards/requesting-active-hazards/requesting-hazard-severities) for complete reference.                                                                                                                                           |
| **category**           | String      | The category classification of the hazard (e.g., EVENT, RESPONSE, EXERCISE, OTHER). See [Requesting Hazard Categories](/hazards/requesting-active-hazards/requesting-hazard-categories) for complete reference.                                                                                                                                                                                                                                                                                                                |
| **type**               | String      | Specifies the phenomenon that caused the hazard, such as EARTHQUAKE, CYCLONE, VOLCANO, FLOOD, WILDFIRE, TSUNAMI, or TORNADO. This property is essential for understanding the hazard's nature and planning appropriate response strategies. See [Requesting Hazard Types](/hazards/requesting-active-hazards/requesting-hazard-types) for complete reference.                                                                                                                                                                  |
| **comment**            | String/Null | Optional comment or additional information about the hazard. Currently not populated; reserved for future use.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **createdAt**          | Integer     | Unix timestamp (seconds since epoch) indicating when the hazard object was initialized and first logged in the system. Provides a reference point for tracking the timeline of the hazard's identification.                                                                                                                                                                                                                                                                                                                    |
| **startedAt**          | Integer     | Unix timestamp recording when the event underlying the hazard began. This can include future dates for forecasted hazards (e.g., an anticipated flood), valuable for preparedness and preemptive measures.                                                                                                                                                                                                                                                                                                                     |
| **updatedAt**          | Integer     | Unix timestamp capturing the last time information within the hazard object was updated. Essential for tracking changes as the hazard may increase/decrease in intensity or move locations. Regular updates ensure current and reliable data.                                                                                                                                                                                                                                                                                  |
| **endedAt**            | Integer     | Unix timestamp specifying when the event ceased to be hazardous. Can be a future date based on forecasts/predictions. The value may change as new information becomes available, providing updated insights into the hazard's duration.                                                                                                                                                                                                                                                                                        |
| **latitude**           | Float       | Geographic latitude coordinate (WGS84 projection). The significance varies by hazard type: may represent an earthquake epicenter, the last observed location of a cyclone, or the weighted center of wildfire perimeters.                                                                                                                                                                                                                                                                                                      |
| **longitude**          | Float       | Geographic longitude coordinate (WGS84 projection). The significance varies by hazard type: may represent an earthquake epicenter, the last observed location of a cyclone, or the weighted center of wildfire perimeters.                                                                                                                                                                                                                                                                                                     |
| **version**            | Integer     | Tracks the number of updates made to the hazard object, serving as a version counter that increments with each modification (intensity changes, movement, or other attribute updates). Maintains a clear record of how the hazard has evolved.                                                                                                                                                                                                                                                                                 |
| **creator**            | String      | Identifies the system or person responsible for reporting the hazard. "RICHTER" indicates the new hazard identification system, "D2P2" indicates the legacy system, or a username for manually created hazards by the monitoring team. Crucial for tracking the source and ensuring accountability.                                                                                                                                                                                                                            |
| **relatedHazards**     | Array       | A placeholder for future use. Currently returns an empty array. Once implemented, will contain UUIDs of related hazards (e.g., earthquake that triggered a tsunami, tornadoes associated with a cyclone). Will enhance comprehensiveness by illustrating connections between events for holistic risk assessments.                                                                                                                                                                                                             |
| **incident**           | Object      | Details the event classified as hazardous. Contains: **uuid** (unique identifier), **sourceRecordId** (identifier from reporting agency like USGS or NHC), **type** (phenomenon type), and **properties** (dictionary of key/value pairs describing specific attributes that vary by phenomenon, such as epicenter location and magnitude for earthquakes).                                                                                                                                                                    |
| **source**             | Object/Null | Identifies the authoritative agency responsible for reporting the hazard. Includes: **id** (source ID in the system), **name** (agency name), **longName** (full agency name), and **description** (agency scope and expertise). Not all hazards have a source populated. When absent, this field is null. Source is fully populated for hazards from known agencies (e.g., USGS for earthquakes, VAAC for volcanoes, AI for Humanity for geopolitical events). Source population is being expanded to cover all hazard types. |
| **alertGeometry**      | Object      | A GeoJSON FeatureCollection delineating an area for notification purposes. Designed to intersect with user areas of interest for early-warning notifications (subject to user filtering settings). Intentionally larger than the actual impact area to inform nearby assets and individuals, allowing proactive decisions like altering travel plans.                                                                                                                                                                          |
| **features**           | Object      | A GeoJSON FeatureCollection representing geographic features associated with the hazard (not included for all hazard types). When present, provides detailed geographical information specific to the hazard, such as the track of a tropical cyclone. Crucial for visualizing movement or extent over time.                                                                                                                                                                                                                   |
| **exposureAreas**      | Object      | A GeoJSON FeatureCollection with polygons defining areas exposed to the hazard, categorized by severity level: **1** = moderate severity, **2** = strong severity, **3** = severe. Allows for nuanced understanding of potential effects across different regions, helping authorities and residents prepare based on graded risk levels. Note: These severity levels differ from the hazard's overall `severity` property.                                                                                                    |
| **exposureAssessment** | Object      | A comprehensive report utilizing exposureAreas geometry to estimate affected populations. Provides detailed breakdown by region and exposure severity, including population estimates segmented by age group and vulnerability status. Details critical infrastructure (hospitals, airports, etc.), highlighting potential impact on essential services. Includes humanitarian needs estimates with specific units (CAL for food, liters for water, 100-liter units for waste, square meters for shelter).                     |

## Field Details

### Timestamps

All timestamp fields (`createdAt`, `updatedAt`, `startedAt`, `endedAt`) are Unix timestamps representing seconds since January 1, 1970 UTC.

**Important Notes:**

* `startedAt` and `endedAt` can include future dates for forecasted hazards
* `updatedAt` changes as hazards evolve (intensity, movement, etc.)
* Future date values may change as new forecasts become available

### Geographic Data

* `latitude` and `longitude` use the WGS84 coordinate system (EPSG:4326)
* The meaning of coordinates varies by hazard type:
  * **Earthquakes**: Epicenter location
  * **Tropical Cyclones**: Last observed position
  * **Wildfires**: Weighted center of perimeter polygons
* Geographic feature collections (`alertGeometry`, `features`, `exposureAreas`) follow the GeoJSON specification

### Incident Object

The `incident` property contains event-specific details that vary by hazard type:

* **uuid**: Unique identifier for the incident
* **sourceRecordId**: ID from the reporting agency (e.g., USGS event ID, NHC advisory number)
* **type**: The phenomenon type (matches the hazard's `type` field)
* **sourceId**: Numeric identifier for the data source
* **properties**: A dictionary of hazard-specific attributes (e.g., magnitude and depth for earthquakes, wind speed and pressure for cyclones)

### Source Identifiers

{% hint style="warning" %}
**A `sourceId` identifies an ingest pipeline, not a provider.** Several pipelines are generic and carry many agencies. `1787` is the Common Alerting Protocol feed and carried 23 different national meteorological agencies in the hazards active on 2026-09-22 — China, Greece, Spain, Germany and others. `1801` is the U.S. National Weather Service pipeline and carried 17 distinct local forecast offices in the same snapshot.

Mapping a `sourceId` straight to an agency name will therefore attribute records to the wrong organisation. Read the provider from the record itself.
{% endhint %}

#### Identifying the provider

Take the first of these that is present:

1. **`source`** — the top-level source object, with `id`, `name`, `longName`, `description` and usually a `url` and `logo`. This is the authoritative attribution when it is populated, but it is `null` on many automated feeds.
2. **`incident.properties.senderName`** — the issuing agency or office, for anything ingested from an alerting feed. Usually paired with `sender`, the agency's contact address or site.
3. **`incident.properties.sourceName`** — used by the news-derived pipeline, where it holds the outlet, and by some official feeds, where it holds a short agency name alongside the longer `senderName`.

#### Pipelines

The table describes the pipelines publishing into the active hazard feed. Counts are the hazards active on 2026-09-22 and move constantly; they are given to show relative volume, not as a quota.

| `sourceId`                            | Pipeline                                              | Hazard types                                              | How the provider is named                                                                                                                                                                                        |
| ------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **3**                                 | USGS earthquake pipeline                              | EARTHQUAKE                                                | `source` — "USGS Earthquakes", National Earthquake Information Center                                                                                                                                            |
| **21**                                | NOAA Pacific Tsunami Warning Center                   | TSUNAMI                                                   | `source`                                                                                                                                                                                                         |
| **24**                                | NOAA National Tsunami Warning Center                  | TSUNAMI                                                   | `source`                                                                                                                                                                                                         |
| **131, 132, 133, 134, 136, 137, 139** | Volcanic Ash Advisory Centres, one id per centre      | VOLCANO                                                   | `source` — Buenos Aires, Anchorage, Washington, Darwin, Tokyo, Wellington and Toulouse VAAC respectively. The remaining centres have their own ids. See [Volcano Sample](/hazards/hazard-samples/volcano-sample) |
| **1786**                              | U.S. Drought Monitor                                  | DROUGHT                                                   | `senderName` — National Drought Mitigation Center                                                                                                                                                                |
| **1787**                              | Common Alerting Protocol feed, many national agencies | STORM, SEVEREWEATHER, EXTREMETEMPERATURE, FLOOD, HIGHWIND | `senderName` — **varies per record**                                                                                                                                                                             |
| **1794**                              | Mekong River Commission                               | FLOOD                                                     | Station and basin names in `incident.properties`                                                                                                                                                                 |
| **1796**                              | ASEAN Disaster Information Network                    | FLOOD, DROUGHT, STORM                                     | `source` — "ADINet"                                                                                                                                                                                              |
| **1799**                              | Australian Bureau of Meteorology                      | HIGHWIND, FLOOD, SEVEREWEATHER, EXTREMETEMPERATURE        | `senderName` — Australian Government Bureau of Meteorology                                                                                                                                                       |
| **1800**                              | Environment Canada                                    | STORM, SEVEREWEATHER, EXTREMETEMPERATURE, HIGHWIND        | `senderName` — Environment Canada                                                                                                                                                                                |
| **1801**                              | U.S. National Weather Service                         | STORM, FLOOD, MARINE, HIGHWIND, HIGHSURF                  | `senderName` — **varies per record**, the issuing local office                                                                                                                                                   |
| **2000**                              | News and open-source analysis                         | COMBAT, ACCIDENT, TERRORISM, ACTIVESHOOTER                | `source` — "AI for Humanity"; `sourceName` carries the outlet                                                                                                                                                    |
| **2001**                              | PDC satellite detection pipeline                      | WILDFIRE                                                  | Not named on the record; see [Wildfire Sample](/hazards/hazard-samples/wildfire-sample)                                                                                                                          |
| **2002**                              | National Interagency Fire Center                      | WILDFIRE                                                  | `senderName`, `sourceName` — NIFC                                                                                                                                                                                |
| **2003**                              | Canadian Wildland Fire Information System             | WILDFIRE                                                  | `senderName`, `sourceName` — Natural Resources Canada                                                                                                                                                            |
| **2004**                              | Geoscience Australia National Bushfire Extents        | WILDFIRE                                                  | `senderName`, `sourceName` — Geoscience Australia                                                                                                                                                                |
| **3000**                              | Analyst-entered hazards                               | Any type                                                  | `source` — "MANUAL", Manual PDC Hazard                                                                                                                                                                           |

Cyclone hazards are ingested per warning centre, and the centre is named in `incident.properties.source` — `cyclone_nhc` for the National Hurricane Center, `cyclone_cphc` for the Central Pacific Hurricane Center, and `cyclone_jtwc` for the Joint Typhoon Warning Center.

### Incident Property Variants

The contents of `incident.properties` depend on the **source** of the hazard, not only on its type. Two records of the same type can carry different property sets. There are two broad families:

**Source-native properties.** Hazards ingested from an authoritative feed carry that feed's fields: USGS parameters for earthquakes, advisory fields for cyclones, CAP alert fields (`senderName`, `headline`, `urgency`, `severity`, `certainty`, `effective`, `expires`) for weather warnings, and so on. These are what the [hazard sample pages](/hazards/hazard-samples/earthquake-sample) document for each type.

**The generic PDC incident envelope.** Hazards that are curated or entered manually by PDC analysts — of **any** type — use one common property set instead. It is the shape you will see on the [Biomedical](/hazards/hazard-samples/biomedical-sample) and [Man-made](/hazards/hazard-samples/manmade-sample) samples, and it also appears on analyst-curated earthquakes, cyclones, floods, severe weather, extreme temperature, and storm records:

```
Incident_Type, action, casualties, category, charterUri, comment, createDate, description,
endDate, event, eventDate, eventTime, expires, featureType, glideUri, hazard, hazardCategory,
hazardDescription, hazardName, hazardSeverity, hazardUUID, incidentLatitude, incidentLongitude,
incidentType, locationDescription, masterIncidentId, name, overrideDescription, overrideStartedAt,
rawMessage, reportDate, roles, severity, sncUrl, sourceId, sourceName, sourceRecordId,
sourceResourceLocations, sourceUpdatedAt, sourceUrl, status, type
```

Within the envelope, `casualties` is a JSON string of the form `{"killed": {"total": n}, "injured": {"total": n}}` (or the string `"null"`), `hazard` is a JSON string carrying the hazard's `uuid` and `severity`, and `sourceName` is `"PDC Manual Hazard"` for analyst-entered records.

{% hint style="info" %}
Do not assume a fixed property set for a type. Read `incident.sourceId` and `incident.properties.sourceName` to identify the source, then interpret the properties accordingly. Code that requires a source-native field should treat its absence as "this record came from a different source", not as an error.
{% endhint %}

### Source Object

The `source` property identifies the authoritative reporting agency:

* **id**: Numeric identifier in the DisasterAWARE system
* **name**: Short agency name (e.g., "USGS", "NHC")
* **longName**: Full official agency name
* **description**: Details about the agency's scope, expertise, and geographic coverage

This is particularly relevant when multiple agencies report on the same hazard type (e.g., different cyclone warning centers covering specific ocean basins).

`source` is **nullable**. It is populated for hazards from known agencies and for manually curated records, but is `null` on many automated feeds; when it is null, identify the provider from `incident.properties.senderName` or `sourceName`. Note that `incident.sourceId` identifies the ingest pipeline rather than the agency, and several pipelines carry many agencies — see [Source Identifiers](#source-identifiers).

### Feature Collection Structure

`features`, `exposureAreas`, and `alertGeometry` are GeoJSON FeatureCollections, but the live payloads carry more than the minimal `type` and `features` keys. Two things to expect:

**Collection-level and per-feature provenance.** The `features` and `exposureAreas` collections carry `metadata`, `incidentType`, and `sourceId` at collection level, and individual features may carry `incidentType` and `sourceId` too. These are frequently `null`; when populated, `incidentType` describes the hazard type (`id`, `name`, and which property keys hold the title and timestamps) and `sourceId` is the full provider object.

**Properties duplicated inside `geometry`.** Each feature's `geometry` object contains, in addition to `type` and `coordinates`, a `properties` object that repeats the feature's own `properties` — including `name`, `description`, `severity`, `featureType`, `hazard` (`uuid` and `severity`), timing fields (`createDate`, `eventDate`, `reportDate`, `endDate`), `locationDescription`, `category`, `hazardCategory`, `incidentType`, `sourceId`, and reference fields (`sncUrl`, `glideUri`, `charterUri`, `comment`, `overrideDescription`, `overrideStartedAt`). This is a serialisation artefact, not additional data: read the feature-level `properties` and ignore `geometry.properties`. Standard GeoJSON parsers tolerate the extra member.

`features` is **nullable**: it is `null` on hazard types whose source provides no geometry beyond the alert boundary (for example satellite-detected wildfires and most high wind records). `alertGeometry` is always present.

### Alert Geometry

The `alertGeometry` GeoJSON defines the notification boundary:

* Intentionally larger than the actual impact area
* Used to trigger alerts for users with intersecting areas of interest
* Allows people near (but not directly in) the hazard zone to make proactive decisions
* Subject to additional user-defined filtering preferences
* Feature properties are currently empty (`{}` or `null`). The geometry alone defines the notification boundary.

### Features

The `features` GeoJSON is not included for all hazard types. When present, it contains geographic features specific to the hazard's source data. The structure and properties vary by hazard type:

* **Cyclones**: Storm track segments (observed and forecast paths), forecast cones (72hr/120hr), position points with detailed meteorological data, and wind radii polygons (34kt, 50kt, 64kt thresholds). See [Cyclone Sample](/hazards/hazard-samples/cyclone-sample).
* **Floods**: Watershed severity points and flood incident area polygons from the NASA Global Flood Model. Properties include `featureType` ("INCIDENT" or "WATERSHED"), `pfafId` (Pfafstetter basin ID), risk scores (`rfrScore`, `cfrScore`), GloFAS return period flags, DFO/VIIRS satellite observation scores, and `exposureLevel`.
* **Volcanoes**: Volcanic Ash Advisory polygons from VAAC sources with forecast time steps (0hr, 6hr, 12hr, 18hr). Properties include `featureType` ("ASH\_CLOUD", "SMART\_ALERT", or "INCIDENT"), advisory details, ash cloud observations, eruption information, and summit elevation.
* **Landslides**: Landslide incident polygons. Properties include `featureType` ("INCIDENT"), `senderName`, risk scores, and exposure levels.
* **Geopolitical (COMBAT, TERRORISM, ACCIDENT, CIVILUNREST)**: Smart Alert area and exposure area features. Properties include `featureType` ("SMART\_ALERT" or "EXPOSURE\_AREA"), casualty data, and incident details.
* **Weather (WINTERSTORM, SEVEREWEATHER, HIGHWIND, HIGHSURF, TORNADO, STORM, EXTREMETEMPERATURE)**: CAP (Common Alerting Protocol) info features with source-provided alert polygons. Properties include `featureType` ("CAP\_INFO"), `senderName`, `headline`, `urgency`, `severity`, `certainty`, and alert timing fields.

Note: The `features` property may be `null` or contain an empty features array for some hazard types (e.g., earthquakes prior to ShakeMap availability, wildfires).

### Exposure Areas

The `exposureAreas` GeoJSON contains polygons categorized by severity level. The number of levels and their meaning vary by hazard type:

**3-Level Exposure (levels 1, 2, 3):**

| Type                                                        | Level 1 (Limited)              | Level 2 (Moderate)           | Level 3 (Severe)            |
| ----------------------------------------------------------- | ------------------------------ | ---------------------------- | --------------------------- |
| **Earthquake** (before ShakeMap)                            | 30-100km buffer                | 10-30km buffer               | 0-10km buffer               |
| **Earthquake** (with ShakeMap)                              | Moderate-Strong shaking (V-VI) | Very Strong shaking (VII)    | Severe shaking (VIII+)      |
| **Cyclone**                                                 | Minor damage / power out       | Moderate damage (\~5% value) | Widespread damage and above |
| **Wildfire**                                                | Outer buffer zone              | Moderate proximity zone      | Active fire perimeter area  |
| **Geopolitical** (ACCIDENT, CIVILUNREST, COMBAT, TERRORISM) | 30-100km buffer                | 10-30km buffer               | 0-10km buffer               |

**Single-Level Exposure (level 1 only):**

| Type                                                                                                   | Exposure Area Description                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Flood**                                                                                              | Combined water basins at Watch or Warning severity                                                                                                                      |
| **Landslide**                                                                                          | Combined landslide polygons at Watch or Warning severity                                                                                                                |
| **Volcano**                                                                                            | PDC Volcano Hazard Zone (10km buffer fallback)                                                                                                                          |
| **Avalanche**                                                                                          | 10km buffer around reported area                                                                                                                                        |
| **Weather types** (WINTERSTORM, TORNADO, SEVEREWEATHER, HIGHWIND, HIGHSURF, STORM, EXTREMETEMPERATURE) | Source-provided alert area (NWS, Environment Canada, BoM) or SmartAlert Area                                                                                            |
| **Marine**                                                                                             | Source-provided marine zones; up to two levels (0 LIMITED, 1 MODERATE). See [Marine Sample](/hazards/hazard-samples/marine-sample).                                     |
| **Tsunami**                                                                                            | Level 0 "Tsunami Exposure Area": the coastal segments within the warning center's area of responsibility. See [Tsunami Sample](/hazards/hazard-samples/tsunami-sample). |
| **Analyst-curated types** (BIOMEDICAL, MANMADE)                                                        | Level 0 polygon drawn around the affected region. See [Biomedical Sample](/hazards/hazard-samples/biomedical-sample).                                                   |

**4-Level Exposure (levels 0–3):**

| Type        | Exposure Area Description                                                                                                                                                 |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Drought** | One level per U.S. Drought Monitor intensity class: 0 Limited to No Damage, 1 Moderate, 2 Strong, 3 Severe. See [Drought Sample](/hazards/hazard-samples/drought-sample). |

**No Exposure:** CYBER has no exposure areas.

**Note:** These exposure severity levels are distinct from the hazard's overall `severity` property (which indicates likelihood of impact on populated areas).

### Exposure Assessment

The `exposureAssessment` object provides critical humanitarian planning data with the following structure:

**Population Breakdown (`population`):** The `population` field is an object containing demographic estimates for the affected area:

* **total**: Total estimated population within all affected areas
* **total0\_14**: Estimated population aged 0-14
* **total15\_64**: Estimated population aged 15-64
* **total65\_Plus**: Estimated population aged 65 and over
* **households**: Estimated number of households
* **vulnerable**: Estimated vulnerable population

**Capital/Infrastructure Breakdown (`capital`):** The `capital` field is an object containing infrastructure exposure data:

* **total**: Total estimated capital/infrastructure value at risk (USD)
* **school**: Number of schools exposed (when non-zero)
* **hospital**: Number of hospitals exposed (when non-zero)

**Humanitarian Needs:**

* **foodNeeds** / **foodNeedsUnit**: Food requirements (units: MRE - Meals Ready to Eat, or CAL - calories)
* **waterNeeds** / **waterNeedsUnit**: Water requirements (units: gal - US gallons, or liter)
* **wasteNeeds** / **wasteNeedsUnit**: Waste management needs (units: 25 gal - 25-gallon units, or 100 liter)
* **shelterNeeds** / **shelterNeedsUnit**: Shelter space requirements (units: sq feet, or sq meters)

**Note:** Units may vary by country within the same hazard. Check the `*Unit` fields for each entry rather than assuming a single unit system.

**Geographic Breakdowns:**

* **totalByCountry**: Array of objects providing exposure totals broken down by country. Each entry includes `population` (object), `capital` (object), humanitarian needs, `country` (ISO 3166-1 alpha-3 code), and `admin0` (country name).
* **totalByAdmin**: Array of objects with the same structure as `totalByCountry`, broken down by administrative region. Includes `admin0` (country), `admin1` (province/state), and `admin2` (municipality/district) when available.

**Exposure Levels Array (`exposureLevels`):** Breakdown by severity level. Each level contains the same `population`, `capital`, humanitarian needs, `totalByCountry`, and `totalByAdmin` structure as the top level:

* **level**: "1" (moderate), "2" (strong), or "3" (severe)
* **exposureDescription**: Human-readable description of the exposure zone (varies by hazard type)
* **data**: Object containing all exposure metrics for that specific level

**Note:** The `hazardUuid`, `hazardType`, `version`, and `exposureDescription` fields at the top level of `exposureAssessment` may be empty strings in the current implementation and are reserved for internal use. The `level` field within `exposureLevels` is returned as a String (e.g., `"1"`, `"2"`, `"3"`), not an Integer.


# Requesting Hazard Types

To request the list of hazard types configured in the system please use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/hazards/types" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

This request will return an array that contains all of the hazard types. Each element in the array will have three properties:

| Properties     | Definitions                                                                                                                                                                                                                                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **type\_id**   | This is like the primary key for the hazard type. This is the value that will be found on the hazard object.                                                                                                                                                                                                         |
| **type\_name** | A human readable value for the hazard e.g. Volcano.                                                                                                                                                                                                                                                                  |
| **type\_icon** | This is the url for the hazard type icon's image e.g. avalanche.png. The hazard icons are hosted at:[ https://static.pdc.org/icons/hazard/large/](https://static.pdc.org/icons/hazard/large/). To construct the fully qualified location for the hazard type's icon combine the host location with type\_icon value. |


# Requesting Hazard Severities

To request the list of hazard severities configured in the system please use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/hazards/severities" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

Severity is assigned per hazard type, from the inputs that matter for that phenomenon. Volcano hazards are the most involved: their severity is derived from the VAAC aviation colour code, the Risk Rating Index, and the presence of observed and forecast ash clouds — see [Severity and the Risk Rating Index](/hazards/hazard-samples/volcano-sample#severity-and-the-risk-rating-index) for the full matrix.

This request will return an array that contains all of the hazard severities. Each element in the array will have three properties:

| Properties         | Definitions                                                                                                      |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **severity\_id**   | This is like the primary key for the hazard severity. This is the value that will be found on the hazard object. |
| **severity\_name** | A human readable value for the severity e.g. Warning.                                                            |
| **severity\_icon** | This is an icon whose value was used in the deprecated version of DAE.                                           |

{% hint style="info" %}
In every DAE system the following colors (in RGB format) are associated with each hazard severity:

| Hazard Severities | Colors (in RGB format) |
| ----------------- | ---------------------- |
| **TERMINATION**   | 102, 102, 102          |
| **INFORMATION**   | 49, 153, 240           |
| **ADVISORY**      | 0, 255, 0              |
| **WATCH**         | 255, 255, 0            |
| **WARNING**       | 255, 0, 0              |
| {% endhint %}     |                        |


# Requesting Hazard Categories

To request the list of hazard categories configured in the system please use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/hazards/categories" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

This request will return an array that contains all of the hazard categories. Each element in the array will have two properties:

| Properties         | Definitions                                                                                                      |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **category\_id**   | This is like the primary key for the hazard category. This is the value that will be found on the hazard object. |
| **category\_name** | A human readable value for the category e.g. Event.                                                              |

{% hint style="info" %}
The following shapes are associated with each hazard category:
{% endhint %}

| Categories   | Shapes   |
| ------------ | -------- |
| **EVENT**    | Circle   |
| **RESPONSE** | Star     |
| **EXERCISE** | Triangle |
| **OTHER**    | Hexagon  |


# Requesting a Hazard

To request a single hazard by its identifier, use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/hazards/{hazard-id}" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

## Identifying the hazard

Every V2 hazard payload carries a `uuid`. Pass that value in the path to get the **complete V2 hazard record** back — the same shape as the [hazard sample pages](/hazards/hazard-samples/earthquake-sample), with `alertGeometry`, `features`, `exposureAreas`, and `exposureAssessment` inline. This works whether the hazard is currently active or has already moved to the historical archive, so a `uuid` you captured from `/active-hazards-query` remains resolvable after the hazard expires.

```
GET /hazards/c554507b-c769-43ab-8c67-07c116d4aa8c
```

Records served from the historical archive additionally carry three fields that active records do not: `legacy_hazard_id` (the hazard's V1 numeric id), `location` (a reverse-geocoded administrative block), and any enhancement blocks such as `earthquakeAssessment` or `cycloneAssessment`. These are described in [Requesting Historical Hazards](/hazards/requesting-historical-hazards#the-full-record).

### Legacy numeric ids

A **numeric** value in the same path position is treated as a legacy V1 `hazard_ID`:

```
GET /hazards/471892
```

This is a compatibility passthrough for clients that have not migrated to `uuid`. It returns the **V1-shaped** record — snake\_Case keys such as `hazard_ID`, `type_ID`, and `create_Date`, with epoch-millisecond string timestamps — wrapped in a one-element array. It does not include the V2 `incident`, `alertGeometry`, `features`, or exposure blocks.

{% hint style="warning" %}
The numeric form is a legacy construct. New integrations should use `uuid`, which returns the full V2 record. The V1 `hazard_ID` of a historical hazard is available as `legacy_hazard_id` on its V2 record, so you can map existing ids forward.
{% endhint %}

## Responses

| Status  | Meaning                                                                                                                                                         |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **200** | The hazard. A single V2 object for a `uuid`; a one-element array of the V1 record for a numeric id.                                                             |
| **400** | The path value is neither a uuid nor a number. Body: `{"error": "Invalid hazard identifier", "message": "Expected a V2 uuid (or a legacy numeric hazard_ID)."}` |
| **404** | No active or historical hazard has that uuid. Body: `{"error": "Hazard not found", "message": "No active or historical hazard with uuid <uuid>."}`              |
| **403** | Invalid or expired token.                                                                                                                                       |

## Example

```bash
curl -s -H "Authorization: Bearer $TOKEN" \
  'https://api-v2.disasteraware.com/hazards/c554507b-c769-43ab-8c67-07c116d4aa8c' | jq '{uuid, type, severity, legacy_hazard_id, location}'
```

```json
{
  "uuid": "c554507b-c769-43ab-8c67-07c116d4aa8c",
  "type": "EARTHQUAKE",
  "severity": "ADVISORY",
  "legacy_hazard_id": 471892,
  "location": {
    "admin0": "United States of America",
    "admin0_iso2": "US",
    "admin0_iso3": "USA",
    "admin1": "Alaska",
    "admin1_code": "US-AK",
    "admin2": "Denali",
    "admin2_code": "02068",
    "continent": "North America",
    "subregion": "Northern America",
    "location_type": "land",
    "source": "arcgis_reverse_geocoder"
  }
}
```

Unlike the query endpoints, this endpoint returns the record inline as JSON — there is no redirect and no compression.


# Requesting Historical Hazards

The historical archive holds every hazard the platform has tracked, in the same V2 record shape as active hazards, and can be queried by type, time, geography, name, and quantitative thresholds. To query it, use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/historical-hazards-query" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

{% hint style="warning" %}
**This endpoint requires a specific role for historical hazard access on your credentials.** It is not enabled by default. If your token works against other endpoints but this one returns `403`, contact your sales contact or <support@disasteraware.com> to have the role added.
{% endhint %}

The previous `/historical_hazards` endpoint (V1 record shape) is deprecated and no longer documented here; see the V1 API documentation if you must remain on it. Its companion `/hazards_count` and alert-geography endpoints are likewise retired: use `count_only=true` for counts, and read `alertGeometry` directly from the V2 record, which carries geometry inline.

## Coverage

The archive is a periodic build, not a live mirror. Records run from 1999 to the date of the most recent build — as of the build published on 2026-10-13, hazards started up to 2026-10-01. Hazards newer than the latest build are not in the archive yet; they are available from [`/active-hazards-query`](/hazards/requesting-active-hazards) while active and from [`/hazards/{uuid}`](/hazards/requesting-a-hazard) at any time. A `count` of `0` for a recent hazard usually means it post-dates the build rather than that it does not exist.

Two exclusions are deliberate. A hazard that was **still active on the platform** when the build was cut is held out of the archive until it has ended, so a long-running event can be absent here while present on the active feed. **Exercise and test records are withdrawn** entirely.

## Response Format

{% hint style="warning" %}
**The response is a redirect, not inline JSON.** A successful query returns **HTTP 302** with a `Location` header pointing at a pre-signed S3 URL. The object at that URL is **gzipped NDJSON**. Your client must follow the redirect and decompress the body. The pre-signed URL is valid for 300 seconds.
{% endhint %}

The decompressed body has one JSON object per line. **The first line is metadata**, and every following line is one hazard record:

```
{"count": 2, "limit": 2, "next_cursor": "WzE3ODUwNTU1MjEsICIwZGM1MGJlZi1lYzM5LTQ1NTQtOTNlNC1mOTc3ZDM3NDFiMzYiXQ=="}
{"uuid": "c554507b-c769-43ab-8c67-07c116d4aa8c", "type": "EARTHQUAKE", ...}
{"uuid": "0dc50bef-ec39-4554-93e4-f977d3741b36", "type": "EARTHQUAKE", ...}
```

| Metadata field   | Meaning                                                                             |
| ---------------- | ----------------------------------------------------------------------------------- |
| **count**        | Number of records in this page.                                                     |
| **limit**        | The page size that was applied.                                                     |
| **next\_cursor** | Opaque cursor for the next page, or `null` on the last page. See [Paging](#paging). |

The curl pattern that handles all of this is:

```bash
curl -sL -H "Authorization: Bearer $TOKEN" \
  'https://api-v2.disasteraware.com/historical-hazards-query?type=EARTHQUAKE&year_gte=2020&country_code=US' \
  | gunzip
```

`-L` follows the redirect; `gunzip` decompresses the body. The only request that does **not** redirect is `count_only=true`, which returns a direct `200 {"count": n}`.

## Record Formats

The `format` parameter selects what each record line contains.

| `format`           | Contents                                                                                                                                                                                                                                                                                                                       | Use it for                                                                      |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| **full** (default) | The complete V2 hazard record — the same camelCase shape as [`/hazards/{uuid}`](/hazards/requesting-a-hazard) and the [hazard sample pages](/hazards/hazard-samples/earthquake-sample), with `alertGeometry` inline, plus `legacy_hazard_id`, `location`, and any enhancement blocks. See [The full record](#the-full-record). | Retrieving complete hazards for display, mapping, or archival.                  |
| **list**           | A flat, snake\_case analytical projection: identity, timestamps, admin codes, nearest place, magnitude, enhancement block names, `legacy_hazard_id`, and the quantitative columns listed below.                                                                                                                                | Filtering and bulk analysis. Rows are small, so large result sets page quickly. |
| **id\_only**       | `{"uuid": "..."}` per line.                                                                                                                                                                                                                                                                                                    | Building an id list to fetch individually.                                      |

The `list` projection carries these quantitative columns, null where they do not apply to the hazard type: `magnitude` and `magnitude_kind`, `mmi_max`, `area_km2`, `casualties`, `damage_usd`, `ef_rating`, `path_length_km`, `hail_max_in`, `wind_gust_mph`, `saffir_cat`, `max_wind_kt`, `min_pressure_mb`, `wind_kt_at_landfall`, `landfalls`, `landfall_admin0s`, `landfall_admin1s`, `basin`, and `exposed_population`. Location comes as `admin0_iso2`, `admin1_code`, `admin2`, and — for events at sea — `nearest_admin0_iso2`, `nearest_admin1_code`, `nearest_place`, and `nearest_distance_km`.

## Paging

Results are capped per request by `limit`: the default is **100** and the hard maximum is **1000**. Values above 1000 are clamped to 1000. For larger sets, walk the cursor:

1. Make the query. Read `next_cursor` from the metadata line.
2. Repeat the **same query** with `cursor=<next_cursor>` appended.
3. Stop when `next_cursor` is `null`.

The cursor is opaque base64 and must be passed back unchanged. Results are stable-ordered — the sort key with `uuid` as a tiebreak — so pages do not overlap or skip records while you walk them. Paging works identically for all three formats.

### Page size caps on full records

`limit` is capped per hazard type when `format=full`, because those records are large: **300 for FLOOD** and **500 for WILDFIRE**. Asking for more is not an error — the response's first line reports the limit that was actually applied, and `next_cursor` continues from there:

```
?type=FLOOD&limit=400&format=full
```

```json
{"count": 300, "limit": 300, "next_cursor": "WzE3OTAyNDQyMTIsICI3ODEwYzg3ZC0xNTk1LTRjNWQtYTY5Mi1lNmJiM2Y1NGEwM2UiXQ=="}
```

Read `limit` from that line rather than assuming you received what you asked for. Very large `format=full` pages can also exceed the gateway timeout before the cap is reached, so stay well inside it for bulk pulls.

## Performance

{% hint style="warning" %}
**Always include a selective filter** — at minimum `type`, or a `year_gte`/time bound. The archive holds several hundred thousand records, and a broad scan (for example `min_ef=3&state_code=OK` with no `type`) can exceed the API gateway's request timeout, returning `{"message": "Endpoint request timed out"}` rather than results. Adding `type=TORNADO` to that same query returns in well under a second.
{% endhint %}

`count_only=true` is inexpensive even without filters and is the right way to size a result set before fetching it.

## Query Parameters

All parameters are optional and combine with AND. Comma-separated lists mean "any of". Timestamps accept **epoch seconds or ISO-8601** (for example `2024-01-01T00:00:00Z`).

### Identifiers

| Parameter              | Description                                                                                                                                                                                                                        |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **uuid**               | Point lookup by V2 hazard `uuid`.                                                                                                                                                                                                  |
| **legacy\_hazard\_id** | Look up by the numeric V1 `hazard_ID`. A legacy construct, supported for migration. **`uuid` is the stable identifier** — V1 ids were reused over the system's life, so treat the result as a set and handle more than one record. |

### Type and class

| Parameter     | Description                                                                                                                                        |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **type**      | Hazard type, e.g. `TORNADO,HAIL`. Comma-separated list. See [Requesting Hazard Types](/hazards/requesting-active-hazards/requesting-hazard-types). |
| **sub\_type** | V2 hazard sub-type, e.g. `SMOKE`. Comma-separated list, case-insensitive. See [Sub-types](#sub-types).                                             |
| **category**  | Hazard category. Comma-separated list. See [Requesting Hazard Categories](/hazards/requesting-active-hazards/requesting-hazard-categories).        |
| **severity**  | Hazard severity. See [Requesting Hazard Severities](/hazards/requesting-active-hazards/requesting-hazard-severities).                              |

#### Sub-types

`sub_type` is the record's V2 sub-type, and the **one queryable column taken from `incident.properties`** — it is copied from `incident.properties.subType`. It is returned in the `list` projection as well as being filterable.

Most records have no sub-type and carry `null`. The sub-type in use across the archive today is `SMOKE` on BIOMEDICAL records:

```
?type=BIOMEDICAL&sub_type=SMOKE&count_only=true
```

```json
{"count": 34793}
```

Of 36,064 BIOMEDICAL records, 34,793 are smoke events — named `Smoke — <place>` and carrying `smokeAssessment` and `smokeDetails` — leaving 1,271 with no sub-type. Matching is case-insensitive, and an unrecognised value simply matches nothing rather than returning an error, so check your spelling against the values you see in the `sub_type` column.

### Time

| Parameter                                   | Description                                                                                                      |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **started\_at\_gte** / **started\_at\_lte** | Event start at or after / at or before.                                                                          |
| **ended\_at\_gte** / **ended\_at\_lte**     | Event end at or after / at or before.                                                                            |
| **created\_at\_gte** / **created\_at\_lte** | Record creation at or after / at or before.                                                                      |
| **updated\_at\_gte** / **updated\_at\_lte** | Record update at or after / at or before.                                                                        |
| **since**                                   | Alias for `updated_at_gte`. Store the highest `updated_at` you have seen and pass it back for incremental pulls. |
| **year\_gte** / **year\_lte**               | Event year bounds.                                                                                               |
| **month\_in**                               | Event month is one of these values, 1–12. Comma-separated list, e.g. `4,5`.                                      |

### Geography

| Parameter                          | Description                                                                                                                                                                                                               |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **bbox**                           | Bounding box as `minLon,minLat,maxLon,maxLat` (WGS84). Matches on the record's geometry, not its centre point. A box whose west value exceeds its east value crosses the antimeridian. See [Bounding box](#bounding-box). |
| **contains**                       | Exact point-in-outline test as `lat,lon`. Only records whose `alertGeometry` outline contains the point. See [Is a location inside the event?](#is-a-location-inside-the-event).                                          |
| **exclude\_global**                | `true` drops records whose outline spans the world.                                                                                                                                                                       |
| **near**                           | Point-radius filter as `lat,lon,radius_km`. The radius must be **2000 km or less**.                                                                                                                                       |
| **country\_code**                  | ISO 3166-1 alpha-2 code, e.g. `US`. Matches events **in or affecting** that country, so it includes offshore events whose nearest country is the one given. Accepts a comma-separated list.                               |
| **country\_code\_3**               | ISO 3166-1 alpha-3 code, e.g. `USA`. Equivalent to `country_code` — see [Filtering by country](#filtering-by-country).                                                                                                    |
| **state\_code** / **admin1\_code** | Admin-1 code, e.g. `US-OK`. Synonyms.                                                                                                                                                                                     |
| **admin2**                         | Admin-2 name (county, district, municipality).                                                                                                                                                                            |

{% hint style="info" %}
**"In or affecting" is wider than "inside".** `country_code` matches an event that reached a country as well as one inside it, which for offshore-heavy types is a large difference: on 2026-10-09, `?type=TSUNAMI&country_code=US` returned 1,385 records, of which a sample of twelve held only two inside the United States — the other ten were at sea with the US as their nearest country. For hazards that stay inside one country the distinction does not arise.

Use `near` or `contains` instead when you need a geographic test rather than a political one, and read the `nearest_*` columns to tell which case a given record is.
{% endhint %}

Admin codes describe **where the event happened**, derived from its coordinates. Events at sea have no `admin*` values; use `near` or `bbox` for those, or read the `nearest_*` columns.

#### Filtering by country

`country_code` and `country_code_3` are the same filter in two notations: the alpha-3 code is resolved to its alpha-2 equivalent and matched identically, both mean "in or affecting", and both accept comma-separated lists. `country_code=US,JP` and `country_code_3=USA,JPN` return the same records. Both are case-insensitive.

Giving both parameters combines them — a record matching any of the codes is returned. An unrecognised code returns `400` naming the parameter and the value, rather than quietly matching nothing.

### Name

| Parameter                                       | Description                                                    |
| ----------------------------------------------- | -------------------------------------------------------------- |
| **name\_contains** / **hazard\_name\_contains** | Case-insensitive substring match on the hazard name. Synonyms. |

### Enhancement

| Parameter            | Description                                                                                                                                                                                                         |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **has\_enhancement** | Only records carrying these enhancement blocks. Comma-separated list of block names: `earthquake`, `cyclone`, `flood`, `tornado`, `hail`, `wind`, `scs`, `exposure`. See [Enhancement blocks](#enhancement-blocks). |

### Quantitative thresholds

Each of these is a `min_` / `max_` pair, e.g. `min_magnitude=6.0` or `max_casualties=10`. A record whose value is null for the column is excluded.

| Column                                                                                                                                                                                                           | Applies to                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| **magnitude**, **mmi**, **mmi\_max**, **shakemap\_mag**                                                                                                                                                          | Earthquake                        |
| **saffir\_cat**, **max\_wind\_kt** (as `min_max_wind_kt` / `max_max_wind_kt`), **wind\_kt**, **wind\_kt\_at\_landfall**, **min\_pressure\_mb** (as `min_min_pressure_mb` / `max_min_pressure_mb`), **landfalls** | Cyclone                           |
| **wind\_gust\_mph**, **hail\_in**, **hail\_max\_in**, **path\_length\_km**                                                                                                                                       | Severe convective storms, tornado |
| **area\_km2**, **casualties**, **damage\_usd**, **exposed\_population**, **exposed\_econ\_usd**, **nearest\_distance\_km**                                                                                       | Any                               |
| **final\_acres**                                                                                                                                                                                                 | Wildfire                          |
| **track\_length\_km**                                                                                                                                                                                            | Cyclone                           |
| **max\_above\_flood\_stage\_ft**                                                                                                                                                                                 | Flood                             |
| **damage\_estimated\_wind\_mph**                                                                                                                                                                                 | Severe convective storms, tornado |

Two shorthands are also accepted: **min\_ef** for tornadoes, which accepts `3` or `EF3`; and **min\_category** for cyclones, equivalent to `min_saffir_cat`.

### Type-specific and provenance

| Parameter                                    | Description                                                                                                                                                                                                   |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **basin**                                    | Cyclone basin: `NA` (North Atlantic), `EP` (East Pacific), `WP` (West Pacific), `NI` (North Indian), `SI` (South Indian), `SP` (South Pacific).                                                               |
| **landfall\_country** / **landfall\_admin1** | Cyclones that made landfall in the given country / admin-1. `landfall_country` takes ISO 3166 country codes, which treat US territories as their own countries — see [Cyclone landfalls](#cyclone-landfalls). |
| **ef\_rating**                               | Exact tornado EF rating, e.g. `EF5`.                                                                                                                                                                          |
| **fire\_basis**                              | Wildfire evidence basis, e.g. `confirmed_incident`. Case-insensitive. See [Enhancement blocks](#enhancement-blocks).                                                                                          |
| **magnitude\_source**                        | Provenance of the magnitude value.                                                                                                                                                                            |
| **fire\_basis**                              | Wildfire evidence basis, e.g. `confirmed_incident`. Case-insensitive. See [Enhancement blocks](#enhancement-blocks).                                                                                          |
| **is\_scs**                                  | `true` for records classified as a severe convective storm. Null is "not classified", so `is_scs=true` is not the complement of `is_scs=false`.                                                               |
| **scs\_peril**                               | Observed severe-convective sub-perils, any of `hail`, `wind`, `tornado`.                                                                                                                                      |
| **casualties\_source** / **damage\_source**  | Restrict to records whose casualty or damage figure came from a given source. Pair with the matching `min_` filter when summing.                                                                              |
| **hail\_size\_kind** / **wind\_gust\_kind**  | Restrict to a given kind of hail size or gust value — a measured report, an estimated report, or a radar-derived value.                                                                                       |
| **max\_gauge\_category**                     | Highest NWS flood category a gauge reached.                                                                                                                                                                   |

### Output control

| Parameter       | Description                                                                                                                                                                                                                                                                                                                                                            |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **format**      | `full` (default), `list`, or `id_only`. See [Record Formats](#record-formats).                                                                                                                                                                                                                                                                                         |
| **limit**       | Page size. Default 100, maximum 1000.                                                                                                                                                                                                                                                                                                                                  |
| **cursor**      | `next_cursor` from the previous page.                                                                                                                                                                                                                                                                                                                                  |
| **count\_only** | `true` returns `200 {"count": n}` directly, with no redirect.                                                                                                                                                                                                                                                                                                          |
| **sort**        | `created_at_desc` (default), `created_at_asc`, `updated_at_desc`, `started_at_desc`, `started_at_asc`.                                                                                                                                                                                                                                                                 |
| **order\_by**   | Order by a numeric column, as `column` or `column desc`. Columns: `area_km2`, `casualties`, `damage_usd`, `exposed_econ_usd`, `exposed_population`, `hail_max_in`, `landfalls`, `magnitude`, `max_wind_kt`, `min_pressure_mb`, `mmi_max`, `nearest_distance_km`, `path_length_km`, `saffir_cat`, `shakemap_mag`, `started_at`, `wind_gust_mph`, `wind_kt_at_landfall`. |

When ordering by a column, records with a null value for that column sort first under `desc`. Pair `order_by` with the matching `min_` filter (for example `min_casualties=1`) to exclude them.

### Cyclone landfalls

`landfall_country` takes **ISO 3166 country codes**, and ISO gives Puerto Rico, Guam, the Northern Mariana Islands, the US Virgin Islands and American Samoa their own codes. They are therefore not matched by `US`.

Hurricane Maria in 2017 is the clearest case. Its landfall columns read:

```json
{ "landfalls": 2, "landfall_admin0s": ["DM", "PR"], "landfall_admin1s": ["DM-03", "US-PR"], "wind_kt_at_landfall": 145.0, "max_wind_kt": 150.0 }
```

So `?type=CYCLONE&name_contains=MARIA&year_gte=2017&year_lte=2017&landfall_country=US` returns nothing, while `landfall_country=PR` returns the storm, and so does `landfall_admin1=US-PR` — the admin-1 code is namespaced under `US` even though the country code is not.

To mean "the United States including its territories", list the codes:

```
?type=CYCLONE&landfall_country=US,PR,GU,MP,VI,AS&count_only=true
```

On 2026-10-09 that returned 108 records against 103 for `landfall_country=US` alone.

{% hint style="info" %}
This is not the same rule as the general [`country_code`](#geography) location filter, which means "in or affecting" and matches offshore records by nearest country. The landfall columns describe where the storm's centre actually crossed a coast.
{% endhint %}

**Reading the landfall columns.** Two things follow from how the track is sampled, and both can surprise:

* **`wind_kt_at_landfall` is the wind at the nearest track position, not the storm's peak.** Track positions are mostly three-hourly, so the landfall figure is often below `max_wind_kt` — 145 kt against a 150 kt peak for Maria above.
* **Landfalls on very small islands can be missed**, for the same reason: the storm can pass over between two sampled positions.

Only **tropical** landfalls are counted, and the landfall columns come from the cyclone pipeline alone. A post-tropical crossing is still listed on the full record, tagged with its `landfall_type`, but is not included in `landfalls` or the landfall admin arrays.

## Errors

**400 — validation.** Any bad parameter, value, or cursor returns a body that says what was wrong and lists every parameter the endpoint accepts. The `allowed_parameters` list is generated from the same table the API validates against, so it is always current:

```json
{
  "error": "Query validation failed",
  "details": ["near must be lat,lon,radius_km (radius <= 2000)"],
  "allowed_parameters": ["admin1_code", "admin2", "basin", "bbox", "category", "count_only", "..."]
}
```

A malformed cursor returns `{"error": "bad cursor"}`. Unknown values for `type`, `has_enhancement`, or `month_in` are not errors; they simply match nothing.

**403** — the token is invalid or expired, or the credentials lack the role required for historical hazard access.

## The full record

With `format=full` (the default), and from [`/hazards/{uuid}`](/hazards/requesting-a-hazard), each record is the complete V2 hazard shape documented in [Requesting Active Hazards](/hazards/requesting-active-hazards#response-fields), with three additions that only historical records carry.

**`legacy_hazard_id`** — the hazard's V1 numeric `hazard_ID`. Use it to map existing V1 integrations onto V2 uuids.

**`location`** — a reverse-geocoded administrative block. Events on land carry the admin hierarchy; events at sea carry the nearest place instead:

```json
{ "admin0": "United States of America", "admin0_iso2": "US", "admin0_iso3": "USA", "admin1": "Missouri", "admin1_code": "US-MO", "admin2": "Ste. Genevieve", "admin2_code": "29186", "continent": "North America", "subregion": "Northern America", "location_type": "land", "source": "arcgis_reverse_geocoder" }
```

```json
{ "location_type": "ocean", "nearest_country_code": "TO", "nearest_admin1": "'Eua", "nearest_place": "`Ohonua", "source": "arcgis_reverse_geocoder" }
```

### Incident properties are source detail

`incident.properties` is **exactly what the reporting source delivered**, carried through unchanged. It is not normalised across sources, and the same hazard type can arrive with different key sets depending on which pipeline produced the record. Nothing is renamed to a common vocabulary and nothing is moved into a wrapper.

That means the key set varies by record, not by date. Two broad families appear in the archive:

* **Native V2 CAP vocabulary** — `sentAt`, `expiredAt`, `areaDescription`, `senderName`, `sourceMessageIdentifiers`, `summaryStatus`, usually with `creator` `RICHTER` and a FeatureCollection `alertGeometry`.
* **Converted vocabulary** — `createDate`, `eventDate`, `hazardUUID`, `sncUrl`, often with a bare `Polygon` or `MultiPolygon` `alertGeometry` and `creator` `DisasterAWARE (Automated)` or `DataFeeds Enhancement Pipeline`. Older analyst-entered records carry no `alertGeometry` at all.

Both families appear within the same hazard type and the same month: of 289 STORM records sampled across 2026, 140 carried the native set and 149 the converted one. Nor does type decide it — among records starting after 2026-08-01, STORM, SEVEREWEATHER, HIGHWIND, MARINE, FLOOD and TORNADO carried the native set, EARTHQUAKE still carried `createDate` and `eventDate`, and WILDFIRE and CYCLONE carried neither, having their own type-specific property sets.

{% hint style="info" %}
**Do not key your integration on `incident.properties`.** Read `incident.sourceId` and `creator` to identify a record's source, as described under [Source Identifiers](/hazards/requesting-active-hazards#source-identifiers), then interpret the properties for that source — the [hazard sample pages](/hazards/hazard-samples/earthquake-sample) document them per type. Code that requires a particular key should treat its absence as "this record came from a different source", not as an error.

Everything you can **filter, sort or group on** comes from the record's top-level fields or its [enhancement blocks](#enhancement-blocks), never from `incident.properties`. Top-level fields are consistent on every record: `startedAt`, `endedAt`, `severity`, `type` and `location`.
{% endhint %}

### Enhancement blocks

Historical records may carry post-event analysis blocks that active records never have. The `list` format names them in `enhancement_blocks`; `has_enhancement` filters on them; and the `full` format includes them as top-level objects.

| `has_enhancement` value | Blocks on the full record             | Source and contents                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **earthquake**          | `earthquakeAssessment`                | USGS ShakeMap summary: `usgs_event_id`, `magnitude`, `depth_km`, `max_mmi`, `max_pga_g`, `max_pga_pctg`, `pga_contour_count`, `pga_contours`, `shakemap_version`.                                                                                                                                                                                                                              |
| **cyclone**             | `cycloneAssessment`, `cycloneDetails` | NOAA IBTrACS best-track archive. The assessment summarises the storm (`storm_name`, `season`, `basin`, `max_category`, `max_wind_kts`, `min_pressure_mb`, `duration_hours`, `hours_at_hurricane_force`, `hours_at_major_hurricane`, `landfalls`, `track_length_km`, `track_points_count`); the details block carries the full observed `track`.                                                |
| **flood**               | `floodAssessment`, `floodDetails`     | NWS flood post-event analysis. The assessment carries `flood_class`, `triggering_event`, `max_gauge_category`, `max_above_flood_stage_ft`, `depth_method`, and counts of `gauges`, `road_closures`, `storm_reports`, and `survey_points`; the details block carries the underlying `alert` and `alert_polygon`, `gauges`, `depth`, `impacts`, `road_closures`, `storm_reports`, and `sources`. |
| **tornado**             | `tornadoAssessment`, `tornadoDetails` | NWS post-event analysis: Damage Assessment Toolkit paths and points, Storm Prediction Center reports, and Local Storm Reports. The assessment carries `max_ef_rating`, `total_fatalities`, `total_injuries`, and per-source counts; the details block carries the underlying `dat_paths`, `dat_points`, `local_storm_reports`, and `spc_reports`.                                              |
| **hail**                | `hailAssessment`, `hailDetails`       | Hail reports and MESH radar swaths: `best_estimate_in`, `max_measured_in`, `max_reported_in`, `mesh_max_swath_in`, `size_description`, with `hail_reports`, `mesh_swaths`, and `svr_warnings` in the details.                                                                                                                                                                                  |
| **wind**                | `windAssessment`, `windDetails`       | Wind damage and gust reports, with `wind_reports` in the details.                                                                                                                                                                                                                                                                                                                              |
| **scs**                 | `scsClassification`                   | Severe convective storm classification across the tornado, hail, and wind sub-perils: `is_scs`, `sub_perils_present`, `max_ef_rating`, `max_hail_size_in`, and the source of each.                                                                                                                                                                                                             |
| **exposure**            | `exposureAssessment`                  | The standard population and infrastructure exposure block, as on active hazards.                                                                                                                                                                                                                                                                                                               |

A tornado record from a surveyed outbreak typically carries `tornado`, `hail`, `wind`, and `scs` together. Field-level detail for the earthquake, cyclone, and tornado blocks is on the enhanced historical sample pages ([earthquake](/hazards/hazard-samples/enhanced-historical-earthquake-sample), [cyclone](/hazards/hazard-samples/enhanced-historical-cyclone-sample), [tornado](/hazards/hazard-samples/enhanced-historical-tornado-sample)); note that those pages show the blocks inside the legacy V1 wrapper, whereas this endpoint returns them on the V2 record.

**WILDFIRE records carry `fireAssessment`.** It is present on every wildfire record in the archive, and its `fire_basis` says what kind of evidence the record rests on — which matters because the archive mixes official incident records with satellite detections:

| `fire_basis`                | Meaning                                         |
| --------------------------- | ----------------------------------------------- |
| **confirmed\_incident**     | An official incident record from a fire agency. |
| **satellite\_detection**    | A satellite thermal detection.                  |
| **satellite\_burned\_area** | Derived from a satellite burned-area product.   |
| **unconfirmed\_report**     | Reported but not confirmed by an authority.     |
| **prescribed\_burn**        | A planned burn rather than a wildfire.          |
| **not\_a\_fire**            | Classified as not a fire.                       |

`confirmed_incident` and `satellite_detection` account for the great majority of records; the other four are each a small fraction. Records that did not come through the wildfire pipeline carry a minimal `fireAssessment` with `fire_basis`, `fire_basis_source`, `enhancedAt`, `enhancer` and `source`, and no `match_status`.

`fire_basis` is also a query parameter, matched case-insensitively, so you can count the officially confirmed fires directly:

```
?type=WILDFIRE&fire_basis=confirmed_incident&count_only=true
```

`fire_basis` is the value to filter and read; a human-readable label for each value is available through the MCP tools rather than as a column on this endpoint.

Historical full records also have `source` set to `null` and `features` set to `null` in the general case; `alertGeometry`, `exposureAreas`, and `exposureAssessment` are populated as on active hazards.

## What each column measures

The `list` columns and the `min_`/`max_` filters are copied or derived from the record, never computed independently of it. Most are self-explanatory; the ones below are not, and reading them the obvious way gives the wrong answer.

Where a measure can come from more than one place, a companion column says which: `magnitude_kind`, `hail_size_kind`, `wind_gust_kind`, `casualties_source`, `damage_source`, `damage_estimated_wind_source`, `fire_basis_source`, `final_acres_source` and `landfall_source`. Read the companion before comparing or summing values across records.

| Column                                                    | What it actually is                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **magnitude**                                             | **Type-dependent.** For EARTHQUAKE it is the moment magnitude. For TORNADO it is the EF number. For CYCLONE it is the Saffir-Simpson category. Null for every other type. `magnitude_kind` names which. Never compare `magnitude` across types.                                                                                                                                                                                                                                            |
| **area\_km2**                                             | The area of the **alert polygon**, not the burned, flooded or damaged area. A large `area_km2` means a large warning footprint.                                                                                                                                                                                                                                                                                                                                                            |
| **saffir\_cat**, **max\_wind\_kt**, **min\_pressure\_mb** | The storm's **peak** over its whole life, not its state at landfall. For landfall intensity use `wind_kt_at_landfall`.                                                                                                                                                                                                                                                                                                                                                                     |
| **wind\_kt\_at\_landfall**                                | The wind at the track position nearest the coast crossing. Track positions are roughly three-hourly, so this often sits below the peak. See [Cyclone landfalls](#cyclone-landfalls).                                                                                                                                                                                                                                                                                                       |
| **hail\_max\_in**                                         | The best available size estimate, which may be a **radar estimate rather than an observed report**. `hail_size_kind` distinguishes a measured report, an estimated report, and a radar-derived value; a substantial share are radar.                                                                                                                                                                                                                                                       |
| **wind\_gust\_mph**                                       | A gust value, measured or estimated — `wind_gust_kind` says which.                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **damage\_estimated\_wind\_mph**                          | A wind speed **inferred from damage** during a survey, not a measured gust. Do not mix it with `wind_gust_mph` in the same series.                                                                                                                                                                                                                                                                                                                                                         |
| **path\_length\_km**                                      | Tornado path length, and **tornadoes only**. A cyclone's track length is `track_length_km`. See the note below if you previously read cyclone track lengths from this column.                                                                                                                                                                                                                                                                                                              |
| **casualties**                                            | Deaths, from whichever source reported them; `casualties_source` names it — `tornado_dat_owned` on tornado records, for example. Each record carries the deaths **it owns**, so summing across records is safe and does not double-count. Records with no tornado enhancement have **no casualty value at all** — null, not `0` — and are excluded from sums rather than counted as zero. Sources differ in what they measure, so filter or group by `casualties_source` before comparing. |
| **damage\_usd**                                           | Economic loss or reported property and crop damage depending on `damage_source` — **the sources measure different things.** Filter or group by `damage_source` before summing.                                                                                                                                                                                                                                                                                                             |
| **exposed\_population**, **exposed\_econ\_usd**           | Modelled exposure inside the hazard's footprint, from `exposureAssessment`. Not an observed impact count.                                                                                                                                                                                                                                                                                                                                                                                  |
| **is\_scs**                                               | True when a severe convective sub-peril was observed. **Null means not classified, not false** — many records carry no classification at all.                                                                                                                                                                                                                                                                                                                                              |
| **ended\_at** / **no\_scheduled\_end**                    | `ended_at` is null for a hazard with no scheduled end, and `no_scheduled_end` is `true` on those records. Treat the pair together rather than reading a null end date as missing data.                                                                                                                                                                                                                                                                                                     |
| **legacy\_hazard\_id**                                    | The numeric V1 id. A small number of records have a non-numeric legacy id, which is null in this column and present verbatim on the full record.                                                                                                                                                                                                                                                                                                                                           |

{% hint style="warning" %}
**`path_length_km` changed with the 2026-10 rebuild.** It was previously populated for cyclones with the storm's track length and was empty on tornado records. It is now tornado path length only, and cyclone track length has moved to its own `track_length_km` column.

If you filtered or ordered cyclones on `path_length_km` — or on `min_path_length_km` — switch to `track_length_km`. Against the earlier build, `?type=CYCLONE&min_saffir_cat=4` returned track lengths of several thousand kilometres in `path_length_km`, so a cyclone query against that column will now come back empty rather than wrong, and a tornado query that previously returned nothing will start returning values.
{% endhint %}

{% hint style="info" %}
**Null means "not reported", never zero.** An unreported damage figure, a blank wind radius or a tropical depression's absent Saffir-Simpson category are all null rather than `0`, and a tropical depression carries `max_category_name` "Tropical Depression" instead. Treating null as zero will understate averages and invent zero-damage events. The `min_`/`max_` filters exclude records whose value is null for the column being filtered.
{% endhint %}

{% hint style="info" %}
The enhancement blocks carry far more fields than there are columns — the columns are the filterable and sortable subset. Everything else reaches you only inside the full record, via `format=full` or [`/hazards/{uuid}`](/hazards/requesting-a-hazard), and cannot be filtered or ordered on. See [Enhancement blocks](#enhancement-blocks).
{% endhint %}

## Worked Examples

Every example below was run against the production API — the parameter-syntax examples on 2026-09-18, the rest on 2026-09-11. Counts will have grown since. `$TOKEN` is the access token from `/authorize`; the pattern is always:

```bash
curl -sL -H "Authorization: Bearer $TOKEN" 'https://api-v2.disasteraware.com/historical-hazards-query?...' | gunzip
```

### Combining parameters

Two rules cover the whole query syntax:

* **Different parameters are combined with AND.** `?type=TORNADO&state_code=OK` returns tornadoes that are also in Oklahoma.
* **Multiple values within one parameter are comma-separated and combined with OR.** `?type=TORNADO,HAIL` returns tornadoes and hail events.

Anything containing a space must be URL-encoded — `order_by=casualties%20desc`, `+` also works — and the URL should be single-quoted in `curl` so the shell does not interpret the `&` characters. A misspelled parameter returns `400` with the full list of accepted parameters (see [Errors](#errors)).

Two hazard types at once, narrowed by severity:

```
?type=TORNADO,HAIL&severity=WARNING&count_only=true
```

```json
{"count": 101337}
```

Add a time bound and a seasonal window to cut that down — April and May of 2024 onward:

```
?type=TORNADO,HAIL&severity=WARNING&year_gte=2024&month_in=4,5&count_only=true
```

```json
{"count": 12262}
```

Every additional parameter narrows the result, so build a query up one filter at a time with `count_only=true` before fetching the records themselves (see [Sizing a query before fetching it](#sizing-a-query-before-fetching-it)).

### Bounding box

`bbox` takes four comma-separated numbers in the order `minLon,minLat,maxLon,maxLat`. Note that longitude comes first, which is the GeoJSON convention and the reverse of the `near` parameter's `lat,lon,radius_km`.

```
?type=WILDFIRE&bbox=-125,32,-114,42&year_gte=2023&limit=2&format=list
```

```
{"count": 2, "limit": 2, "next_cursor": "WzE3ODU4MzU2ODUsICJjOGYxODkyOC02YjM0LTRhY2QtODI4Ny1mNjg4N2ZiZTE2OTIiXQ=="}
{"uuid": "439f4a96-0b5e-4ffa-ba63-b1be646c8c0e", "type": "WILDFIRE", "severity": "ADVISORY", "name_en": "Wildfire - ANDERSON, California, United States", "latitude": 39.78707, "longitude": -123.24822, "admin1_code": "US-CA", "admin2": "Mendocino", "area_km2": 1191.9804052226245, ...}
{"uuid": "c8f18928-6b34-4acd-8287-f6887fbe1692", "type": "WILDFIRE", "severity": "WARNING", "name_en": "Wildfire - Mexicali, Baja California, Mexico", "latitude": 32.54095, "longitude": -115.1077, "admin1_code": "MX-BCN", "admin2": null, ...}
```

415 records matched in total. The box does not respect national borders — the second record is in Mexico, inside the box. Add `country_code=US` to restrict it.

**What the box is tested against.** A record matches when the bounding box of its geometry overlaps the box you gave, not when its centre point falls inside it. A hazard whose point sits well outside your box still matches if its footprint reaches in. Typhoon Halong, for example, has a centre point at longitude 149.9 and a footprint reaching to 166.9, so it matches `bbox=160,33,166,35` even though its point is nowhere near it. Records that carry no geometry — a little under a third of the archive — have no footprint to test, so for those the filter does behave as a point filter.

`bbox` follows RFC 7946: a box whose west value is greater than its east value crosses the antimeridian and is tested as such. `bbox=170,-30,-170,-10` is the twenty-degree strip over the dateline; writing the same numbers the other way round, `bbox=-170,-30,170,-10`, is the 340-degree box that is everything except that strip.

{% hint style="info" %}
`bbox` is a coarse filter. A large outline has a large bounding box, so a box over Denver overlaps the bounding boxes of Pacific-wide tsunami zones: `?type=TSUNAMI&bbox=-105.2,39.5,-104.7,40.0` matches 590 records, none of which reach Colorado. Use `contains` when you need containment, and `exclude_global=true` to drop world-spanning outlines.
{% endhint %}

### Is a location inside the event?

`contains=lat,lon` is an exact point-in-outline test against each record's `alertGeometry`. Holes in the outline are respected, and outlines that span the antimeridian are handled whether or not they are split at 180 degrees.

```
?type=TSUNAMI&contains=21.31,-157.86&count_only=true
```

```json
{"count": 266}
```

266 tsunami events have an alert outline covering Honolulu. The same test for Denver returns none:

```
?type=TSUNAMI&contains=39.74,-104.99&count_only=true
```

```json
{"count": 0}
```

Compare that with the 590 records a small `bbox` over Denver matches, and the difference between overlapping a bounding box and falling inside an outline is the whole point of the parameter.

Two things to know. Records that carry no geometry never match `contains`; reach those with `near` instead. And scope the query with `type`: a type-scoped `contains` returns in a few seconds, while an unscoped one takes around twenty.

```
?type=EARTHQUAKE&contains=35.68,139.69&count_only=true
```

```json
{"count": 194}
```

### Dropping world-spanning outlines

Some events carry an outline that spans the world, which is rarely what you want in a regional query. `exclude_global=true` removes them:

```
?type=TSUNAMI&exclude_global=true&count_only=true
```

```json
{"count": 2137}
```

Against 2,368 tsunami records in total, so 231 carry a world-spanning outline.

### Threshold plus time bound

```
?type=EARTHQUAKE&min_magnitude=7.0&year_gte=2015&count_only=true
```

```json
{"count": 179}
```

Every quantitative column has a `min_` / `max_` pair that can be combined the same way; `?type=EARTHQUAKE&min_magnitude=7.0&max_magnitude=7.9` brackets a band.

### Sizing a query before fetching it

```
?type=EARTHQUAKE&year_gte=2020&country_code=US&count_only=true
```

```json
{"count": 490}
```

This returns `200` directly, with no redirect.

### Basic filter

```
?type=EARTHQUAKE&year_gte=2020&country_code=US&limit=2&format=list
```

```
{"count": 2, "limit": 2, "next_cursor": "WzE3ODUwNTU1MjEsICIwZGM1MGJlZi1lYzM5LTQ1NTQtOTNlNC1mOTc3ZDM3NDFiMzYiXQ=="}
{"uuid": "c554507b-c769-43ab-8c67-07c116d4aa8c", "type": "EARTHQUAKE", "severity": "ADVISORY", "category": "EVENT", "name_en": "Earthquake - 5.0 - 51 km E of Denali National Park, Alaska", "latitude": 63.611, "longitude": -150.673, "created_at": 1785272838, "started_at": 1785271764, "ended_at": 1785358164, "no_scheduled_end": false, "admin0_iso2": "US", "admin1_code": "US-AK", "admin2": "Denali", "nearest_admin0_iso2": null, "nearest_admin1_code": null, "nearest_place": null, "nearest_distance_km": null, "magnitude": 5.0, "magnitude_kind": "mw", "enhancement_blocks": ["earthquake", "exposure"], "legacy_hazard_id": 471892, "hail_max_in": null, "wind_gust_mph": null, "saffir_cat": null, "max_wind_kt": null, "min_pressure_mb": null, "basin": null, "landfalls": null, "landfall_admin0s": null, "landfall_admin1s": null, "wind_kt_at_landfall": null, "mmi_max": 5.23, "ef_rating": null, "casualties": null, "damage_usd": null, "area_km2": 98101.71167124063, "path_length_km": null, "exposed_population": 0.0}
{"uuid": "0dc50bef-ec39-4554-93e4-f977d3741b36", "type": "EARTHQUAKE", "severity": "WATCH", ...}
```

### Spatial: tornadoes within 100 km of Denver

```
?near=39.74,-104.99,100&type=TORNADO&count_only=true
```

```json
{"count": 617}
```

### Threshold: Category 4+ North Atlantic hurricanes

```
?type=CYCLONE&min_saffir_cat=4&basin=NA&limit=2&format=list
```

```
{"count": 2, "limit": 2, "next_cursor": "..."}
{"uuid": "1e4d762a-c03e-4ea5-bbed-8001827b1045", "type": "CYCLONE", "name_en": "Major Hurricane - MELISSA", "nearest_admin0_iso2": "JM", ...}
{"uuid": "67da3838-25f6-4713-bd80-6e3e4fdc0e1b", "type": "CYCLONE", "name_en": "Major Hurricane - HUMBERTO", "nearest_admin0_iso2": "AI", ...}
```

Sixty-six records matched in total.

### Ordering: strongest Oklahoma tornadoes by casualties

```
?type=TORNADO&min_ef=3&state_code=OK&order_by=casualties%20desc&limit=3&format=list
```

```
{"count": 3, "limit": 3, "next_cursor": "..."}
{"name_en": "Tornado - Norman, OK WFO Region, US", "ef_rating": "EF3", "casualties": 16.0, ...}
{"name_en": "Tornado — Comanche [OK]", "ef_rating": "EF3", "casualties": 12.0, ...}
{"name_en": "Tornado — Bryan [OK]", "ef_rating": "EF3", "casualties": 12.0, ...}
```

Note the `type=TORNADO` filter. Without it, this query scans the whole archive and times out at the gateway. The space in `order_by` must be URL-encoded as `%20` (or `+`).

### Walking the cursor

Page 1:

```
?type=EARTHQUAKE&year_gte=2020&country_code=US&limit=2&format=list
```

```
{"count": 2, "limit": 2, "next_cursor": "WzE3ODUwNTU1MjEsICIwZGM1MGJlZi1lYzM5LTQ1NTQtOTNlNC1mOTc3ZDM3NDFiMzYiXQ=="}
{"uuid": "c554507b-c769-43ab-8c67-07c116d4aa8c", "created_at": 1785272838, ...}
{"uuid": "0dc50bef-ec39-4554-93e4-f977d3741b36", "created_at": 1785055521, ...}
```

Page 2 — the same query with `cursor` appended:

```
?type=EARTHQUAKE&year_gte=2020&country_code=US&limit=2&format=list&cursor=WzE3ODUwNTU1MjEsICIwZGM1MGJlZi1lYzM5LTQ1NTQtOTNlNC1mOTc3ZDM3NDFiMzYiXQ==
```

```
{"count": 2, "limit": 2, "next_cursor": "WzE3ODQ4NTU2NjUsICJjNTNjOTQxYS0zOWFmLTQ0NDMtYjU4NC1hYzc2ZWQ4NTA2ZTAiXQ=="}
{"uuid": "dd242b92-0731-4c4b-80aa-b612bb1c106a", "created_at": 1785014061, ...}
{"uuid": "c53c941a-39af-4443-b584-ac76ed8506e0", "created_at": 1784855665, ...}
```

Continue until `next_cursor` is `null`. Note that `created_at` descends across the page boundary with no gap or overlap.

### Migration: looking up a V1 hazard by its numeric id

```
?legacy_hazard_id=471892&format=full
```

Returns the V2 record for the hazard that was `hazard_ID` 471892 in the V1 API — the Denali earthquake above. The record's own `legacy_hazard_id` field carries the same value, so a one-time pass over your stored V1 ids will resolve them to uuids.

{% hint style="warning" %}
**A V1 id can match more than one record.** V1 minted ids from ranges and reused them across runs, so the same numeric id can appear on two unrelated hazards. `?legacy_hazard_id=950210` returns two: a severe thunderstorm in Giles County, Tennessee and a tornado in St. Tammany Parish, Louisiana. `906288` likewise returns a storm in Covington County, Alabama and a tornado in Franklin County, Massachusetts.

Write your migration to expect a **set** of records per V1 id and to disambiguate on `type`, `started_at` or location — not to assume a single hit. Once resolved, key everything on `uuid`, which is unique and stable.
{% endhint %}

A `count` of `0` means that V1 id is not in the historical archive — most often because the hazard was created after the archive's most recent build (see [Coverage](#coverage)). For those, [`/hazards/{id}`](/hazards/requesting-a-hazard) with the numeric id still returns the V1-shaped record.


# Hazard Samples


# Earthquake Sample

This page provides a complete sample response for an earthquake hazard from the Active Hazards API endpoint. This example demonstrates the full structure of an earthquake hazard object, including incident details, ShakeMap coverage data, alert geometry, exposure areas, and exposure assessment data.

## Earthquake-Specific Properties

### Incident Data

The `incident.properties` object of the earthquake provides detailed seismological data sourced from the USGS National Earthquake Information Center (NEIC). This snapshot includes several key properties that describe the physical characteristics and impact potential of the earthquake.

**Key incident properties for earthquakes include:**

* `magRounded` - Rounded magnitude of the earthquake (e.g., 5.5)
* `mag` - Precise magnitude value from USGS
* `depthKm` / `depthMile` - Depth of the earthquake in kilometers and miles
* `place` - Human-readable location description
* `title` - Full hazard title including magnitude and location
* `magType` - Magnitude type used for measurement (e.g., mww, Mi, mb)
* `tsunami` - Tsunami flag (0 = no tsunami warning, 1 = tsunami warning issued)
* `sig` - Significance score (0-1000) combining magnitude, felt reports, and damage
* `mmi` - Modified Mercalli Intensity estimate (decimal value representing expected shaking intensity)
* `alert` - PAGER alert level indicating estimated impact (green, yellow, orange, red)
* `cdi` - Community Decimal Intensity from "Did You Feel It?" reports
* `felt` - Number of "Did You Feel It?" responses received
* `url` - Direct link to the USGS earthquake event page
* `detail` - URL to the USGS GeoJSON detail feed for this event
* `id` - USGS event identifier (e.g., us7000s2bn)
* `code` - Event code portion of the identifier
* `ids` - Comma-delimited list of associated event IDs from contributing networks
* `net` - Preferred contributing network (e.g., us, ak, ci)
* `sources` - Comma-delimited list of contributing network codes
* `types` - Comma-delimited list of available product types (e.g., shakemap, losspager, moment-tensor)
* `nst` - Number of seismic stations used to determine location
* `gap` - Largest azimuthal gap between adjacent stations (degrees)
* `dmin` - Minimum distance to the nearest station (degrees)
* `rms` - Root-mean-square travel time residual (seconds)
* `time` - Origin time of the earthquake in epoch milliseconds
* `updated` - Time when the event was last updated in epoch milliseconds
* `status` - Review status of the earthquake data (e.g., reviewed, automatic)
* `shakemapVersion` - Version of the ShakeMap product available for this event
* `latitudeRounded` / `longitudeRounded` - Rounded epicenter coordinates
* `featureType` - Feature classification (INCIDENT)
* `reportDate` / `eventDate` - ISO 8601 timestamps for the report and event
* `coordinate` - Epicenter location as a spatial reference object
* `ingestedAt` / `processedAt` - Internal timestamps for data pipeline processing (epoch milliseconds)
* `coveragePgaHighRes` - High-resolution Peak Ground Acceleration grid data from ShakeMap (see below)

USGS-sourced records additionally carry `coordinate` (the epicenter as a spatial reference object), `craton` (the tectonic province used in shaking estimates), and `__kafka_message_key__` (an internal ingestion key; safe to ignore). Analyst-curated earthquake records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) rather than the USGS fields above.

### ShakeMap Coverage (coveragePgaHighRes)

When ShakeMap data is available from the USGS, the `coveragePgaHighRes` property contains a high-resolution gridded Peak Ground Acceleration (PGA) dataset following the OGC CoverageJSON specification. This data represents the estimated ground shaking intensity across the affected area.

**Structure:**

* `domain` - Defines the geographic grid with `x` (longitude) and `y` (latitude) axes, including start/stop bounds and number of grid points (`num`)
* `parameters.PGA` - Describes the parameter as Peak Ground Acceleration with units in natural logarithm of "g" (gravitational acceleration)
* `ranges.PGA` - Contains the actual grid values as an NdArray with shape `[y, x]`. Values are `ln(g)` — convert to %g using `exp(value) * 100`

### Features

The `features` property is `null` for standard earthquake hazards. When ShakeMap data is available from the USGS for significant earthquakes, this property may be populated with shake intensity contours and related geospatial features.

### Exposure Areas

The `exposureAreas` property contains a GeoJSON FeatureCollection with polygon rings around the earthquake epicenter representing expected ground shaking intensity. The number of levels varies based on earthquake characteristics and available ShakeMap data:

* **Level 1**: Moderate (V) to Strong (VI) shaking
* **Level 2**: Very Strong (VII) shaking (when applicable)
* **Level 3**: Severe (VIII+) shaking (when applicable)

### Exposure Assessment Units

The `exposureAssessment` object uses the following units:

* `foodNeedsUnit`: CAL (calories)
* `waterNeedsUnit`: liter (liters)
* `wasteNeedsUnit`: 100 liter (100-liter units)
* `shelterNeedsUnit`: sq meters (square meters)

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Earthquake - 6.3 - 85 km W of Vallenar, Chile"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "An earthquake with a magnitude of 6.3 at a depth of 10.0 km (6.21 miles) has occurred at 85 km W of Vallenar, Chile, as reported by the National Earthquake Information Center (NEIC) of the USGS on March 13, 2026 13:39:18 UTC.\n\nBased on the preliminary data, earthquakes of this depth and magnitude are expected to result in moderate to severe shaking in the affected area. Initial estimates indicate that 1,260 people, 406 households, and $86.3 Million (USD) of infrastructure* are concentrated within the affected area. Exposure estimates will be refined as additional data from official sources becomes available. Additional information will be provided as it becomes available by official sources.\n\nEpicenter: Latitude: -28.684, Longitude: -71.6269\n*The cost represents the total replacement value of the infrastructure.\n\n"
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "incident": {
    "uuid": "03daa125-6cb7-4c3c-905d-97fa54d17f05",
    "type": "EARTHQUAKE",
    "sourceId": 3,
    "sourceRecordId": "us6000sg0y",
    "properties": {
      "magRounded": 6.3,
      "mmi": 5.967,
      "magType": "mww",
      "sig": 611,
      "tsunami": 0,
      "mag": 6.3,
      "reportDate": "2026-03-13T13:39:18.599000+00:00",
      "alert": "green",
      "featureType": "INCIDENT",
      "id": "us6000sg0y",
      "place": "85 km W of Vallenar, Chile",
      "depthMile": 6.21,
      "depthKm": 10,
      "url": "https://earthquake.usgs.gov/earthquakes/eventpage/us6000sg0y",
      "status": "reviewed",
      "eventDate": "2026-03-13T13:39:18.599000+00:00",
      "...": ""
    }
  },
  "uuid": "e129c22e-1d64-4b3f-899f-f9876fb94907",
  "comment": null,
  "createdAt": 1773410472,
  "relatedHazards": [],
  "longitude": -71.6269,
  "latitude": -28.684,
  "version": 5,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": null,
  "exposureAreas": {
    "type": "FeatureCollection",
    "name": "GeoJSON",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 1
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 1260,
      "total0_14": 219,
      "total15_64": 869,
      "households": 406,
      "vulnerable": 82,
      "total65_Plus": 173
    },
    "capital": {
      "total": 86381200,
      "school": 0,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 1260,
          "total0_14": 219,
          "total15_64": 869,
          "households": 406,
          "vulnerable": 82,
          "total65_Plus": 173
        },
        "country": "CHL",
        "capital": {
          "total": 86381200,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Chile",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 171990.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 245.7,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 8.19,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 282.555
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 1260,
          "total0_14": 219,
          "total15_64": 869,
          "households": 406,
          "vulnerable": 82,
          "total65_Plus": 173
        },
        "country": "CHL",
        "capital": {
          "total": 86381200,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Chile",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 171990.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 245.7,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 8.19,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 282.555
      }
    ],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 1260,
            "total0_14": 219,
            "total15_64": 869,
            "households": 406,
            "vulnerable": 82,
            "total65_Plus": 173
          },
          "capital": {
            "total": 86381200,
            "school": 0,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 1260,
                "total0_14": 219,
                "total15_64": 869,
                "households": 406,
                "vulnerable": 82,
                "total65_Plus": 173
              },
              "country": "CHL",
              "capital": {
                "total": 86381200,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Chile",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 171990.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 245.7,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 8.19,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 282.555
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 1260,
                "total0_14": 219,
                "total15_64": 869,
                "households": 406,
                "vulnerable": 82,
                "total65_Plus": 173
              },
              "country": "CHL",
              "capital": {
                "total": 86381200,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Chile",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 171990.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 245.7,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 8.19,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 282.555
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 171990.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 245.7,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 8.19,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 282.555
        },
        "exposureDescription": "Moderate (V) to Strong (VI) Shaking"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773410463233",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 171990.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 245.7,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 8.19,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 282.555
  },
  "type": "EARTHQUAKE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773409158,
  "updatedAt": 1773410463,
  "endedAt": 1773581958
}
```

{% hint style="info" %}
Note: In this sample, coordinate arrays in `alertGeometry` and `exposureAreas` have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields — internal pipeline fields (`__kafka_message_key__`, `sourceMessageHash`, `ingestedAt`, `processedAt`, `master_incident_id`, `craton`, `tz`, `name`) are omitted from the sample. This earthquake did not include ShakeMap coverage data (`coveragePgaHighRes`); when available, that property contains a high-resolution PGA grid — see the ShakeMap Coverage section above for details.
{% endhint %}


# Cyclone Sample

This page provides a complete sample response for a tropical cyclone hazard from the Active Hazards API endpoint. The API response for tropical cyclones is designed to provide comprehensive and detailed information about ongoing and forecasted cyclonic activity.

Each cyclone object within the response includes several key properties that convey vital data about the storm. These properties cover observed and predicted locations, the cyclone's rate of movement, and its direction. Additionally, the response includes critical information on expected landfall areas, enabling users to assess potential impacts. By offering precise and up-to-date details, this API ensures that users have access to essential information for tracking and responding to tropical cyclones effectively.

Each cyclone object is updated every time the reporting agency publishes a new advisory and the maximum sustained wind speed model has completed its analysis.

## Storm Position Symbols

The following symbols are used in the `features` property to indicate storm positions and forecast classifications:

| Value   | Label                                | Description                                            |
| ------- | ------------------------------------ | ------------------------------------------------------ |
| **FST** | Forecast Hurricane/Typhoon > 150 mph | Forecast super typhoon / Category 5 hurricane          |
| **FTY** | Forecast Hurricane/Typhoon > 74 mph  | Forecast typhoon / Category 1–4 hurricane              |
| **FTS** | Forecast Tropical Storm              | Forecast tropical storm                                |
| **FTD** | Forecast Tropical Depression         | Forecast tropical depression                           |
| **CST** | Current Hurricane/Typhoon > 150 mph  | Current super typhoon / Category 5 hurricane           |
| **CTY** | Current Hurricane/Typhoon > 74 mph   | Current typhoon / Category 1–4 hurricane               |
| **CTS** | Current Tropical Storm               | Current tropical storm                                 |
| **CTD** | Current Tropical Depression          | Current tropical depression                            |
| **PST** | Previous Hurricane/Typhoon > 150 mph | Previous super typhoon / Category 5 hurricane position |
| **PTY** | Previous Hurricane/Typhoon > 74 mph  | Previous typhoon / Category 1–4 hurricane position     |
| **PTS** | Previous Tropical Storm              | Previous tropical storm position                       |
| **PTD** | Previous Tropical Depression         | Previous tropical depression position                  |

## Cyclone-Specific Properties

### Incident Data

The `incident.properties` object of the cyclone provides a detailed and real-time summary of the storm's current status and characteristics. This snapshot includes several crucial properties that describe the physical aspects of the cyclone. Key attributes such as storm direction and speed, as well as wind speeds, are documented to give a clear picture of the storm's behavior and intensity. Additionally, the snapshot contains information about the authoritative agency that reported the storm, such as the Joint Typhoon Warning Center (JTWC) or National Hurricane Center (NHC). This ensures the data's reliability and allows users to trace the source of the information for further validation and context.

**Key incident properties for cyclones include:**

* `maxWindsKph` / `maxWindsMph` - Maximum sustained wind speeds
* `maxGustsKph` / `maxGustsMph` - Maximum wind gust speeds
* `speedKph` / `speedMph` - Forward movement speed of the storm
* `direction` - Direction of storm movement
* `pressure` - Central pressure in millibars
* `saffirSimpson` - Saffir-Simpson category (0-5)
* `symbolCode` - Storm classification code (TD, TS, TY, ST)
* `advisoryNum` - Advisory number from the reporting agency
* `landfallAdmin0` / `landfallAdmin1` - Landfall location information
* `hoursLandfall` - Hours until projected landfall
* `forecastSpeed` - Expected intensity change (strengthen/weaken)

Analyst-curated cyclone records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) instead of the advisory fields above.

### Features

The `features` property of the cyclone object is a GeoJSON feature collection, offering a structured and geospatial representation of the storm. Each feature within this collection includes a properties block that indicates its type. The primary types of features are:

* **segments** - Lines depicting the storm's observed and projected path
* **positions** - Points showing observed and forecast storm locations with detailed meteorological data
* **cones** - Polygons representing the maximum variation in projected storm movement over specific time intervals (e.g., 72-hour, 120-hour forecast cones), providing a range of potential trajectories
* **wind radii** - Circles or polygons illustrating the wind fields generated by the storm at both current and forecasted locations, highlighting areas affected by varying wind speeds (34kt, 50kt, 64kt thresholds)

This comprehensive feature set enables detailed analysis and visualization of the cyclone's development and potential impact.

### Exposure Areas

The `exposureAreas` property generalizes the maximum sustained wind speed model of the cyclone into three distinct categories. These categories indicate regions where severe, strong, and moderate damage can be expected, similar to exposure areas for other types of hazards. This classification helps users quickly understand the potential impact zones and prepare accordingly.

* **Level 1**: Moderate severity/impact
* **Level 2**: Strong severity/impact
* **Level 3**: Severe severity/impact

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Tropical Cyclone - Gezani"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A tropical cyclone forecast has been issued by Joint Typhoon Warning Center (JTWC) on February 16, 2026 21:00:00 UTC. Tropical Cyclone - Gezani is located in the S Indian Ocean with maximum sustained winds of 111 km/h (69 mph), and wind gusts up to 139 km/h (86 mph).\n\nAccording to this forecast (#19), the cyclone is headed east-southeast at about 19 km/h (12 mph), and is expected to remain at this strength over the next 24 hours.  It is cautioned, however, that the storm's actual position may shift significantly over the next few days.\n\nBased on the current forecast (the storm's center and path), Tropical Cyclone - Gezani is not expected to cross-over a major land-mass within the next 48-72 hours (although it may impact smaller islands along the way).\n\nFor the extended forecast, an estimated 18,500 people, 4,330 households, and $11.3 Million (USD) of infrastructure* are potentially exposed to moderate to severe damaging winds (with damage expected closer to the shores). All shorelines in the path of the storm are exposed to potential storm surge, and inland areas within the proximity of the storm are exposed to potential flooding.\n\nAdditional updates will be provided as they become available by official sources.\n\n*The cost represents the total replacement value of the infrastructure.\n\n"
    }
  ],
  "severity": "ADVISORY",
  "category": "EVENT",
  "incident": {
    "uuid": "dca1ed18-d585-42fd-ae9b-8d6e3d0e6aeb",
    "type": "CYCLONE",
    "sourceId": 45,
    "sourceRecordId": "SH212026",
    "properties": {
      "sourceId": 45,
      "hazardName": "Tropical Cyclone - Gezani",
      "__kafka_message_key__": "2e1326fe-4bb5-4efb-97af-40a99819921e",
      "year": 2026,
      "atcfId": "SH212026",
      "intersectingPopulation": null,
      "latitude": -25.3,
      "maxGustsKph": 139,
      "source": "cyclone_jtwc",
      "maxGustsMph": 86,
      "issuer": "JTWC",
      "distanceLandfallK": null,
      "maxWindsKph": 111,
      "sourceUpdatedAt": 1771275600000,
      "stormStatus": "TROPICAL CYCLONE",
      "distanceLandfallM": null,
      "landfallAdmin0": null,
      "maxWindsMph": 69,
      "hasPrevLandfall": false,
      "eventTime": 1770508800000,
      "taosArchive": "kinetic_60as_1771272235222_3879790.zip",
      "landfallAdmin1": null,
      "wmoHeader": "WTXS32",
      "earliestPopulationIntersection": 120,
      "advisoryNum": 19,
      "overviews": null,
      "direction": "east-southeast",
      "longitude": 43.6,
      "hoursLandfall": null,
      "speedKph": 19,
      "speedMph": 12,
      "forecastType": "lastest_details",
      "pressure": 984,
      "categoryLandfall": null,
      "saffirSimpson": 0,
      "sourceMessageHash": "a7332756a79f1169409e240983ff61870b09bfb3ac6ccb4c4224a155756d9131",
      "landfallTime": null,
      "rawMessageUri": "S3://messagestorage.pdc.org/PROD/Incidents/CYCLONE_TAOS/raw_source_messages/SH212026_019.txt",
      "symbolCode": "TS",
      "modelRunAt": 1771272139000,
      "forecastSpeed": "remain at this strength",
      "name": "Gezani",
      "speedatLandfallKph": null,
      "pathIntersect": null,
      "region": "S Indian Ocean",
      "masterIncidentId": "45.17712724295472.1",
      "speedatLandfallMph": null
    }
  },
  "uuid": "aaf86be8-b195-4c7d-a8d5-331760bd4f46",
  "comment": null,
  "createdAt": 1771272904,
  "relatedHazards": [],
  "longitude": 43.6,
  "latitude": -25.3,
  "version": 43,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": {}
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "segment",
          "maxWindsKph": 139,
          "maxWindsKt": 75,
          "maxWindsMph": 86,
          "saffirSimpson": 1,
          "segmentNumber": -1,
          "symbolCode": "TY"
        },
        "geometry": {
          "type": "LineString",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "segment",
          "maxWindsKph": 111,
          "maxWindsKt": 60,
          "maxWindsMph": 69,
          "saffirSimpson": 0,
          "segmentNumber": 0,
          "symbolCode": "TS"
        },
        "geometry": {
          "type": "LineString",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      // ... additional segment features (segmentNumber 1-3) omitted for brevity
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "cone",
          "advisory_num": 19,
          "coneSource": "JTWC",
          "forecastPeriodHour": 120,
          "intersectsPopulation": true
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "position",
          "atcfId": "SH212026",
          "dayHr": "2026 FEB 16, 18:00Z",
          "dirDeg": 115,
          "forecastDate": 1771264800000,
          "forecastDateTime": "2026 FEB 16, 18:00Z",
          "forecastDateUserPref": "2026-02-16 18:00:00",
          "forecastTime": "MON 18Z",
          "gustsKph": 139,
          "gustsKt": 75,
          "gustsMph": 86,
          "latitude": "25.3S",
          "longitude": "43.6E",
          "maxWindsKph": 111,
          "maxWindsKt": 60,
          "maxWindsMph": 69,
          "positionNo": 0,
          "rad1NeNm": 0,
          "rad1NwNm": 0,
          "rad1SeNm": 0,
          "rad1SpdKt": 64,
          "rad1SwNm": 0,
          "rad2NeNm": 30,
          "rad2NwNm": 30,
          "rad2SeNm": 55,
          "rad2SpdKt": 50,
          "rad2SwNm": 55,
          "rad3NeNm": 60,
          "rad3NwNm": 60,
          "rad3SeNm": 120,
          "rad3SpdKt": 34,
          "rad3SwNm": 120,
          "saffirSimpson": 0,
          "speedKph": 19,
          "speedKt": 10,
          "speedMph": 12,
          "symbolCode": "TS"
        },
        "geometry": {
          "type": "Point",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "position",
          "atcfId": "SH212026",
          "dayHr": "2026 FEB 17, 06:00Z",
          "dirDeg": 200,
          "forecastDate": 1771308000000,
          "forecastDateTime": "2026 FEB 17, 06:00Z",
          "forecastDateUserPref": "2026-02-17 06:00:00",
          "forecastTime": "TUE 06Z",
          "gustsKph": 139,
          "gustsKt": 75,
          "gustsMph": 86,
          "latitude": "28.0S",
          "longitude": "43.7E",
          "maxWindsKph": 111,
          "maxWindsKt": 60,
          "maxWindsMph": 69,
          "positionNo": 1,
          "rad1NeNm": 0,
          "rad1NwNm": 0,
          "rad1SeNm": 0,
          "rad1SpdKt": 64,
          "rad1SwNm": 0,
          "rad2NeNm": 40,
          "rad2NwNm": 20,
          "rad2SeNm": 60,
          "rad2SpdKt": 50,
          "rad2SwNm": 40,
          "rad3NeNm": 110,
          "rad3NwNm": 60,
          "rad3SeNm": 160,
          "rad3SpdKt": 34,
          "rad3SwNm": 120,
          "saffirSimpson": 0,
          "speedKph": 30,
          "speedKt": 16,
          "speedMph": 18,
          "symbolCode": "TS"
        },
        "geometry": {
          "type": "Point",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      // ... additional position features (positionNo 2-4) omitted for brevity
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "wind_radii",
          "radWindKph": 93,
          "radWindKt": 50,
          "radWindMph": 58,
          "wind_radii_position_num": 0
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "type": "wind_radii",
          "radWindKph": 63,
          "radWindKt": 34,
          "radWindMph": 39,
          "wind_radii_position_num": 0
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
      // ... additional wind_radii features for positions 1-4 omitted for brevity
    ],
    "incidentType": "CYCLONE",
    "metadata": {
      "sourceId": 45,
      "hazardName": "Tropical Cyclone - Gezani",
      "__kafka_message_key__": "2e1326fe-4bb5-4efb-97af-40a99819921e",
      "year": 2026,
      "atcfId": "SH212026",
      "intersectingPopulation": null,
      "latitude": -25.3,
      "maxGustsKph": 139,
      "source": "cyclone_jtwc",
      "maxGustsMph": 86,
      "issuer": "JTWC",
      "distanceLandfallK": null,
      "maxWindsKph": 111,
      "sourceUpdatedAt": 1771275600000,
      "stormStatus": "TROPICAL CYCLONE",
      "distanceLandfallM": null,
      "landfallAdmin0": null,
      "maxWindsMph": 69,
      "hasPrevLandfall": false,
      "eventTime": 1771264800000,
      "landfallAdmin1": null,
      "wmoHeader": "WTXS32",
      "earliestPopulationIntersection": 120,
      "advisoryNum": 19,
      "overviews": null,
      "direction": "east-southeast",
      "longitude": 43.6,
      "hoursLandfall": null,
      "speedKph": 19,
      "speedMph": 12,
      "forecastType": "lastest_details",
      "pressure": 984,
      "categoryLandfall": null,
      "saffirSimpson": 0,
      "sourceMessageHash": "a7332756a79f1169409e240983ff61870b09bfb3ac6ccb4c4224a155756d9131",
      "landfallTime": null,
      "rawMessageUri": "S3://messagestorage.pdc.org/PROD/Incidents/CYCLONE_TAOS/raw_source_messages/SH212026_019.txt",
      "symbolCode": "TS",
      "forecastSpeed": "remain at this strength",
      "name": "Gezani",
      "speedatLandfallKph": null,
      "pathIntersect": null,
      "region": "S Indian Ocean",
      "masterIncidentId": "45.17712724295472.1",
      "speedatLandfallMph": null
    },
    "type": "FeatureCollection",
    "sourceId": 45
  },
  "exposureAreas": {
    "type": "FeatureCollection",
    "name": "GeoJSON",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 1
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 18500.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 11313500.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 18500.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 11313500.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 27300000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 39000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 1300.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 44850.0
        },
        "exposureDescription": "Minor Damage; power out"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1771272874429",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 27300000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 39000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 1300.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 44850.0
  },
  "type": "CYCLONE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1770508800,
  "updatedAt": 1771272874,
  "endedAt": 1771362000
}
```

{% hint style="info" %}
Note: In this sample, coordinate arrays in `alertGeometry`, `features` geometries, and `exposureAreas` geometries have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, the `features` array has been truncated to show only representative examples of segment, cone, position, and wind\_radii feature types.
{% endhint %}


# Flood Sample

This page provides a complete sample response for a flood hazard from the Active Hazards API endpoint. Flood hazards are sourced from multiple providers including the NASA Global Flood Model and the Australian Bureau of Meteorology. The sample below shows an Australian BoM riverine flood warning.

## Flood-Specific Properties

### Incident Data

The `incident.properties` object for flood hazards varies by source. For Australian Bureau of Meteorology alerts, key properties include:

* `hazardName` - Name of the flood event
* `senderName` - Source name (e.g., "Australian Government Bureau of Meteorology")
* `headline` - Official flood warning headline text
* `severity` - Severity level (e.g., "Severe")
* `urgency` - Urgency classification
* `certainty` - Certainty classification

For NASA Global Flood Model alerts, additional properties include `pfafId`, `pfafIdList`, `rfrScore`, `cfrScore`, `scaledRiverineRisk`, `scaledCoastalRisk`, `hazardScore`, `GloFAS2Yr`/`GloFAS5Yr`/`GloFAS20Yr`, `VIIRSTotalScore`, `DFOTotalScore`, `oneDayFloodAreaKm`/`fiveDayFloodAreaKm`, `incidentSeverity`, and `flag`.

Analyst-curated flood records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) and carry none of the CAP or flood-model fields above. Check `incident.sourceId` to determine which variant you have.

### Features

The `features` property for floods contains GeoJSON features describing the affected areas. Feature types and content vary by source provider.

### Exposure Areas

Floods may use multiple exposure levels depending on the source:

* **Level 0 (LIMITED)**: Areas with limited flood exposure
* **Level 1 (MODERATE)**: Areas with moderate flood exposure
* **Level 2 (STRONG)**: Areas with strong flood exposure

### Exposure Assessment Units

* **`population`**: Object containing demographic breakdowns — `total` (number of people), `total0_14` (children 0-14), `total15_64` (adults 15-64), `total65_Plus` (seniors 65+), `households` (number of households), `vulnerable` (vulnerable population)
* **`capital`**: Object containing infrastructure data — `total` (USD replacement value), `school` (number of schools), `hospital` (number of hospitals)
* **`totalByCountry`**: Array of regional breakdowns per country, each containing `population`, `capital`, country code (`country`), admin names (`admin0`, `admin1`, `admin2`), and humanitarian needs (`foodNeeds`, `waterNeeds`, `wasteNeeds`, `shelterNeeds` with units)
* **`totalByAdmin`**: Array of admin-level breakdowns with the same structure as `totalByCountry`
* **Humanitarian needs**: `foodNeeds` (CAL), `waterNeeds` (liters), `wasteNeeds` (100 liters), `shelterNeeds` (sq meters)

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Riverine Flood - Rockhampton, Queensland, Australia"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Australian Government Bureau of Meteorology has issued a Riverine Flood Warning for March 13, 2026, 05:17:18 UTC through March 14, 2026, 05:17:36 UTC for Rockhampton, Queensland, Australia.\n\nIt is estimated that 147,000 people, 59,000 households, and $20.7 Billion (USD) of infrastructure* are within the affected area(s). ..."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "169dde41-c987-4765-a8ef-7e717a9bb9b4",
    "type": "FLOOD",
    "sourceId": 1799,
    "sourceRecordId": "AusBoM-IDQ20765-2026-03-08T04:53:36+00:00",
    "properties": {
      "hazardName": "Riverine Flood - Rockhampton, Queensland, Australia",
      "senderName": "Australian Government Bureau of Meteorology",
      "urgency": "Unknown",
      "headline": "Moderate Flood Warning for Dawson River to Theodore...",
      "severity": "Severe",
      "certainty": "Unknown",
      "status": null,
      "...": ""
    }
  },
  "uuid": "9f7cbaef-6cb0-47f7-99d7-eb59632434d8",
  "comment": null,
  "createdAt": 1773379056,
  "relatedHazards": [],
  "longitude": 149.04417,
  "latitude": -24.64846,
  "version": 19,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "LIMITED"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      "..."
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "LIMITED"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "MODERATE"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "STRONG"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 147000,
      "total0_14": 26504,
      "total15_64": 94962,
      "total65_Plus": 25563,
      "households": 59036,
      "vulnerable": 19100
    },
    "capital": {
      "total": 20710059300,
      "school": 4,
      "hospital": 13
    },
    "totalByCountry": [
      {
        "population": {
          "total": 147000,
          "total0_14": 26504,
          "total15_64": 94962,
          "total65_Plus": 25563,
          "households": 59036,
          "vulnerable": 19100
        },
        "country": "AUS",
        "capital": {
          "total": 20710059300,
          "school": 4,
          "hospital": 13
        },
        "admin0": "Australia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 40110000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 57300.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1910.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 65895.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 147000,
          "total0_14": 26504,
          "total15_64": 94962,
          "total65_Plus": 25563,
          "households": 59036,
          "vulnerable": 19100
        },
        "country": "AUS",
        "capital": {
          "total": 20710059300,
          "school": 4,
          "hospital": 13
        },
        "admin0": "Australia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 40110000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 57300.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1910.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 65895.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 39500,
            "total0_14": 7122,
            "total15_64": 25517,
            "total65_Plus": 6869,
            "households": 15863,
            "vulnerable": 5130
          },
          "capital": {
            "total": 3638989100,
            "school": 1,
            "hospital": 4
          },
          "totalByCountry": [
            {
              "population": {
                "total": 39500,
                "total0_14": 7122,
                "total15_64": 25517,
                "total65_Plus": 6869,
                "households": 15863,
                "vulnerable": 5130
              },
              "country": "AUS",
              "capital": {
                "total": 3638989100,
                "school": 1,
                "hospital": 4
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 10773000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 15390.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 513.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 17698.5
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 39500,
                "total0_14": 7122,
                "total15_64": 25517,
                "total65_Plus": 6869,
                "households": 15863,
                "vulnerable": 5130
              },
              "country": "AUS",
              "capital": {
                "total": 3638989100,
                "school": 1,
                "hospital": 4
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 10773000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 15390.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 513.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 17698.5
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 10773000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 15390.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 513.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 17698.5
        },
        "exposureDescription": "LIMITED"
      },
      {
        "level": "1",
        "data": {
          "population": {
            "total": 102000,
            "total0_14": 18391,
            "total15_64": 65892,
            "total65_Plus": 17738,
            "households": 40964,
            "vulnerable": 13200
          },
          "capital": {
            "total": 16397037900,
            "school": 3,
            "hospital": 7
          },
          "totalByCountry": [
            {
              "population": {
                "total": 102000,
                "total0_14": 18391,
                "total15_64": 65892,
                "total65_Plus": 17738,
                "households": 40964,
                "vulnerable": 13200
              },
              "country": "AUS",
              "capital": {
                "total": 16397037900,
                "school": 3,
                "hospital": 7
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 27720000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 39600.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 1320.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 45540.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 102000,
                "total0_14": 18391,
                "total15_64": 65892,
                "total65_Plus": 17738,
                "households": 40964,
                "vulnerable": 13200
              },
              "country": "AUS",
              "capital": {
                "total": 16397037900,
                "school": 3,
                "hospital": 7
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 27720000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 39600.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 1320.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 45540.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 27720000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 39600.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 1320.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 45540.0
        },
        "exposureDescription": "MODERATE"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 5790,
            "total0_14": 1044,
            "total15_64": 3740,
            "total65_Plus": 1007,
            "households": 2325,
            "vulnerable": 752
          },
          "capital": {
            "total": 674032300,
            "school": 0,
            "hospital": 2
          },
          "totalByCountry": [
            {
              "population": {
                "total": 5790,
                "total0_14": 1044,
                "total15_64": 3740,
                "total65_Plus": 1007,
                "households": 2325,
                "vulnerable": 752
              },
              "country": "AUS",
              "capital": {
                "total": 674032300,
                "school": 0,
                "hospital": 2
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1579200.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2256.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 75.2,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2594.4
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 5790,
                "total0_14": 1044,
                "total15_64": 3740,
                "total65_Plus": 1007,
                "households": 2325,
                "vulnerable": 752
              },
              "country": "AUS",
              "capital": {
                "total": 674032300,
                "school": 0,
                "hospital": 2
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1579200.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2256.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 75.2,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2594.4
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 1579200.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 2256.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 75.2,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 2594.4
        },
        "exposureDescription": "STRONG"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773379040778",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 40110000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 57300.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 1910.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 65895.0
  },
  "type": "FLOOD",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1772946151,
  "updatedAt": 1773379040,
  "endedAt": 1773465456
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. The `features` array has been truncated to show a representative EXPOSURE\_AREA feature type. This sample contained 3 exposure area features (LIMITED, MODERATE, STRONG) with 3 corresponding exposure levels in the exposure assessment.
{% endhint %}


# Volcano Sample

This page provides a complete sample response for a volcanic hazard from the Active Hazards API endpoint. Volcanic hazards in the API are sourced from Volcanic Ash Advisory Centres (VAACs), which are responsible for monitoring and issuing advisories on volcanic ash clouds that may affect aviation and surrounding populations. Each volcano object within the response includes detailed advisory information from the reporting VAAC, including observed and forecast ash cloud geometries, eruption details, and summit elevation data.

Advisories come from the nine VAACs — Anchorage, Buenos Aires, Darwin, London, Montreal, Tokyo, Toulouse, Washington and Wellington — each responsible for a region of the globe.

Each volcano object is updated every time the reporting VAAC publishes a new advisory. The response captures both the current state of the eruption and projected ash cloud positions at 6-hour forecast intervals, enabling users to assess potential impacts on aviation corridors and nearby populations.

## Severity and the Risk Rating Index

A volcano hazard's `severity` is not copied from the VAAC advisory. It is derived from four inputs, all of which are present on the record:

| Input                         | Where it appears                              | Notes                                                                                                                   |
| ----------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **VAAC aviation colour code** | `incident.properties.sourceSeverity`          | `RED`, `ORANGE`, `YELLOW` or `GREEN`. `null` when the reporting VAAC supplied no colour code, which is the common case. |
| **Risk Rating Index**         | `incident.properties.riskRating`              | Integer `0`–`3`. Higher means more population exposed.                                                                  |
| **Observed ash cloud**        | `incident.properties.observedAshCloudPresent` | Boolean.                                                                                                                |
| **Forecast ash cloud**        | `incident.properties.forecastAshCloudPresent` | Boolean.                                                                                                                |

### Aviation colour codes

The colour code is the International Civil Aviation Organization scale, assigned by the reporting VAAC.

| Colour code | Meaning                                                                                                         |
| ----------- | --------------------------------------------------------------------------------------------------------------- |
| **RED**     | Eruption underway or imminent, with significant ash emission.                                                   |
| **ORANGE**  | Eruption underway with no or minor ash emission, or heightened unrest with an increased likelihood of eruption. |
| **YELLOW**  | Signs of elevated unrest.                                                                                       |
| **GREEN**   | The volcano is in, or has returned to, a normal non-eruptive state.                                             |
| **`null`**  | No colour code was supplied. Severity then rests on ash cloud presence and the Risk Rating Index.               |

### Risk Rating Index

The Risk Rating Index is a DisasterAWARE value, not a VAAC one. It expresses how much population sits near the volcano, on a four-point ordinal scale.

| `riskRating` | Meaning                                                                                  |
| ------------ | ---------------------------------------------------------------------------------------- |
| **3**        | Highest. Raises the hazard to WARNING on its own, even when no colour code was supplied. |
| **2**        | Risk to nearby population is high.                                                       |
| **1**        | Risk to nearby population is moderate.                                                   |
| **0**        | Risk to nearby population is very low.                                                   |

{% hint style="info" %}
The population thresholds that divide one rating from the next are derived internally and are not published. Treat `riskRating` as an ordinal scale — 3 is more exposed than 2 — rather than as a value you can recompute from a population figure.
{% endhint %}

### Severity matrix

Read the row for the record's colour code, then the column that matches its Risk Rating Index and ash cloud flags.

| Colour code | WARNING when                                                     | WATCH when                                    | ADVISORY when                                                     |
| ----------- | ---------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------- |
| **RED**     | Always                                                           | —                                             | —                                                                 |
| **ORANGE**  | `riskRating` 2 or 3                                              | `riskRating` 0 or 1                           | —                                                                 |
| **YELLOW**  | `riskRating` 2 or 3                                              | `riskRating` 1                                | `riskRating` 0                                                    |
| **GREEN**   | —                                                                | —                                             | Always                                                            |
| **`null`**  | An ash cloud is both observed and forecast, or `riskRating` is 3 | An ash cloud is observed but none is forecast | No ash cloud is observed or forecast, and `riskRating` is below 3 |

All fourteen volcano hazards active on 2026-09-22 agreed with this table. The common shapes were an erupting volcano with no colour code and both ash cloud flags set, which is a WARNING regardless of its Risk Rating Index, and a quiet volcano with no colour code and no ash cloud, which is a WARNING at `riskRating` 3 and an ADVISORY below that.

### Effect on geometry

A volcano with no observed or forecast ash cloud carries no `SMART_ALERT` feature and no `ASH_CLOUD` features, so its `features` collection holds only the `INCIDENT` point at the summit. Its `alertGeometry` is still populated: a circular alert area of roughly 100 km radius around the summit, or the volcano's own exposure zone where PDC maintains one, which is usually smaller.

When an ash cloud is observed or forecast, `alertGeometry` instead follows the ash cloud and matches the `SMART_ALERT` polygon. Those areas are larger and are not circular — they extend along the plume.

`exposureAreas` is unaffected by severity: it is always the single level-0 zone described under [Exposure Areas](#exposure-areas).

## Volcano-Specific Properties

### Incident Data

The `incident.properties` object of the volcano provides a detailed summary of the current volcanic activity status and advisory information. This includes data sourced directly from the VAAC advisory message, covering eruption characteristics, ash cloud observations, and forecast information. Key attributes describe the volcano's physical properties, the current state of the eruption, and the reporting agency's assessment.

**Key incident properties for volcanoes include:**

* `advisoryNumber` - Advisory number from the reporting VAAC (e.g., "2026/306")
* `forecastAshCloudPresent` - Boolean indicating whether ash clouds are forecast in future time steps
* `observedAshCloudPresent` - Boolean indicating whether ash clouds have been observed
* `summitElevation` - Elevation of the volcano summit in meters (e.g., 3763)
* `eruptionDetails` - Brief description of the eruption activity (e.g., "ONGOING VA EMS")
* `infoSource` - Data sources used for the advisory (e.g., "GOES-19. WEBCAM. NWP MODELS")
* `riskRating` - Risk Rating Index, an integer 0-3 reflecting the population near the volcano. See [Severity and the Risk Rating Index](#severity-and-the-risk-rating-index)
* `sourceSeverity` - VAAC aviation colour code (`RED`, `ORANGE`, `YELLOW`, `GREEN`), or `null` when the reporting VAAC supplied none
* `locationDescription` - Geographic region of the volcano (e.g., "Guatemala")
* `nextAdvisory` - Expected time of the next advisory issuance
* `forecastValidTime` - Valid time for the current forecast observation
* `name` - Common name of the volcano (e.g., "Fuego")

The hazard name follows the pattern `Volcano - [volcano name], [area name]`, where the area is the country, or the Smithsonian region for undersea volcanoes. `incident.sourceRecordId` carries the volcano's Smithsonian Global Volcanism Program number — `342090` for Fuego, `211060` for Etna — which is stable across advisories and is the key to use when joining DisasterAWARE volcano hazards to an external volcano catalogue.

### Features

The `features` property of the volcano object is a GeoJSON feature collection providing a geospatial representation of the volcanic event. Each feature within this collection includes a `featureType` property that indicates its role. The primary types of features are:

* **ASH\_CLOUD features** - Polygon geometries showing observed and forecast ash cloud extents at different time steps (0hr, 6hr, 12hr, 18hr). Each ASH\_CLOUD feature includes a `forecastHr` property indicating the forecast hour offset and a `forecastValidTime` indicating the valid time for that forecast step. The 0hr feature represents the currently observed ash cloud, while subsequent features represent projected positions.
* **SMART\_ALERT features** - A polygon representing the alert boundary area for the volcanic event. This geometry defines the broader region under advisory and is also reflected in the top-level `alertGeometry` property.
* **INCIDENT features** - A point geometry located at the volcano's summit, containing the full set of advisory details (eruption information, risk rating, source details, and all properties from the incident data). This serves as the geographic anchor for the volcanic event.

### Exposure Areas

The `exposureAreas` property for volcanoes uses a single exposure level, reflecting the PDC Volcano Hazard Zone around the summit.

* **Level 0** - PDC Volcano Hazard Zone. This is typically a buffer area around the volcano summit that follows known hazard zones, generally extending approximately 10km from the summit. The geometry may include multiple rings to account for terrain and historical hazard patterns.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Volcano - Fuego, Guatemala"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Volcanic activity has been reported for Fuego in Guatemala, by the Washington Volcanic Ash Advisory Centre (VAAC) on March 13, 2026, 19:44:00 UTC.\n\nThis volcanic activity is reported based on aerial, satellite and/or ground observations.\n\nIt is estimated that 79,300 people, 17,600 households, and $618 Million (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nVolcano information sources for this report include: GOES-19. WEBCAM. NWP MODELS.\n\nAdditional information will be provided as it becomes available by official sources.\n\n*The cost represents the total replacement value of the infrastructure.\n\n"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "37ea49e4-6a86-4aa5-a7e6-c19f4b1081ad",
    "type": "VOLCANO",
    "sourceId": 133,
    "sourceRecordId": "342090",
    "properties": {
      "hazardName": "Volcano - Fuego, Guatemala",
      "advisoryNumber": "2026/306",
      "locationDescription": "Guatemala",
      "reportDate": "2026-03-13T19:44:00+00:00",
      "featureType": "INCIDENT",
      "summitElevation": 3763,
      "eventDate": "2025-03-01T12:30:00+00:00",
      "...": ""
    }
  },
  "uuid": "d47c3a21-14a7-47aa-aea7-02c62ca2f758",
  "comment": null,
  "createdAt": 1773431269,
  "relatedHazards": [],
  "longitude": -90.88,
  "latitude": 14.473,
  "version": 375,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "forecastHr": 0,
          "forecastValidTime": "2026-03-13T19:10:00+00:00",
          "featureType": "ASH_CLOUD",
          "type": "FORECAST"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "FORECAST",
            "forecastHr": 0,
            "forecastValidTime": "2026-03-13T19:10:00+00:00",
            "featureType": "ASH_CLOUD"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "SMART_ALERT",
            "featureType": "SMART_ALERT"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "INCIDENT",
          "type": "INCIDENT",
          "...": ""
        },
        "geometry": {
          "coordinates": [
            -90.88,
            14.473
          ],
          "type": "Point",
          "properties": {
            "featureType": "INCIDENT",
            "type": "INCIDENT",
            "...": ""
          }
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": "0",
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "intensity": "UNCATEGORIZED",
            "exposureDescription": "PDC Volcano Hazard Zone",
            "featureType": "EXPOSURE_AREA",
            "exposureLevel": "1"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 79300,
      "total0_14": 25487,
      "total15_64": 50070,
      "total65_Plus": 3759,
      "households": 17622,
      "vulnerable": 47000
    },
    "capital": {
      "total": 618708300,
      "school": 24,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 79300,
          "total0_14": 25487,
          "total15_64": 50070,
          "total65_Plus": 3759,
          "households": 17622,
          "vulnerable": 47000
        },
        "country": "GTM",
        "capital": {
          "total": 618708300,
          "school": 24,
          "hospital": 0
        },
        "admin0": "Guatemala",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 98700000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 141000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 4700.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 162150.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 79300,
          "total0_14": 25487,
          "total15_64": 50070,
          "total65_Plus": 3759,
          "households": 17622,
          "vulnerable": 47000
        },
        "country": "GTM",
        "capital": {
          "total": 618708300,
          "school": 24,
          "hospital": 0
        },
        "admin0": "Guatemala",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 98700000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 141000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 4700.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 162150.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 79300,
            "total0_14": 25487,
            "total15_64": 50070,
            "total65_Plus": 3759,
            "households": 17622,
            "vulnerable": 47000
          },
          "capital": {
            "total": 618708300,
            "school": 24,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 79300,
                "total0_14": 25487,
                "total15_64": 50070,
                "total65_Plus": 3759,
                "households": 17622,
                "vulnerable": 47000
              },
              "country": "GTM",
              "capital": {
                "total": 618708300,
                "school": 24,
                "hospital": 0
              },
              "admin0": "Guatemala",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 98700000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 141000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 4700.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 162150.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 79300,
                "total0_14": 25487,
                "total15_64": 50070,
                "total65_Plus": 3759,
                "households": 17622,
                "vulnerable": 47000
              },
              "country": "GTM",
              "capital": {
                "total": 618708300,
                "school": 24,
                "hospital": 0
              },
              "admin0": "Guatemala",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 98700000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 141000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 4700.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 162150.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 98700000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 141000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 4700.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 162150.0
        },
        "exposureDescription": "PDC Volcano Hazard Zone"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773431256288",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 98700000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 141000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 4700.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 162150.0
  },
  "type": "VOLCANO",
  "creator": "RICHTER",
  "source": {
    "id": 133,
    "name": "Washington VAAC",
    "longName": "Washington Volcanic Ash Advisory Centre (VAAC)",
    "..."
  },
  "startedAt": 1765936800,
  "updatedAt": 1773431256,
  "endedAt": 1773863253
}
```

{% hint style="info" %}
Note: In this sample, coordinate arrays in `alertGeometry`, `features` geometries, and `exposureAreas` have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, the `features` array has been truncated to show only representative examples of the ASH\_CLOUD (0hr forecast), SMART\_ALERT, and INCIDENT feature types. The full response includes four ASH\_CLOUD features at 0hr, 6hr, 12hr, and 18hr forecast intervals. The INCIDENT feature properties have been truncated. For hazards with multiple affected countries or admin regions, the `totalByCountry` and `totalByAdmin` arrays will contain additional entries.
{% endhint %}


# Wildfire Sample

This page provides a complete sample response for a wildfire hazard from the Active Hazards API endpoint. The featured sample is an **actively burning PDC satellite-detected wildfire spanning the Karnali and Lumbini regions of Nepal into Uttar Pradesh, India** — 73,799 acres of largely forested terrain with 130 H3 cells currently active (out of 207 ever-active), SEVERE severity with EXPECTED urgency, peak Fire Radiative Power of 828 MW, and exposure assessment affecting 30,600 people across two countries and seven admin districts. This record exercises the full satellite incident model documented in the source wildfire pipeline: detection scoring, 24‑hour FRP rollups, land‑usage classification, trend analytics, and a 39‑polygon exposure footprint.

## Wildfire Sources

The WILDFIRE hazard type aggregates several source pipelines, which populate different subsets of `incident.properties`. On 2026-09-11 the active feed held 385 wildfires across the first four sources below:

| Source                                                 | `sourceId`                                                 | `event` values                                        | Typical `incident.properties` shape                                                                                                                                                         |
| ------------------------------------------------------ | ---------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PDC satellite detection pipeline                       | `2001`                                                     | `"Potential Large and/or Intense Wildfire"`           | Full incident analytics — detection scores, FRP rollups, land‑usage fractions, severity/certainty/urgency classification, trend deltas, location enrichment. **The featured sample below.** |
| National Interagency Fire Center (NIFC), United States | `2002`                                                     | `"Wildfire"`                                          | Official incident record — IRWIN identifiers, containment, size history, fuels, behaviour, cost, resources, jurisdictions. See [Official-source wildfires](#official-source-wildfires).     |
| Natural Resources Canada (CWFIS)                       | `2003`                                                     | `"Wildfire"`                                          | Official incident record — national fire id, agency, stage of control, response type.                                                                                                       |
| Geoscience Australia (state fire services)             | `2004`                                                     | `"Wildfire"`, `"Prescribed Fire"`                     | Official incident record — state incident ids, fire type, perimeter length. Prescribed burns are published at `INFORMATION` severity.                                                       |
| NWS / national meteorological alerts (CAP)             | `1787` (EMHI), `1797` (CMA), `1798` (IMD), `1801` (NWS US) | `"Fire Weather"`, `"Pre Fire Alert"`, `"Forest Fire"` | CAP alert metadata — `senderName`, `headline`, `description`, `urgency`, `severity`, `certainty`, `status`, VTEC/identifier fields                                                          |

Satellite-detected incidents use `sourceId: 2001` and set `sourceRecordId` to the internal PDC incident UUID. Official-source and alert-derived wildfires use the provider's `sourceId` and a provider‑issued identifier. Read `incident.sourceId` first; the property set that follows depends on it.

### Official-source wildfires

The NIFC, Natural Resources Canada, and Geoscience Australia pipelines (`sourceId` 2002, 2003, 2004) publish the agency's own incident record rather than satellite analytics. They share a common core and add agency-specific identifiers. None of the satellite fields documented in the sections that follow (`detection_score_*`, `frp_*`, `trend_*`, `total_acres`, `biome_class`, `current_cells_n`, and so on) are present on these records.

**Common to all three official sources:**

| Group                     | Fields                                                                                                                                                                                                                                                                                          |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Identity                  | `incidentId`, `name`, `hazardName`, `aliases` (JSON array of alternate ids), `kind` (`"WILDFIRE"`), `event`, `status`, `statusAt`                                                                                                                                                               |
| Provenance                | `sourceId` / `source_id`, `sourceName` / `source_name`, `sourceLongName` / `source_long_name`, `senderName`, `sourceMessages` (JSON array of the agency messages that fed the record), `externalRefs` (JSON array of agency URLs and ids), `extensions` (JSON object of agency-specific extras) |
| Timing                    | `firstSeenAt`, `lastUpdatedAt`, `eventTime`, `effective_at`, `imageAcquiredDatetime` — epoch-second strings or ISO 8601                                                                                                                                                                         |
| Size                      | `size` (JSON object: `value`, `unit`, `measuredAt`, `provenance`, `source`), `size_acres`, `exposure_area_acres`, `exposure_area_method`, `exposure_area_source`, `exposure_area_estimated`, `exposure_area_geometry_hash`                                                                      |
| Alert geometry derivation | `alert_area_method`, `alert_area_base_buffer_meters`, `alert_area_buffer_meters`, `alert_area_radius_meters`, `alert_area_geometry_version`, `cap_area_method`, `cap_area_place_name`, `nifc_marker_coordinate_method`                                                                          |
| Severity                  | `hazard_severity_band` / `hazardSeverityBand` (`ADVISORY`, `WATCH`, `WARNING`), `hazard_severity_reason` (JSON object naming the rule set and inputs, e.g. containment and acreage), `severity`, `urgency`, `certainty`                                                                         |
| Land use                  | `dominant_class`, `fraction_urban`, `fraction_urban_agg`, `is_urban_area`, `touches_urban`, `touches_wui`, `wui_is_interface`, `wui_frac_interface`, `wui_frac_interface_agg`, `land_usage_weight`, `land_usage_h3_resolution`, `H3 cell` (JSON array; note the space in the key)               |
| Location                  | `locationName`, `origin` and `reportedLocation` (JSON objects with a GeoJSON point and admin areas), `jurisdictions` (JSON array), `description`, `hazardDescription`, `timeline` (JSON array of dated events)                                                                                  |

**NIFC (`2002`) additionally carries** `irwinId`, `nifcUniqueFireIdentifier`, `incidentComplexityLevel`, `percentContained`, `polygonGisAcres`, `discoveryTime`, `startTime`, `onset_at`, `cause` (JSON object), `fuels` (JSON object), `behavior` (JSON object), `estimatedCostToDate` (JSON object), `resourcesSummary` (JSON object), `responsibleOrganizations` (JSON array), `sizeHistory` (JSON array), `assertions` (JSON array), `nifc_marker_coordinate_source`, and cross-references to the satellite pipeline: `firms_wildfire_incident_id`, `firms_wildfire_match_status`, `firms_wildfire_exposure_acres`, `firms_wildfire_exposure_cells`, `firms_wildfire_overlap_cell_count`, `firms_wildfire_exposure_backfilled`.

**Natural Resources Canada (`2003`) additionally carries** `canadaWildfireNationalFireId`, `canadaWildfireIncidentId`, `canadaWildfireAgencyCode`, `canadaWildfireRegionCode`, `canadaWildfireFireTypeIcs`, `canadaWildfireStageOfControl`, `canadaWildfireResponseType`, `canadaWildfireSeverityNearestDsr`, and `cause`. These records have no `severity`, `urgency`, or `certainty` properties.

**Geoscience Australia (`2004`) additionally carries** `australiaWildfireFireId`, `australiaWildfireIncidentId`, `australiaWildfireGlobalId`, `australiaWildfireObjectId`, `australiaWildfireFireType`, `australiaWildfirePerimKm`, `australiaWildfireState`, `australiaWildfireStateMatchMethod`, `australiaWildfireStateStreamId`, and `responsibleOrganizations`.

Many of the composite fields above (`size`, `origin`, `cause`, `fuels`, `timeline`, `sourceMessages`, and so on) are delivered as **JSON-encoded strings**, not nested objects. Parse them before use.

`features` is `null` on official-source wildfires, as it is on satellite-detected ones.

## Wildfire-Specific Properties

### Incident Identity and Lifecycle

| Field                      | Description                                                                                                                                                                   |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `incident_id`              | Stable identifier of the wildfire incident (primary key in the incident processor). Matches `incident.uuid` and `sourceRecordId` for satellite-detected records.              |
| `version`                  | Monotonic version number of the incident state used for conflict resolution.                                                                                                  |
| `created_at`               | Timestamp when the incident was first created in the incident processor. ISO‑8601 string.                                                                                     |
| `last_updated_at`          | Timestamp of the most recent perimeter or incident update applied to this incident.                                                                                           |
| `last_emitted_at`          | Timestamp when this incident state was last emitted downstream.                                                                                                               |
| `last_emitted_hash`        | Hash of the last emitted state used to suppress duplicate downstream forwards.                                                                                                |
| `last_seen_at`             | Timestamp of the most recent meaningful hotspot evidence for the incident.                                                                                                    |
| `is_expired`               | Indicates whether the incident has been expired and should no longer be treated as active.                                                                                    |
| `current_cells_n`          | Count of H3 cells currently active in the incident. Values near zero are valid when the fire has cooled below detection thresholds but the incident has not yet been expired. |
| `ever_cells_n`             | Count of all H3 cells that have ever been part of the incident (superset of `current_cells_n`).                                                                               |
| `suppress_incident_events` | Whether downstream event emission is suppressed for this incident.                                                                                                            |
| `authority_match_status`   | Whether the satellite incident has been matched to an official-source record (NIFC, CWFIS, or Geoscience Australia).                                                          |

### Causal Classification

Satellite-detected incidents carry a cause classifier that scores the detection against competing explanations. Fields added since the featured sample was captured:

| Field                                                                                                                                                                              | Description                                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| `causal_primary_cause`                                                                                                                                                             | The highest-scoring explanation for the detection. |
| `causal_wildfire_probability`                                                                                                                                                      | Probability that the detection is a wildfire.      |
| `causal_score_wildfire`, `causal_score_prescribed_burn`, `causal_score_agricultural_burn`, `causal_score_industrial_source`, `causal_score_false_positive`, `causal_score_unknown` | Per-explanation scores.                            |
| `causal_comparison_bucket`                                                                                                                                                         | Bucket used to compare the scores.                 |
| `causal_explanation`                                                                                                                                                               | Human-readable rationale.                          |

### Alert Geometry Derivation

`alert_area_method`, `alert_area_base_buffer_meters`, `alert_area_radius_meters`, and `alert_area_geometry_version` record how `alertGeometry` was derived from the incident footprint. They are present on satellite-detected and official-source records alike.

### Classification and Reasoning

The incident processor derives three independent classification axes, each with a machine‑readable value and a human‑readable `*_reason` string that names the thresholds and weighted scores that drove the choice.

| Field              | Values observed for satellite-detected wildfires                                | Description                                                                                                                        |
| ------------------ | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `severity`         | `MODERATE`, `SEVERE`, `EXTREME`                                                 | Derived severity classification.                                                                                                   |
| `severity_reason`  | (string)                                                                        | Explanation of the severity classification — typically references the 24h FRP threshold, acreage support, and dominant land cover. |
| `certainty`        | `LIKELY` (observed); `POSSIBLE`, `OBSERVED`, `UNLIKELY`, `UNKNOWN` also defined | Derived confidence that the detection represents an actual wildfire.                                                               |
| `certainty_reason` | (string)                                                                        | Explanation — typically references biome + fragmentation weighted detection scores and acreage corroboration.                      |
| `urgency`          | `IMMEDIATE`, `EXPECTED`, `FUTURE`                                               | Derived urgency classification.                                                                                                    |
| `urgency_reason`   | (string)                                                                        | Explanation of the urgency classification.                                                                                         |

For **NWS / CAP-sourced** fire weather alerts, `certainty` follows the CAP 1.2 specification with these values:

* **Observed** — determined to have occurred or to be ongoing
* **Likely** — probability > 50%
* **Possible** — probability ≤ 50%
* **Unlikely** — not expected to occur
* **Unknown** — certainty cannot be determined

Note that CAP-sourced values are mixed‑case (e.g. `"Possible"`, `"Likely"`) while PDC‑derived values are upper‑case (e.g. `"LIKELY"`).

The top-level `severity` on the hazard record (not `incident.properties.severity`) uses the standard DisasterAWARE tiering of `ADVISORY`, `WATCH`, `WARNING` derived from the combination of the incident classification and exposure level.

### Detection Scoring

Satellite-detected incidents carry a panel of detection‑score aggregates from contributing hotspot observations:

| Field                           | Description                                                                          |
| ------------------------------- | ------------------------------------------------------------------------------------ |
| `detection_score_max`           | Maximum detection score observed across contributing members.                        |
| `detection_score_sum`           | Sum of detection scores observed across contributing members.                        |
| `detection_score_mean`          | Unweighted mean detection score across contributing members.                         |
| `detection_score_mean_weighted` | Weighted mean detection score across contributing members.                           |
| `detection_score_weight_sum`    | Sum of weights used when computing weighted detection-score averages.                |
| `detection_score_n`             | Count of detection-score observations contributing to the incident rollup.           |
| `avg_sample_count`              | Average number of hotspot samples per contributing cell over the aggregation window. |

### Fire Radiative Power (FRP)

FRP fields quantify radiant heat output in megawatts. Higher values indicate more intense fire activity. Most fields roll up over a 24‑hour window.

| Field                | Description                                                     |
| -------------------- | --------------------------------------------------------------- |
| `sum_frp_mw_current` | Sum of FRP in MW across cells that are currently active.        |
| `max_frp_mw_ever`    | Maximum FRP ever observed for any cell in the incident history. |
| `frp_sum_mw_24h`     | Rolling 24-hour sum of FRP across the incident.                 |
| `frp_max_mw_24h`     | Rolling 24-hour maximum FRP observed in the incident.           |
| `frp_mw_avg_window`  | Average FRP value over the configured incident scoring window.  |
| `frp_scale`          | Scaling factor used for FRP visualization or categorization.    |

### Size and Trend

| Field                                       | Description                                                                                                                                 |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `total_acres`                               | Estimated incident size in acres derived from the incident exposure footprint.                                                              |
| `trend_window_ms`                           | Window length in milliseconds used for incident trend calculations.                                                                         |
| `trend_delta_acres`                         | Change in estimated acres over the configured trend window. A negative value indicates the burnt‑area footprint contracted over the window. |
| `trend_acres_per_hour`                      | Estimated hourly acreage growth rate over the configured trend window.                                                                      |
| `trend_delta_frp_sum_mw_24h`                | Change in rolling 24-hour FRP sum over the trend window.                                                                                    |
| `trend_delta_frp_max_mw_24h`                | Change in rolling 24-hour FRP max over the trend window.                                                                                    |
| `trend_delta_detection_score_mean_weighted` | Change in weighted mean detection score over the trend window.                                                                              |
| `trend_direction`                           | One of `UNKNOWN`, `STEADY`, `GROWING`, `SHRINKING`.                                                                                         |

### Land Usage and Biome

The incident processor classifies the dominant land cover and biome of the affected cells. Note that the V2 API surfaces these fields without the `land_` prefix that appears in the backing incident schema (so spreadsheet field `land_dominant_class` maps to API property `dominant_class`, `land_biome_class` → `biome_class`, `land_fraction_*` → `fraction_*`, and so on).

| Field                                                                                                                             | Description                                                                                                                                                             |
| --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dominant_class`                                                                                                                  | Dominant land-cover class. Values observed: `TREE_COVER`, `GRASSLAND`, `CROPLAND`, `BUILT_UP`, `BARE_SPARSE`, `PERMANENT_WATER`.                                        |
| `biome_class`                                                                                                                     | Dominant biome classification. Values observed: `Tropical Forest`, `Temperate Forest`, `Savanna Grassland`, `Mediterranean Shrubland`, `Desert`, `Mangrove`, `Unknown`. |
| `fraction_forest`, `fraction_grass`, `fraction_cropland`, `fraction_urban`, `fraction_bare`, `fraction_water`, `fraction_wetland` | Land‑cover fractions for the incident footprint. Sum to approximately 1.0.                                                                                              |
| `land_usage_weight`                                                                                                               | Weight applied to the aggregated land-usage summary.                                                                                                                    |
| `road_pixel_count`                                                                                                                | Count of road pixels intersecting the incident land-usage summary.                                                                                                      |
| `road_pixel_fraction`                                                                                                             | Fraction of the incident land-usage summary classified as roads.                                                                                                        |
| `is_urban_area`                                                                                                                   | Whether the incident land-usage summary indicates an urban area.                                                                                                        |
| `touches_urban`                                                                                                                   | Whether any contributing incident area intersects urban land cover.                                                                                                     |
| `fraction_urban_agg`                                                                                                              | Incident-level aggregate urban fraction across contributing members.                                                                                                    |
| `wui_is_interface`                                                                                                                | Whether the land-usage summary indicates wildland-urban interface.                                                                                                      |
| `wui_frac_interface`                                                                                                              | Wildland-urban interface fraction for the incident land-usage summary.                                                                                                  |
| `touches_wui`                                                                                                                     | Whether any contributing incident area intersects the wildland-urban interface.                                                                                         |
| `wui_frac_interface_agg`                                                                                                          | Incident-level aggregate WUI fraction across contributing members.                                                                                                      |

### Location Enrichment

The V2 API enriches the raw incident record with human-readable place names. These fields are not present in the backing wildfire-incident schema — they are added during V2 enrichment from the incident's geometry.

| Field               | Description                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| `locationName`      | Human-readable location string (also mirrored to the top-level hazard `name` and `description`). |
| `hazardDescription` | Long-form narrative describing the detection, severity, and land context.                        |
| `country_codes`     | ISO 3166-1 alpha-3 country codes, comma-separated.                                               |
| `country_names`     | Country names, comma-separated.                                                                  |
| `regions`           | Admin level 1 (state/province) names, comma-separated.                                           |
| `boundary_names`    | Finer-grained admin boundary names (admin level 2 / district), comma-separated.                  |
| `event`             | Event category label (e.g. `"Potential Large and/or Intense Wildfire"`).                         |

### Features

The `features` property is `null` for satellite-detected wildfires. When an NWS or other national‑alert source emits a wildfire record with a published hazard zone, `features` carries a GeoJSON `FeatureCollection` of those zone polygons. Fire perimeter polygons (e.g. NIFC IRWIN perimeters) are delivered via a separate perimeter pipeline and are not included in the active hazard record's `features` property.

### Exposure Areas

`exposureAreas` is a GeoJSON `FeatureCollection` whose features carry `properties.exposureLevel` (1, 2, or 3). Satellite-detected wildfires use a **single exposure level** derived from the active hotspot footprint:

* **Level 1**: Minor damage expected
* **Level 2**: Moderate damage expected
* **Level 3**: Severe damage expected

The geometry is typically a `MultiPolygon` — a single incident can span many disjoint burnt patches. The featured sample's exposure geometry is a `MultiPolygon` of 39 disjoint polygons reflecting the spatial distribution of active detection cells across the incident footprint.

### Exposure Assessment

The `exposureAssessment` object provides detailed population and infrastructure exposure data for the affected area.

**Top-level fields:**

* `population` — Object containing total exposed population broken down by age group:
  * `total` — Total exposed population
  * `total0_14` — Population aged 0-14
  * `total15_64` — Population aged 15-64
  * `total65_Plus` — Population aged 65 and older
  * `households` — Number of households
  * `vulnerable` — Estimated vulnerable population
* `capital` — Object containing infrastructure exposure:
  * `total` — Total infrastructure replacement value in USD
  * `school` — Number of exposed schools
  * `hospital` — Number of exposed hospitals
* `totalByCountry` — Array of country-level breakdowns, each containing `population`, `capital`, `country` (ISO 3166-1 alpha-3), `admin0`, `admin1`, `admin2`, and humanitarian needs estimates (`foodNeeds`, `waterNeeds`, `wasteNeeds`, `shelterNeeds` with corresponding unit fields)
* `totalByAdmin` — Array of admin-level breakdowns with the same structure
* `exposureLevels` — Array of per-level exposure data, each containing `level`, `exposureDescription`, and a `data` object with the same `population`, `capital`, `totalByCountry`, and `totalByAdmin` structure
* Top-level humanitarian needs: `foodNeeds`, `waterNeeds`, `wasteNeeds`, `shelterNeeds` with corresponding unit fields
* Metadata: `hazardUuid`, `hazardType`, `version`, `timestamp`, `exposureDescription`

### Exposure Assessment Units

The `exposureAssessment` object uses units that vary by country:

**United States:**

* `foodNeedsUnit`: MRE (Meals Ready-to-Eat)
* `waterNeedsUnit`: gal (gallons)
* `wasteNeedsUnit`: 25 gal (25-gallon units)
* `shelterNeedsUnit`: sq feet (square feet)

**All other countries (including the featured Nepal / India sample):**

* `foodNeedsUnit`: CAL (calories)
* `waterNeedsUnit`: liter (liters)
* `wasteNeedsUnit`: 100 liter (100-liter units)
* `shelterNeedsUnit`: sq meters (square meters)

The top-level humanitarian needs fields use the metric units (CAL, liter, 100 liter, sq meters) regardless of the country mix.

## Source Schema Coverage

The backing wildfire incident pipeline persists three related tables: **wildfire-incident** (72 fields — the incident-level rollup), **display-hotspot-stats** (34 fields — per-cell hotspot aggregates), and **wildfire-perimeter** (47 fields — individual perimeter events). The V2 WILDFIRE hazard API surfaces a curated projection of the **wildfire-incident** table as `incident.properties`, with some fields renamed (the `land_` prefix is dropped) and several enrichment fields added.

### Wildfire Incident (`wildfire-incident`) — 72 fields

| Category                                   | In API                                                                                                                                                                                                                                                                                                                                                                        | Excluded / Storage-only                                                                                                                                                                                        |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Identity and lifecycle                     | `incident_id`, `version`, `created_at`, `last_updated_at`, `last_emitted_at`, `last_emitted_hash`, `last_seen_at`, `is_expired`                                                                                                                                                                                                                                               | `merged_into_incident_id` (populated only when an incident is merged into a survivor)                                                                                                                          |
| Cell membership                            | `current_cells_n`, `ever_cells_n` (counts only)                                                                                                                                                                                                                                                                                                                               | `member_perimeter_ids`, `current_cells`, `ever_cells`, `current_cells_compacted`, `ever_cells_compacted` (raw arrays retained in storage only)                                                                 |
| Classification                             | `severity`, `severity_reason`, `certainty`, `certainty_reason`, `urgency`, `urgency_reason`                                                                                                                                                                                                                                                                                   | —                                                                                                                                                                                                              |
| Detection scoring                          | `detection_score_max`, `detection_score_sum`, `detection_score_weight_sum`, `detection_score_mean`, `detection_score_mean_weighted`, `detection_score_n`, `avg_sample_count`                                                                                                                                                                                                  | —                                                                                                                                                                                                              |
| FRP                                        | `sum_frp_mw_current`, `max_frp_mw_ever`, `frp_sum_mw_24h`, `frp_max_mw_24h`, `frp_mw_avg_window`, `frp_scale`                                                                                                                                                                                                                                                                 | `frp_per_current_cell`, `current_to_ever_ratio`                                                                                                                                                                |
| Size and trend                             | `total_acres`, `trend_window_ms`, `trend_delta_acres`, `trend_acres_per_hour`, `trend_delta_frp_sum_mw_24h`, `trend_delta_frp_max_mw_24h`, `trend_delta_detection_score_mean_weighted`, `trend_direction`                                                                                                                                                                     | —                                                                                                                                                                                                              |
| Land usage (renamed: `land_*` → no prefix) | `dominant_class`, `biome_class`, `fraction_forest`, `fraction_grass`, `fraction_cropland`, `fraction_urban`, `fraction_bare`, `fraction_water`, `fraction_wetland`, `is_urban_area`, `road_pixel_count`, `road_pixel_fraction`, `wui_is_interface`, `wui_frac_interface`, `land_usage_weight`, `touches_urban`, `touches_wui`, `fraction_urban_agg`, `wui_frac_interface_agg` | —                                                                                                                                                                                                              |
| Hotspot confidence counts                  | —                                                                                                                                                                                                                                                                                                                                                                             | `reading_count_24h`, `high_confidence_count_24h`, `nominal_confidence_count_24h` (available on the hotspot-stats table)                                                                                        |
| Geometry                                   | `alertGeometry`, `exposureAreas`, top-level `longitude` / `latitude`                                                                                                                                                                                                                                                                                                          | `center_point`, `exposure_geometry` (backing PostGIS columns)                                                                                                                                                  |
| Spatial coherence                          | —                                                                                                                                                                                                                                                                                                                                                                             | `spatially_incoherent`, `spatial_cluster_count`, `spatial_largest_cluster_fraction`, `spatial_second_cluster_fraction`, `spatial_max_distance_hops` (populated only when the footprint fails coherence checks) |

**V2 enrichment fields added beyond the incident schema:** `locationName`, `hazardDescription`, `event`, `country_codes`, `country_names`, `regions`, `boundary_names`.

### Display Hotspot Stats (`display-hotspot-stats`) — 34 fields

Per-H3-cell hotspot aggregates used for map display. **Not surfaced at the hazard-record level** — individual hotspot points are available through the hotspot endpoints, not through the WILDFIRE hazard API. The incident-level rollups (`detection_score_*`, `frp_*_24h`, `avg_sample_count`) in `incident.properties` are derived from these per-cell stats.

### Wildfire Perimeter (`wildfire-perimeter`) — 47 fields

Individual perimeter events (the components that merge into an incident). **Not surfaced at the hazard-record level** for satellite-detected wildfires — `features` is `null` on all 152 satellite-detected records in the observed dataset. Official perimeter polygons (e.g. NIFC IRWIN) arrive through a separate perimeter pipeline keyed off `perimeter_id`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Wildfire - Karnali and Lumbini regions, Nepal and India"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Potential Large and/or Intense Wildfire has been detected for April 23, 2026 10:26:53 UTC through April 25, 2026 12:08:31 UTC for Surkhet, Banke, Dang, Shravasti, Bardiya, Salyan, Balrampur.\n\nIt is estimated that 30,600 people, 7,010 households, and $164 Million (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nEvent Summary*:\nEarlier on April 23, 2026, a wildfire was first identified in a largely forested area spanning the Karnali and Lumbini regions along the Nepal–India border. Detections are considered likely based on consistent recent signals and acreage corroboration, and confidence takes local land and ecosystem conditions into account. The incident is classified as severe and is producing an intense heat signature across a large forested landscape, though recent activity direction is unclear. Because it may require attention soon and the direction of activity is uncertain, conditions warrant close monitoring.\n\n*The cost represents the total replacement value of the infrastructure."
    }
  ],
  "severity": "ADVISORY",
  "category": "EVENT",
  "incident": {
    "uuid": "ff7c5cc7-07ec-4db8-9f1b-005572477209",
    "type": "WILDFIRE",
    "sourceId": 2001,
    "sourceRecordId": "ff7c5cc7-07ec-4db8-9f1b-005572477209",
    "properties": {
      "incident_id": "ff7c5cc7-07ec-4db8-9f1b-005572477209",
      "version": 17,
      "event": "Potential Large and/or Intense Wildfire",
      "locationName": "Surkhet, Banke, Dang, Shravasti, Bardiya, Salyan, Balrampur",
      "hazardDescription": "Earlier on April 23, 2026, a wildfire was first identified in a largely forested area spanning the Karnali and Lumbini regions along the Nepal–India border. Detections are considered likely based on consistent recent signals and acreage corroboration, and confidence takes local land and ecosystem conditions into account. The incident is classified as severe and is producing an intense heat signature across a large forested landscape, though recent activity direction is unclear. Because it may require attention soon and the direction of activity is uncertain, conditions warrant close monitoring.",
      "country_codes": "NPL, IND",
      "country_names": "Nepal, India",
      "regions": "Karnali, Lumbini, Uttar Pradesh",
      "boundary_names": "Surkhet, Banke, Dang, Shravasti, Bardiya, Salyan, Balrampur",
      "severity": "SEVERE",
      "severity_reason": "legacy biome+fragmentation adjusted sumFrp>=75 fallback with acreage support indicates SEVERE (frpEff=579.86, rawSum=584.32, acreageSupport=true, biome=Tropical Forest, dominantClass=TREE_COVER, exposed=true)",
      "certainty": "LIKELY",
      "certainty_reason": "biome+fragmentation weighted max>=0.35 or meanWeighted>=0.30 (maxAdj=0.4948, meanWAdj=0.3677, biomeW=1.0, fragW=0.9962, rawMax=0.4967, rawMeanW=0.3691); raised to LIKELY by acreage corroboration (acres=29933.64, exposed=true)",
      "urgency": "EXPECTED",
      "urgency_reason": "biome+fragmentation weighted max>=0.35 or meanWeighted>=0.30 (maxAdj=0.4948, meanWAdj=0.3677, biomeW=1.0, fragW=0.9962, rawMax=0.4967, rawMeanW=0.3691); raised to LIKELY by acreage corroboration (acres=29933.64, exposed=true)",
      "total_acres": 73798.56,
      "sum_frp_mw_current": 584.32,
      "max_frp_mw_ever": 828.47,
      "frp_sum_mw_24h": 2294.32,
      "frp_max_mw_24h": 208.83,
      "frp_mw_avg_window": 563.13667,
      "frp_scale": 2.76739,
      "avg_sample_count": 54,
      "current_cells_n": 130,
      "ever_cells_n": 207,
      "detection_score_max": 0.49673,
      "detection_score_sum": 5.10498,
      "detection_score_mean": 0.25525,
      "detection_score_mean_weighted": 0.36909,
      "detection_score_weight_sum": 130.0,
      "detection_score_n": 20,
      "trend_window_ms": 0,
      "trend_delta_acres": -19940.52,
      "trend_acres_per_hour": 0.0,
      "trend_delta_frp_sum_mw_24h": 4.01,
      "trend_delta_frp_max_mw_24h": 0.0,
      "trend_delta_detection_score_mean_weighted": 0.00066,
      "trend_direction": "UNKNOWN",
      "dominant_class": "TREE_COVER",
      "biome_class": "Tropical Forest",
      "fraction_forest": 0.95218,
      "fraction_cropland": 0.0229,
      "fraction_grass": 0.014,
      "fraction_urban": 0.00082,
      "fraction_water": 0.00219,
      "fraction_bare": 0.00522,
      "fraction_wetland": 0.0,
      "is_urban_area": false,
      "road_pixel_count": 21,
      "road_pixel_fraction": 0.01538,
      "wui_is_interface": false,
      "wui_frac_interface": 0.0,
      "touches_urban": false,
      "touches_wui": false,
      "fraction_urban_agg": 0.00082,
      "wui_frac_interface_agg": 0.0,
      "land_usage_weight": 130.0,
      "is_expired": false,
      "created_at": "2026-04-23T10:26:53.912Z",
      "last_updated_at": "2026-04-24T12:06:26.904Z",
      "last_emitted_at": "2026-04-24T12:06:26.904Z",
      "last_seen_at": "2026-04-24T08:28:00Z",
      "last_emitted_hash": "0fdc5f97cf5b0138049da5ae2f20e61b59958efba3aa661e9b052d1dcb76a3b9"
    }
  },
  "uuid": "ea9ca784-8da3-44fe-b13e-7faf10bab359",
  "comment": null,
  "createdAt": 1777032513,
  "relatedHazards": [],
  "longitude": 81.91337,
  "latitude": 28.17653,
  "version": 17,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": null,
  "exposureAreas": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 3
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 30600.0,
      "total0_14": 8791,
      "total15_64": 19914,
      "households": 7010.0,
      "vulnerable": 6220.0,
      "total65_Plus": 1948
    },
    "capital": {
      "total": 164000000.0,
      "school": 2,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 30400.0,
          "total0_14": 8728,
          "total15_64": 19742,
          "households": 6950.0,
          "vulnerable": 6170.0,
          "total65_Plus": 1930
        },
        "country": "NPL",
        "capital": {
          "total": 164000000.0,
          "school": 2,
          "hospital": 0
        },
        "admin0": "Nepal",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 12900000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 18500.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 617,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 21200.0
      },
      {
        "population": {
          "total": 253,
          "total0_14": 63,
          "total15_64": 172,
          "households": 61.7,
          "vulnerable": 55.4,
          "total65_Plus": 18
        },
        "country": "IND",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "India",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 116000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 166,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 5.54,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 191
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 30400.0,
          "total0_14": 8728,
          "total15_64": 19742,
          "households": 6950.0,
          "vulnerable": 6170.0,
          "total65_Plus": 1930
        },
        "country": "NPL",
        "capital": {
          "total": 164000000.0,
          "school": 2,
          "hospital": 0
        },
        "admin0": "Nepal",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 12900000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 18500.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 617,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 21200.0
      },
      {
        "population": {
          "total": 253,
          "total0_14": 63,
          "total15_64": 172,
          "households": 61.7,
          "vulnerable": 55.4,
          "total65_Plus": 18
        },
        "country": "IND",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "India",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 116000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 166,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 5.54,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 191
      }
    ],
    "exposureLevels": [
      {
        "level": "3",
        "data": {
          "population": {
            "total": 30600.0,
            "total0_14": 8791,
            "total15_64": 19914,
            "households": 7010.0,
            "vulnerable": 6220.0,
            "total65_Plus": 1948
          },
          "capital": {
            "total": 164000000.0,
            "school": 2,
            "hospital": 0
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 13000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 18600.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 622,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 21400.0
        },
        "exposureDescription": "Severe Damage Expected"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1777032501519",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 13000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 18600.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 622,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 21400.0
  },
  "type": "WILDFIRE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1776977791,
  "updatedAt": 1777032501,
  "endedAt": 1777118911
}
```

{% hint style="info" %}
Note: In this sample, coordinate arrays in `alertGeometry` and `exposureAreas` have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays — the full `alertGeometry` outer ring for this incident contains 145 points, and the `exposureAreas` MultiPolygon contains 39 disjoint polygons (the largest of which has 115 points). The `exposureLevels[0].data.totalByCountry` and `totalByAdmin` arrays have been replaced with `[...]` because they duplicate the top-level `totalByCountry` / `totalByAdmin` arrays shown above. The `certainty_reason`, `severity_reason`, and `urgency_reason` strings have been lightly truncated for readability — full responses contain the complete text. The `school` and `hospital` values in the `capital` object are counts of exposed facilities, not monetary values (2 schools and 0 hospitals exposed in this forested border region). With `current_cells_n: 130` out of `ever_cells_n: 207`, this incident is actively burning at the moment of the snapshot — roughly 63% of the H3 cells that have ever been part of the incident remain flagged as actively burning. Note that `totalByCountry` and `totalByAdmin` both contain 2 entries here because the fire crosses the Nepal–India border, but both admin breakdowns are at admin0 granularity (admin1 and admin2 are `null`) since the exposure assessment is computed at the country level for this incident.
{% endhint %}


# Landslide Sample

Landslide hazards sourced from the NASA Global Model of Models LHASA (Landslide Hazard Assessment for Situational Awareness). These hazards represent areas where landslide conditions have been detected or forecast, with severity levels indicating the assessed risk to affected populations and infrastructure.

## Landslide-Specific Properties

### Incident Data

The `incident.properties` object for landslide hazards contains metadata from the LHASA system describing the detected landslide event and its severity classification.

**Key incident properties for landslides include:**

* `senderName` - Source system identifier ("The NASA Global Model of Models LHASA")
* `incidentSeverity` - Severity classification of the incident (e.g., "WARNING")
* `hazardSeverity` - Hazard-level severity rating (e.g., "WARNING")
* `event` - Event type descriptor ("Landslide")
* `masterIncidentId` - Unique identifier linking related incident records
* `eventDate` - ISO 8601 timestamp for when the landslide event was first detected
* `createDate` - ISO 8601 timestamp for when the hazard record was created
* `reportDate` - ISO 8601 timestamp for the latest report on this hazard

### Features

Landslide features typically include INCIDENT polygons showing affected areas. The `features` FeatureCollection contains multiple feature types:

* **INCIDENT** - Point geometry at the hazard centroid with `featureType: "INCIDENT"`
* **SMART\_ALERT** - MultiPolygon geometry representing the combined alert area with `featureType: "SMART_ALERT"`
* **EXPOSURE\_AREA** - MultiPolygon geometry representing the exposure assessment area, with properties including `exposureDescription` (e.g., "SEVERE"), `exposureLevel` (numeric severity tier), and `featureType: "EXPOSURE_AREA"`

### Exposure Areas

Single level - Combined landslide polygons at Watch or Warning severity. The `exposureAreas` FeatureCollection contains one feature with an `exposureLevel` property (e.g., level 3 for SEVERE) covering the full extent of the detected landslide-prone area.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Landslide - Andes, Pucar\u00e1, Azuay, Ecuador"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "The NASA Global Model of Models LHASA has issued a Landslide warning for March 13, 2026 02:15:22 UTC through March 14, 2026 02:59:35 UTC for Andes, Pucar\u00e1, Azuay, Ecuador...."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "10c5b0eb-892f-4501-bf45-d03343ee7136",
    "type": "LANDSLIDE",
    "sourceId": 1736,
    "sourceRecordId": "1736.1773411322506.11",
    "properties": {
      "hazardName": "Landslide - Andes, Pucar\u00e1, Azuay, Ecuador",
      "senderName": "The NASA Global Model of Models LHASA",
      "reportDate": "2026-03-13T14:15:22+00:00",
      "eventDate": "2026-03-13T02:15:22+00:00",
      "...": ""
    }
  },
  "uuid": "ac0d5322-936e-47b5-ac71-f9674c53f6d1",
  "comment": null,
  "createdAt": 1773412180,
  "relatedHazards": [],
  "longitude": -79.45602,
  "latitude": -3.22321,
  "version": 3,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {}
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "INCIDENT"
        },
        "geometry": {
          "type": "Point",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureDescription": "SEVERE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA",
          "exposureLevel": 3
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": "LANDSLIDE",
    "metadata": {
      "headlineDescription": "",
      "sourceId": 1736,
      "roles": "",
      "incidentSeverity": "WARNING",
      "type": "ACTUAL",
      "sourceRecordId": "1736.1773411322506.11",
      "senderName": "The NASA Global Model of Models LHASA",
      "reportDate": "2026-03-13T14:15:22+00:00",
      "name": "Andes, Pucar\u00e1, Azuay, Ecuador",
      "hazardSeverity": "WARNING",
      "event": "Landslide",
      "masterIncidentId": "1736.1773411322506.11",
      "eventDate": "2026-03-13T14:15:22+00:00",
      "createDate": "2026-03-13T14:15:22+00:00",
      "..."
    },
    "type": "FeatureCollection",
    "sourceId": 1736
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 459000,
      "total0_14": 114110,
      "total15_64": 306795,
      "households": 141089,
      "vulnerable": 117900,
      "total65_Plus": 38007
    },
    "capital": {
      "total": 8062884700,
      "school": 308,
      "hospital": 29
    },
    "totalByCountry": [
      {
        "population": {
          "total": 359000,
          "total0_14": 89750,
          "total15_64": 240135,
          "households": 112188,
          "vulnerable": 90400,
          "total65_Plus": 29007
        },
        "country": "ECU",
        "capital": {
          "total": 5282333300,
          "school": 98,
          "hospital": 27
        },
        "admin0": "Ecuador",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 189840000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 271200.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 9040.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 311880.0
      },
      {
        "population": {
          "total": 100000,
          "total0_14": 24360,
          "total15_64": 66660,
          "households": 28902,
          "vulnerable": 27500,
          "total65_Plus": 9000
        },
        "country": "PER",
        "capital": {
          "total": 2780551400,
          "school": 210,
          "hospital": 2
        },
        "admin0": "Peru",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 57750000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 82500.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2750.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 94875.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 359000,
          "total0_14": 89750,
          "total15_64": 240135,
          "households": 112188,
          "vulnerable": 90400,
          "total65_Plus": 29007
        },
        "country": "ECU",
        "capital": {
          "total": 5282333300,
          "school": 98,
          "hospital": 27
        },
        "admin0": "Ecuador",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 189840000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 271200.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 9040.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 311880.0
      },
      {
        "population": {
          "total": 100000,
          "total0_14": 24360,
          "total15_64": 66660,
          "households": 28902,
          "vulnerable": 27500,
          "total65_Plus": 9000
        },
        "country": "PER",
        "capital": {
          "total": 2780551400,
          "school": 210,
          "hospital": 2
        },
        "admin0": "Peru",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 57750000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 82500.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2750.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 94875.0
      }
    ],
    "exposureLevels": [
      {
        "level": "3",
        "data": {
          "population": {
            "total": 459000,
            "total0_14": 114110,
            "total15_64": 306795,
            "households": 141089,
            "vulnerable": 117900,
            "total65_Plus": 38007
          },
          "capital": {
            "total": 8062884700,
            "school": 308,
            "hospital": 29
          },
          "totalByCountry": [
            {
              "population": {
                "total": 359000,
                "total0_14": 89750,
                "total15_64": 240135,
                "households": 112188,
                "vulnerable": 90400,
                "total65_Plus": 29007
              },
              "country": "ECU",
              "capital": {
                "total": 5282333300,
                "school": 98,
                "hospital": 27
              },
              "admin0": "Ecuador",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 189840000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 271200.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 9040.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 311880.0
            },
            {
              "population": {
                "total": 100000,
                "total0_14": 24360,
                "total15_64": 66660,
                "households": 28902,
                "vulnerable": 27500,
                "total65_Plus": 9000
              },
              "country": "PER",
              "capital": {
                "total": 2780551400,
                "school": 210,
                "hospital": 2
              },
              "admin0": "Peru",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 57750000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 82500.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2750.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 94875.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 359000,
                "total0_14": 89750,
                "total15_64": 240135,
                "households": 112188,
                "vulnerable": 90400,
                "total65_Plus": 29007
              },
              "country": "ECU",
              "capital": {
                "total": 5282333300,
                "school": 98,
                "hospital": 27
              },
              "admin0": "Ecuador",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 189840000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 271200.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 9040.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 311880.0
            },
            {
              "population": {
                "total": 100000,
                "total0_14": 24360,
                "total15_64": 66660,
                "households": 28902,
                "vulnerable": 27500,
                "total65_Plus": 9000
              },
              "country": "PER",
              "capital": {
                "total": 2780551400,
                "school": 210,
                "hospital": 2
              },
              "admin0": "Peru",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 57750000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 82500.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2750.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 94875.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 245700000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 351000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 11700.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 403650.0
        },
        "exposureDescription": "SEVERE"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773412086240",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 245700000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 351000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 11700.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 403650.0
  },
  "type": "LANDSLIDE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773368122,
  "updatedAt": 1773412086,
  "endedAt": 1773457175
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, `alertGeometry`, `features`, and `exposureAreas` contain complete GeoJSON coordinate arrays. The `features.metadata` and `incident.properties` objects have been truncated with `"..."` to show only key fields. The `source` field is `null` for LHASA landslide hazards. Population values within `exposureAssessment` are integers; `capital.school` and `capital.hospital` are counts of exposed facilities.
{% endhint %}


# Winter Storm Sample

This page provides a complete sample response for a winter storm hazard from the Active Hazards API endpoint. Winter storm hazards encompass snowfall warnings, blizzards, and ice storms, and are typically sourced from national weather agencies such as Environment Canada, the U.S. National Weather Service (NWS), and the Australian Government Bureau of Meteorology (BoM). These alerts follow the Common Alerting Protocol (CAP) standard.

## Winter Storm-Specific Properties

### Incident Data

The `incident.properties` object for a winter storm contains CAP-based alert metadata describing the weather warning. Key incident properties for winter storms include:

* `event` - The specific weather event type (e.g., `"Winter Storm"`)
* `headlineDescription` - Full descriptive headline combining alert status and detailed forecast information
* `hazardSeverity` - The severity classification of the hazard (e.g., `"WARNING"`)
* `incidentLocationName` - Human-readable location of the alert (e.g., `"Corner Brook, Newfoundland and Labrador, Canada"`)
* `senderName` - Issuing agency (e.g., `"Environment Canada"`)
* `headline` - Alert headline text (e.g., `"yellow warning - winter storm - in effect"`)
* `description` - Detailed alert description with snowfall accumulation amounts and travel impacts
* `severity` - CAP severity level (e.g., `"Moderate"`)
* `urgency` - CAP urgency level (e.g., `"Expected, Past"`)
* `certainty` - CAP certainty level (e.g., `"Likely, Observed"`)
* `effective` / `expires` / `onset` - ISO 8601 timing fields for the alert window
* `msgType` - CAP message type (e.g., `"Update"`)
* `instruction` - Recommended actions (e.g., `"Prepare for quickly changing and deteriorating travel conditions."`)
* `category` - CAP category (e.g., `"Met"` for meteorological)

### Features

The `features` property contains a GeoJSON FeatureCollection with CAP\_INFO features. Each CAP\_INFO feature represents an individual alert info block from the original CAP message, containing the alert polygon geometry along with area descriptions and geocodes. Winter storm alerts may also include `SMART_ALERT` and `EXPOSURE_AREA` features within the same collection.

### Exposure Areas

Winter storm hazards may use multiple exposure levels representing different severity zones within the alert area:

* **Level 0**: Limited exposure area - peripheral zone with lower expected impact
* **Level 1**: Moderate exposure area - core zone with higher expected impact

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Winter Storm - Corner Brook, Newfoundland and Labrador, Canada"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Environment Canada has issued a Winter Storm warning for March 13, 2026 18:15:48 UTC through March 14, 2026 10:15:48 UTC.\n\nIt is estimated that 53,400 people, 23,500 households, and $10.0 Billion (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nyellow warning - winter storm - in effect\nSnow will combine with strengthening winds to cause blowing snow. Locations: western Newfoundland. Additional snowfall tonight: 2 to 5 cm. Maximum wind gusts: westerly 60 to 70 km/h..."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "36a4fc31-8138-423d-ba2a-470108d81f1a",
    "type": "WINTERSTORM",
    "sourceId": 1800,
    "sourceRecordId": "urn:oid:2.49.0.1.124.1425888360.2026",
    "properties": {
      "hazardName": "Winter Storm - Corner Brook, Newfoundland and Labrador, Canada",
      "senderName": "Environment Canada",
      "urgency": "Expected, Past",
      "headline": "yellow warning - winter storm - in effect\nyellow warning - winter storm - ended",
      "severity": "Moderate",
      "certainty": "Likely, Observed",
      "status": null,
      "..."
    }
  },
  "uuid": "a19f1d59-f3d3-4bef-bfbe-23e1b7d4be83",
  "comment": null,
  "createdAt": 1773426705,
  "relatedHazards": [],
  "longitude": -58.22802,
  "latitude": 48.84801,
  "version": 18,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "MODERATE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 53400,
      "total0_14": 8170,
      "total15_64": 34886,
      "total65_Plus": 10333,
      "households": 23524,
      "vulnerable": 5340
    },
    "capital": {
      "total": 10013638000,
      "school": 19,
      "hospital": 10
    },
    "totalByCountry": [
      {
        "population": {
          "total": 53400,
          "total0_14": 8170,
          "total15_64": 34886,
          "total65_Plus": 10333,
          "households": 23524,
          "vulnerable": 5340
        },
        "country": "CAN",
        "capital": {
          "total": 10013638000,
          "school": 19,
          "hospital": 10
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 11214000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 16020.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 534.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 18423.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 53400,
          "total0_14": 8170,
          "total15_64": 34886,
          "total65_Plus": 10333,
          "households": 23524,
          "vulnerable": 5340
        },
        "country": "CAN",
        "capital": {
          "total": 10013638000,
          "school": 19,
          "hospital": 10
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 11214000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 16020.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 534.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 18423.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 6700,
            "total0_14": 1025,
            "total15_64": 4377,
            "total65_Plus": 1296,
            "households": 2952,
            "vulnerable": 670
          },
          "capital": {
            "total": 1337854900,
            "school": 7,
            "hospital": 1
          },
          "totalByCountry": [
            {
              "population": {
                "total": 6700,
                "total0_14": 1025,
                "total15_64": 4377,
                "total65_Plus": 1296,
                "households": 2952,
                "vulnerable": 670
              },
              "country": "CAN",
              "capital": {
                "total": 1337854900,
                "school": 7,
                "hospital": 1
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1407000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2010.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 67.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2311.5
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 6700,
                "total0_14": 1025,
                "total15_64": 4377,
                "total65_Plus": 1296,
                "households": 2952,
                "vulnerable": 670
              },
              "country": "CAN",
              "capital": {
                "total": 1337854900,
                "school": 7,
                "hospital": 1
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1407000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2010.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 67.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2311.5
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 1407000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 2010.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 67.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 2311.5
        },
        "exposureDescription": "LIMITED"
      },
      {
        "level": "1",
        "data": {
          "population": {
            "total": 46700,
            "total0_14": 7145,
            "total15_64": 30509,
            "total65_Plus": 9036,
            "households": 20573,
            "vulnerable": 4670
          },
          "capital": {
            "total": 8675783100,
            "school": 12,
            "hospital": 9
          },
          "totalByCountry": [
            {
              "population": {
                "total": 46700,
                "total0_14": 7145,
                "total15_64": 30509,
                "total65_Plus": 9036,
                "households": 20573,
                "vulnerable": 4670
              },
              "country": "CAN",
              "capital": {
                "total": 8675783100,
                "school": 12,
                "hospital": 9
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 9807000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 14010.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 467.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 16111.5
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 46700,
                "total0_14": 7145,
                "total15_64": 30509,
                "total65_Plus": 9036,
                "households": 20573,
                "vulnerable": 4670
              },
              "country": "CAN",
              "capital": {
                "total": 8675783100,
                "school": 12,
                "hospital": 9
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 9807000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 14010.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 467.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 16111.5
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 9807000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 14010.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 467.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 16111.5
        },
        "exposureDescription": "MODERATE"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773426686262",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 11214000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 16020.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 534.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 18423.0
  },
  "type": "WINTERSTORM",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773129747,
  "updatedAt": 1773426686,
  "endedAt": 1773483348
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields. The full response includes additional CAP metadata fields such as `note`, `references`, `rawMessage`, `eventCode`, and `headlineDescription`. The `features` collection includes multiple EXPOSURE\_AREA and SMART\_ALERT features; CAP\_INFO area features (one per alert zone) are also present in the full response but not shown here.
{% endhint %}


# Tornado Sample

This page provides a complete sample response for a tornado hazard from the Active Hazards API endpoint. Tornado hazards can be sourced from multiple agencies including ADINet (ASEAN Disaster Information Network), the U.S. National Weather Service (NWS), and other national disaster management organizations. This particular sample originates from ADINet, which reports disaster events within the ASEAN region with a different property structure than CAP-based weather alerts.

## Tornado-Specific Properties

### Incident Data

The `incident.properties` object for this ADINet-sourced tornado provides impact assessment data and location details rather than the standard CAP alert fields. Key incident properties include:

* `affectedPersons` - Number of individuals affected (e.g., `176`)
* `fatalities` - Number of confirmed fatalities (e.g., `0`)
* `wounded` - Number of injured persons (e.g., `0`)
* `affectedHouses` - Number of houses affected (e.g., `44`)
* `sourceName` - Name of the reporting source (e.g., `"ADINet"`)
* `admin0` / `admin1` / `admin2` - Administrative region hierarchy (e.g., `"Indonesia"` / `""` / `"Lampung Selatan"`)
* `sourceUrl` - Direct link to the ADINet report page
* `event` - Event type name (e.g., `"Tornadoes"`)
* `hazardName` - Full hazard display name (e.g., `"Tornadoes - SE of Bandar Lampung, Lampung, Indonesia"`)
* `incidentLocationName` - Human-readable location (e.g., `"SE of Bandar Lampung, Lampung, Indonesia"`)
* `reportDate` / `eventDate` / `effective` - ISO 8601 timestamps for the event
* `sourceDisclosure` - Disclaimer about data preliminary nature
* `senderName` - Full name of the issuing organization
* `missing` - Number of missing persons
* `iso_code` - ISO country code (e.g., `"ID"`)

### Features

The `features` property contains a GeoJSON FeatureCollection with a single exposure area feature. Unlike CAP-based weather alerts, ADINet tornado hazards do not include CAP\_INFO features. The feature collection also includes `incidentType` metadata describing the tornado event type and its associated field mappings.

### Exposure Areas

Tornado hazards from ADINet use a single exposure level:

* **Level 1**: 10km buffer around the reported incident location

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Tornadoes - SE of Bandar Lampung, Lampung, Indonesia"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "The ASEAN Disaster Information Network (ADINet) has issued a Tornadoes warning for February 16, 2026 03:00:09 UTC through February 17, 2026 03:13:14 UTC.\n\nIt is estimated that 168,000 people, 43,000 households, and $813 Million (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nApproximately 176 individuals across 44 households have been affected..."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "f308ec42-0385-4edb-a8db-0b1f3ca7eb96",
    "type": "TORNADO",
    "sourceId": 1796,
    "sourceRecordId": "983c80cc-b423-4c08-8823-bd9d9db5b096",
    "properties": {
      "affectedPersons": 176,
      "affectedPersonsFormatted": "176",
      "fatalities": 0,
      "fatalitiesFormatted": "0",
      "wounded": 0,
      "woundedFormatted": "0",
      "missing": 0,
      "missingFormatted": "0",
      "affectedHouses": 44,
      "affectedHousesFormatted": "44",
      "affectedFamilies": "44",
      "sourceName": "ADINet",
      "senderName": "The ASEAN Disaster Information Network (ADINet)",
      "sourceUrl": "https://adinet.ahacentre.org/report/indonesia-strong-winds-in-lampung-selatan-lampung-20260214",
      "admin0": "Indonesia",
      "admin1": "",
      "admin2": "Lampung Selatan",
      "iso_code": "ID",
      "event": "Tornadoes",
      "hazardName": "Tornadoes - SE of Bandar Lampung, Lampung, Indonesia",
      "incidentLocationName": "SE of Bandar Lampung, Lampung, Indonesia",
      "hazardSeverity": "WARNING",
      "featureType": "INCIDENT",
      "reportDate": "2026-02-16T03:00:09+00:00",
      "eventDate": "2026-02-16T03:00:09+00:00",
      "effective": "2026-02-16T03:00:09+00:00",
      "description": "Location:\nKec. Natar\n- Ds. Haduyang",
      "sourceDisclosure": "The figures provided by the ADINet report are preliminary and are updated daily as additional information becomes available, based on the latest data provided by National Disaster Management Organizations within the ASEAN region.",
      "..."
    }
  },
  "uuid": "f009a7fd-b7f1-474b-a536-b2cdf91617c0",
  "comment": null,
  "createdAt": 1771211595,
  "relatedHazards": [],
  "longitude": 105.5005,
  "latitude": -5.53277,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1,
          "exposureDescription": "10km Buffer",
          "intensity": "MODERATE"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": {
      "id": "TORNADO",
      "name": "Tornado",
      "nameField": {
        "type": "text",
        "key": "hazardName",
        "label": "title"
      },
      "eventTimeField": {
        "type": "timestamp_milli",
        "key": "effective",
        "label": "effective at"
      },
      "updatedAtField": {
        "type": "timestamp_milli",
        "key": "sent",
        "label": "updated at"
      },
      "associatedPhenomena": []
    },
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": {
      "id": 1796,
      "name": "ADINet",
      "longName": "The ASEAN Disaster Information Network (ADINET)",
      "..."
    }
  },
  "exposureAreas": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 168000.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 813021800.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 168000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 813021800.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 32970000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 47100.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 1570.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 54165.0
        },
        "exposureDescription": "10km Buffer"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1771211352545",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 32970000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 47100.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 1570.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 54165.0
  },
  "type": "TORNADO",
  "creator": "RICHTER",
  "source": {
    "id": 1796,
    "name": "ADINet",
    "longName": "The ASEAN Disaster Information Network (ADINET)",
    "..."
  },
  "startedAt": 1771210809,
  "updatedAt": 1771211352,
  "endedAt": 1771297994
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these contain complete GeoJSON coordinate arrays. The `incident.properties` and `source` objects have been truncated with `"..."` to show only key fields. ADINet tornado hazards include additional impact fields such as `settlements`, `refugees`, `worshipPlaces`, `schools`, `health`, `bridges`, `livestock`, and various cost/damage fields that are omitted here for brevity.
{% endhint %}


# Severe Weather Sample

This page provides a complete sample response for a severe weather hazard from the Active Hazards API endpoint. Severe weather hazards encompass a broad category of weather alerts including dense fog warnings, special weather statements, severe thunderstorm warnings, and general severe weather advisories issued by national meteorological services. These alerts may follow the Common Alerting Protocol (CAP) standard or use agency-specific formats such as those from the China Meteorological Administration (CMA).

## Severe Weather-Specific Properties

### Incident Data

The `incident.properties` object for a severe weather hazard contains standard alert metadata when the record comes from a meteorological service. Analyst-curated severe weather records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) instead, without the CAP fields below.

Key incident properties for alert-sourced records include:

* `senderName` - Issuing agency (e.g., `"China Meteorological Administration"`)
* `headline` - Alert headline text (e.g., `"Heavy fog — Orange Warning (Level II) for Chongming District..."`)
* `description` - Detailed alert description with forecast information and expected impacts
* `severity` - Severity level (e.g., `"Severe"`)
* `urgency` - Urgency level (e.g., `"Unknown"`)
* `certainty` - Certainty level (e.g., `"Unknown"`)
* `event` - Event type name (e.g., `"Dense Fog"`)
* `effective` / `expires` / `onset` - ISO 8601 timing fields for the alert window
* `msgType` - Message type (e.g., `"Update"`)
* `instruction` - Recommended actions (may be empty for some alerts)
* `category` - Category (e.g., `"Met"` for meteorological)
* `hazardSeverity` - Hazard severity classification (e.g., `"WATCH"`)
* `incidentLocationName` - Human-readable location (e.g., `"Nantong, Jiangsu, China"`)
* `headlineDescription` - Full descriptive headline combining alert status and forecast details

### Features

The `features` property contains a GeoJSON FeatureCollection with `EXPOSURE_AREA` and `SMART_ALERT` features. For CMA-sourced alerts, features include exposure area polygons with severity levels rather than CAP\_INFO features. The collection may contain multiple exposure area features at different severity levels (e.g., MODERATE, STRONG).

The `exposureDescription` and `exposureLevel` properties shown on the exposure-area features in the sample below were not present on the severe weather records observed in production on 2026-09-11; treat them as source-dependent and read the level from `exposureAreas` instead.

### Exposure Areas

Severe weather hazards may use multiple exposure levels representing different severity zones:

* **Level 1**: Moderate exposure area - outer zone with lower expected impact
* **Level 2**: Strong exposure area - core zone with highest expected impact

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Dense Fog - Nantong, Jiangsu, China"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "China Meteorological Administration has issued a Dense Fog watch for March 12, 2026 21:41:00 UTC through March 14, 2026 01:53:02 UTC.\n\nIt is estimated that 6.71 Million people, 2.43 Million households, and $171 Billion (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nAt 05:41 on March 13, 2026, Chongming District Meteorological Observatory issued an orange (Level II) heavy fog warning: widespread heavy fog with visibility expected below 200 meters in most towns and villages, and locally below 50 meters..."
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "incident": {
    "uuid": "a0ab1db9-175e-43f9-a06b-07c51ea0224c",
    "type": "SEVEREWEATHER",
    "sourceId": 1797,
    "sourceRecordId": "31015141600000_20260313040908",
    "properties": {
      "hazardName": "Dense Fog - Nantong, Jiangsu, China",
      "senderName": "China Meteorological Administration",
      "urgency": "Unknown",
      "headline": "Heavy fog — Orange Warning (Level II) for Chongming District and parts of Nantong; warning status updates in Zhangjiagang, Changshu, Haimen and Nantong",
      "severity": "Severe",
      "certainty": "Unknown",
      "status": null,
      "..."
    }
  },
  "uuid": "67cc5de8-daf6-4690-be4a-60c417476108",
  "comment": null,
  "createdAt": 1773366783,
  "relatedHazards": [],
  "longitude": 120.92874,
  "latitude": 32.19687,
  "version": 8,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {}
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "STRONG",
          "exposureDescription": "STRONG",
          "featureType": "EXPOSURE_AREA",
          "exposureLevel": 2
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 2
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 1
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 6710000,
      "total0_14": 1113189,
      "total15_64": 4636610,
      "total65_Plus": 961543,
      "households": 2431159,
      "vulnerable": 261000
    },
    "capital": {
      "total": 171710057000,
      "school": 9,
      "hospital": 25
    },
    "totalByCountry": [
      {
        "population": {
          "total": 6710000,
          "total0_14": 1113189,
          "total15_64": 4636610,
          "total65_Plus": 961543,
          "households": 2431159,
          "vulnerable": 261000
        },
        "country": "CHN",
        "capital": {
          "total": 171710057000,
          "school": 9,
          "hospital": 25
        },
        "admin0": "China",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 548100000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 783000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 26100.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 900450.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 6710000,
          "total0_14": 1113189,
          "total15_64": 4636610,
          "total65_Plus": 961543,
          "households": 2431159,
          "vulnerable": 261000
        },
        "country": "CHN",
        "capital": {
          "total": 171710057000,
          "school": 9,
          "hospital": 25
        },
        "admin0": "China",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 548100000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 783000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 26100.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 900450.0
      }
    ],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 657000,
            "total0_14": 108996,
            "total15_64": 453987,
            "total65_Plus": 94148,
            "households": 238043,
            "vulnerable": 25600
          },
          "capital": {
            "total": 15821398300,
            "school": 0,
            "hospital": 2
          },
          "totalByCountry": [
            {
              "population": {
                "total": 657000,
                "total0_14": 108996,
                "total15_64": 453987,
                "total65_Plus": 94148,
                "households": 238043,
                "vulnerable": 25600
              },
              "country": "CHN",
              "capital": {
                "total": 15821398300,
                "school": 0,
                "hospital": 2
              },
              "admin0": "China",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 53760000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 76800.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2560.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 88320.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 657000,
                "total0_14": 108996,
                "total15_64": 453987,
                "total65_Plus": 94148,
                "households": 238043,
                "vulnerable": 25600
              },
              "country": "CHN",
              "capital": {
                "total": 15821398300,
                "school": 0,
                "hospital": 2
              },
              "admin0": "China",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 53760000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 76800.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2560.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 88320.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 53760000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 76800.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 2560.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 88320.0
        },
        "exposureDescription": "MODERATE"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 6050000,
            "total0_14": 1003695,
            "total15_64": 4180550,
            "total65_Plus": 866965,
            "households": 2192029,
            "vulnerable": 235000
          },
          "capital": {
            "total": 155888658700,
            "school": 9,
            "hospital": 23
          },
          "totalByCountry": [
            {
              "population": {
                "total": 6050000,
                "total0_14": 1003695,
                "total15_64": 4180550,
                "total65_Plus": 866965,
                "households": 2192029,
                "vulnerable": 235000
              },
              "country": "CHN",
              "capital": {
                "total": 155888658700,
                "school": 9,
                "hospital": 23
              },
              "admin0": "China",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 493500000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 705000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 23500.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 810750.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 6050000,
                "total0_14": 1003695,
                "total15_64": 4180550,
                "total65_Plus": 866965,
                "households": 2192029,
                "vulnerable": 235000
              },
              "country": "CHN",
              "capital": {
                "total": 155888658700,
                "school": 9,
                "hospital": 23
              },
              "admin0": "China",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 493500000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 705000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 23500.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 810750.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 493500000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 705000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 23500.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 810750.0
        },
        "exposureDescription": "STRONG"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773366775760",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 548100000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 783000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 26100.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 900450.0
  },
  "type": "SEVEREWEATHER",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773351660,
  "updatedAt": 1773366775,
  "endedAt": 1773453182
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields. The full response includes additional metadata fields. This sample shows a CMA-sourced dense fog alert from China, which uses a different property structure than CAP-based alerts from Environment Canada or BoM. The `features` collection contains EXPOSURE\_AREA features at different severity levels and a SMART\_ALERT feature. The description field includes summarized content from multiple active alerts issued across the affected region.
{% endhint %}


# High Wind Sample

This page provides a complete sample response for a high wind hazard from the Active Hazards API endpoint. High wind hazards include strong wind warnings, gale warnings, and wind advisories issued by national meteorological services. These alerts follow the Common Alerting Protocol (CAP) standard and are sourced from agencies such as Environment Canada, the U.S. National Weather Service (NWS), and the Australian Government Bureau of Meteorology (BoM).

## High Wind-Specific Properties

### Incident Data

The `incident.properties` object for a high wind hazard contains standard CAP alert metadata. Key incident properties include:

* `senderName` - Issuing agency (e.g., `"Environment Canada"`)
* `headline` - Alert headline text describing the wind warning and affected areas
* `description` - Detailed alert description with wind speed information and expected impacts
* `severity` - CAP severity level (e.g., `"Moderate"`)
* `urgency` - CAP urgency level (e.g., `"Future, Past"`)
* `certainty` - CAP certainty level (e.g., `"Likely, Observed"`)
* `event` - Event type name (e.g., `"Wind"`)
* `effective` / `expires` / `onset` - ISO 8601 timing fields for the alert window
* `msgType` - CAP message type (e.g., `"Update"`)
* `instruction` - Recommended actions (may be empty)
* `category` - CAP category (e.g., `"Met"` for meteorological)
* `hazardSeverity` - Hazard severity classification (e.g., `"WARNING"`)
* `incidentLocationName` - Human-readable location (e.g., `"St. John's, Newfoundland and Labrador, Canada"`)
* `headlineDescription` - Full descriptive headline combining alert status and wind details

**NWS-aggregated records.** High wind hazards built from U.S. National Weather Service products consolidate several alerts into one record and carry additional aggregation properties: `aggregateSourceAlertDescriptions`, `messagePhenomena`, `messageProduct`, `messageSignificance`, `messageAction`, `affectedZoneIds`, `expiredReferenceIds`, `isExpired`, `effectiveAt` / `endedAt` / `expiredAt`, `eventId`, `geocode`, and `@id`. The `hazardName` property is not present on these records; use the top-level `name` instead.

### Features

The `features` property is **`null`** on the high wind records observed in production on 2026-09-11. When present, it contains a GeoJSON FeatureCollection with `EXPOSURE_AREA` and `SMART_ALERT` features, each EXPOSURE\_AREA representing a zone with a specific severity level (e.g., LIMITED, MODERATE), and possibly CAP\_INFO features with area descriptions and geocodes. Do not depend on `features` for high wind geometry; `alertGeometry` and `exposureAreas` are always populated.

### Exposure Areas

High wind hazards may use multiple exposure levels representing different severity zones:

* **Level 0**: Limited exposure area - peripheral zone with lower expected impact
* **Level 1**: Moderate exposure area - core zone with higher expected impact

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Wind - St. John's, Newfoundland and Labrador, Canada"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Environment Canada has issued a Wind warning for March 13, 2026 18:18:24 UTC through March 14, 2026 02:02:24 UTC.\n\nIt is estimated that 293,000 people, 129,000 households, and $48.7 Billion (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nyellow warning - wind - in effect\nStrong winds that may cause damage are expected. Locations: Avalon Peninsula. Maximum wind gusts: southwesterly 100 km/h..."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "2f7c390d-7581-448f-89a3-1b2c065ed416",
    "type": "HIGHWIND",
    "sourceId": 1800,
    "sourceRecordId": "urn:oid:2.49.0.1.124.1146677353.2026",
    "properties": {
      "hazardName": "Wind - St. John's, Newfoundland and Labrador, Canada",
      "senderName": "Environment Canada",
      "urgency": "Future, Past",
      "headline": "yellow warning - wind - in effect\nyellow warning - wind - ended",
      "severity": "Moderate",
      "certainty": "Likely, Observed",
      "status": null,
      "..."
    }
  },
  "uuid": "36fc56ba-1234-4320-8516-8a10b74671fa",
  "comment": null,
  "createdAt": 1773426710,
  "relatedHazards": [],
  "longitude": -54.21334,
  "latitude": 47.15707,
  "version": 7,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "MODERATE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 293000,
      "total0_14": 44829,
      "total15_64": 191417,
      "total65_Plus": 56696,
      "households": 129075,
      "vulnerable": 29300
    },
    "capital": {
      "total": 48711958700,
      "school": 29,
      "hospital": 18
    },
    "totalByCountry": [
      {
        "population": {
          "total": 293000,
          "total0_14": 44829,
          "total15_64": 191417,
          "total65_Plus": 56696,
          "households": 129075,
          "vulnerable": 29300
        },
        "country": "CAN",
        "capital": {
          "total": 48711958700,
          "school": 29,
          "hospital": 18
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 61530000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 87900.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2930.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 101085.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 293000,
          "total0_14": 44829,
          "total15_64": 191417,
          "total65_Plus": 56696,
          "households": 129075,
          "vulnerable": 29300
        },
        "country": "CAN",
        "capital": {
          "total": 48711958700,
          "school": 29,
          "hospital": 18
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 61530000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 87900.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2930.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 101085.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 15900,
            "total0_14": 2433,
            "total15_64": 10387,
            "total65_Plus": 3077,
            "households": 7004,
            "vulnerable": 1590
          },
          "capital": {
            "total": 3164208600,
            "school": 16,
            "hospital": 4
          },
          "totalByCountry": [
            {
              "population": {
                "total": 15900,
                "total0_14": 2433,
                "total15_64": 10387,
                "total65_Plus": 3077,
                "households": 7004,
                "vulnerable": 1590
              },
              "country": "CAN",
              "capital": {
                "total": 3164208600,
                "school": 16,
                "hospital": 4
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 3339000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 4770.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 159.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 5485.5
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 15900,
                "total0_14": 2433,
                "total15_64": 10387,
                "total65_Plus": 3077,
                "households": 7004,
                "vulnerable": 1590
              },
              "country": "CAN",
              "capital": {
                "total": 3164208600,
                "school": 16,
                "hospital": 4
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 3339000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 4770.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 159.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 5485.5
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 3339000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 4770.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 159.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 5485.5
        },
        "exposureDescription": "LIMITED"
      },
      {
        "level": "1",
        "data": {
          "population": {
            "total": 277000,
            "total0_14": 42381,
            "total15_64": 180964,
            "total65_Plus": 53600,
            "households": 122026,
            "vulnerable": 27700
          },
          "capital": {
            "total": 45547750100,
            "school": 13,
            "hospital": 14
          },
          "totalByCountry": [
            {
              "population": {
                "total": 277000,
                "total0_14": 42381,
                "total15_64": 180964,
                "total65_Plus": 53600,
                "households": 122026,
                "vulnerable": 27700
              },
              "country": "CAN",
              "capital": {
                "total": 45547750100,
                "school": 13,
                "hospital": 14
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 58170000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 83100.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2770.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 95565.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 277000,
                "total0_14": 42381,
                "total15_64": 180964,
                "total65_Plus": 53600,
                "households": 122026,
                "vulnerable": 27700
              },
              "country": "CAN",
              "capital": {
                "total": 45547750100,
                "school": 13,
                "hospital": 14
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 58170000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 83100.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2770.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 95565.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 58170000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 83100.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 2770.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 95565.0
        },
        "exposureDescription": "MODERATE"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773426695153",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 61530000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 87900.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 2930.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 101085.0
  },
  "type": "HIGHWIND",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773345217,
  "updatedAt": 1773426695,
  "endedAt": 1773453744
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields. The full response includes additional CAP metadata fields such as `note`, `references`, `rawMessage`, `eventCode`, and `headlineDescription`. The `features` collection includes EXPOSURE\_AREA features at different severity levels and a SMART\_ALERT feature; CAP\_INFO area features (one per alert zone) are also present in the full response but not shown here.
{% endhint %}


# High Surf Sample

This page provides a complete sample response for a high surf hazard from the Active Hazards API endpoint. High surf hazards cover dangerous coastal wave and surf conditions and are sourced from agencies such as the Australian Government Bureau of Meteorology (BoM) and the U.S. National Weather Service (NWS). This sample uses the BoM alert format, which follows the Common Alerting Protocol (CAP) standard for coastal hazard warnings.

## High Surf-Specific Properties

### Incident Data

The `incident.properties` object for a BoM high surf hazard contains CAP-based alert metadata. Key incident properties include:

* `senderName` - Issuing agency (e.g., `"Australian Government Bureau of Meteorology"`)
* `headline` - Alert headline text describing the hazardous surf warning and affected coastal areas
* `description` - Detailed alert description (may be empty for some BoM alerts where the headline contains the primary information)
* `severity` - CAP severity level (e.g., `"Moderate"`)
* `urgency` - CAP urgency level (e.g., `"Unknown"`)
* `certainty` - CAP certainty level (e.g., `"Unknown"`)
* `event` - Event type name (e.g., `"Large Coastal Surf"`)
* `effective` / `expires` - ISO 8601 timing fields for the alert window
* `onset` - May be `null` for some BoM-sourced alerts
* `msgType` - CAP message type (e.g., `"Update"`)
* `instruction` - Recommended actions (may be empty)
* `category` - CAP category (e.g., `"Met"` for meteorological)
* `hazardSeverity` - Hazard severity classification (e.g., `"WARNING"`)
* `incidentLocationName` - Human-readable location (e.g., `"NE of Ulladulla, New South Wales, Australia"`)
* `headlineDescription` - Full descriptive headline with coastal zone details

### Features

The `features` property contains a GeoJSON FeatureCollection with `EXPOSURE_AREA` and `SMART_ALERT` features. Each EXPOSURE\_AREA feature represents a zone with a specific severity level. BoM-sourced alerts use MultiPolygon geometry covering coastal zones. `features` may be `null` on some high surf records; `alertGeometry` and `exposureAreas` are always populated.

### Exposure Areas

High surf hazards use a single exposure level representing the source-provided alert area:

* **Level 1**: Source-provided alert area - the coastal zones covered by the hazardous surf warning

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Large Coastal Surf - NE of Ulladulla, New South Wales, Australia"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Australian Government Bureau of Meteorology has issued a Large Coastal Surf warning for March 14, 2026 13:00:00 UTC through March 15, 2026 13:00:00 UTC.\n\nIt is estimated that 186 people, 74 households, and $0 (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nHazardous Surf Warning for Macquarie Coast: Smoky Cape to Seal Rocks, Hunter Coast: Seal Rocks to Broken Bay, Sydney Coast: Broken Bay to Port Hacking, Illawarra Coast: Port Hacking to Ulladulla, Batemans Coast: Ulladulla to Montague Island and Eden Coast: Montague Island to Gabo Island for 15 March..."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "e32cb174-58e5-418a-9f68-e080dff362d4",
    "type": "HIGHSURF",
    "sourceId": 1799,
    "sourceRecordId": "AusBoM-IDN28522-2026-03-13T06:21:57+00:00",
    "properties": {
      "hazardName": "Large Coastal Surf - NE of Ulladulla, New South Wales, Australia",
      "senderName": "Australian Government Bureau of Meteorology",
      "urgency": "Unknown",
      "headline": "Hazardous Surf Warning for Macquarie Coast: Smoky Cape to Seal Rocks, Hunter Coast: Seal Rocks to Broken Bay, Sydney Coast: Broken Bay to Port Hacking, Illawarra Coast: Port Hacking to Ulladulla, Batemans Coast: Ulladulla to Montague Island and Eden Coast: Montague Island to Gabo Island for 15 March",
      "severity": "Moderate",
      "certainty": "Unknown",
      "status": null,
      "..."
    }
  },
  "uuid": "5fe46bea-0c3d-4215-993d-286f42d06bec",
  "comment": null,
  "createdAt": 1773425785,
  "relatedHazards": [],
  "longitude": 151.55698,
  "latitude": -34.16325,
  "version": 3,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "MODERATE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 186,
      "total0_14": 34,
      "total15_64": 120,
      "total65_Plus": 32,
      "households": 75,
      "vulnerable": 24
    },
    "capital": {
      "total": 0,
      "school": 0,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 186,
          "total0_14": 34,
          "total15_64": 120,
          "total65_Plus": 32,
          "households": 75,
          "vulnerable": 24
        },
        "country": "AUS",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Australia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 50610.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 72.3,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2.41,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 83.145
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 186,
          "total0_14": 34,
          "total15_64": 120,
          "total65_Plus": 32,
          "households": 75,
          "vulnerable": 24
        },
        "country": "AUS",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Australia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 50610.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 72.3,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2.41,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 83.145
      }
    ],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 186,
            "total0_14": 34,
            "total15_64": 120,
            "total65_Plus": 32,
            "households": 75,
            "vulnerable": 24
          },
          "capital": {
            "total": 0,
            "school": 0,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 186,
                "total0_14": 34,
                "total15_64": 120,
                "total65_Plus": 32,
                "households": 75,
                "vulnerable": 24
              },
              "country": "AUS",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 50610.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 72.3,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2.41,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 83.145
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 186,
                "total0_14": 34,
                "total15_64": 120,
                "total65_Plus": 32,
                "households": 75,
                "vulnerable": 24
              },
              "country": "AUS",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Australia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 50610.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 72.3,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2.41,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 83.145
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 50610.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 72.3,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 2.41,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 83.145
        },
        "exposureDescription": "MODERATE"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773425772997",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 50610.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 72.3,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 2.41,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 83.145
  },
  "type": "HIGHSURF",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773493200,
  "updatedAt": 1773425772,
  "endedAt": 1773579600
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields. The full response includes additional CAP metadata fields. This sample shows a BoM-sourced hazardous surf warning covering the New South Wales coast of Australia. Note that `exposureAssessment` shows minimal population because this alert covers primarily offshore and coastal waters. The `features` collection includes EXPOSURE\_AREA and SMART\_ALERT features; BoM alerts use `AMOC-AreaCode` geocode values in the full CAP\_INFO features rather than the `profile:CAP-CP:Location` codes used by Environment Canada.
{% endhint %}


# Storm Sample

Storm hazards covering marine/coastal storm warnings, sourced from NWS and other agencies. Note: This type covers general storm warnings distinct from tropical cyclones, winter storms, and severe weather categories. These hazards aggregate multiple NWS alert products into a single consolidated hazard record.

## Storm-Specific Properties

### Incident Data

The `incident.properties` object for storm hazards follows the NWS alert format, containing metadata from the issuing weather service offices about the storm event and its expected conditions.

**Key incident properties for storms (NWS alert format) include:**

* `senderName` - Name of the issuing authority (e.g., "NWS Marquette MI")
* `headline` - Brief summary of the alert (e.g., "Storm Watch, Gale Watch, Gale Warnings and Small Craft Advisories...")
* `description` - Detailed description including individual alert text (may be very long for multi-alert events)
* `severity` - Severity classification (e.g., "WATCH")
* `urgency` - Urgency level (e.g., "Future")
* `certainty` - Certainty classification (e.g., "Possible")
* `event` - Event type descriptor ("Storm")
* `messagePhenomena` - NWS phenomena code ("SR" for Storm)
* `messageSignificance` - NWS significance code ("W" for Warning)
* `officeId` - Issuing NWS office identifier (e.g., "PAFC")
* `eventId` - NWS event identifier (e.g., "PAFC-SR-W-1054")
* `locationName` - Detailed description of affected geographic areas
* `areaDescription` - Human-readable area description matching locationName
* `affectedZoneIds` - List of NWS zone identifiers covered by the alert
* `geocode` - SAME and UGC zone code mappings for the alert area

The `id` property shown in the sample below was not present on the storm records observed in production on 2026-09-11; use `eventId` as the stable identifier. Analyst-curated storm records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) instead of the NWS fields above.

### Features

The `features` property is `null` for this storm hazard. When NWS alert features are available through the enrichment pipeline, this property may contain CAP\_INFO features with alert polygon geometries representing individual alert areas.

### Exposure Areas

Single level - source-provided alert area. The `exposureAreas` FeatureCollection contains one feature with an `exposureLevel` property (e.g., level 2 for STRONG) covering the combined geographic extent of all consolidated storm warning zones.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Storm - Lake Superior, northern Michigan and Isle Royale, United States"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "NWS Marquette MI has issued a Storm watch for March 16, 2026 00:00:00 UTC through March 17, 2026 06:00:00 UTC...."
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "incident": {
    "uuid": "9ed6ea4a-8766-451a-badd-e86406a092ae",
    "type": "STORM",
    "sourceId": 1801,
    "sourceRecordId": "b8c0ab98-a53f-4d64-8519-cd47a56cca41",
    "properties": {
      "senderName": "NWS Marquette MI",
      "urgency": "Future",
      "id": "urn:oid:2.49.0.1.840.0.c32136499bb124f5c75829611b3a379547836a61.002.4",
      "headline": "Storm Watch, Gale Watch, Gale Warnings and Small Craft Advisories for Lake Superior (Northern Michigan and Isle Royale), United States",
      "severity": "WATCH",
      "certainty": "Possible",
      "status": "Actual",
      "...": ""
    }
  },
  "uuid": "02aee4e9-2c51-4b4f-ba84-7296ddf2beb7",
  "comment": null,
  "createdAt": 1773433232,
  "relatedHazards": [],
  "longitude": -88.36131,
  "latitude": 47.12715,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": null,
  "exposureAreas": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 2
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 201,
      "total0_14": 35,
      "total15_64": 131,
      "households": 81,
      "vulnerable": 24,
      "total65_Plus": 35
    },
    "capital": {
      "total": 906105300,
      "school": 0,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0,
          "vulnerable": 0,
          "total65_Plus": 0
        },
        "country": "CAN",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      },
      {
        "population": {
          "total": 201,
          "total0_14": 35,
          "total15_64": 131,
          "households": 81,
          "vulnerable": 24,
          "total65_Plus": 35
        },
        "country": "USA",
        "capital": {
          "total": 906105300,
          "school": 0,
          "hospital": 0
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 48.2,
        "waterNeedsUnit": "gal",
        "waterNeeds": 19.09925,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 2.41,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 276.668
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 201,
          "total0_14": 35,
          "total15_64": 131,
          "households": 81,
          "vulnerable": 24,
          "total65_Plus": 35
        },
        "country": "USA",
        "capital": {
          "total": 906105300,
          "school": 0,
          "hospital": 0
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 48.2,
        "waterNeedsUnit": "gal",
        "waterNeeds": 19.09925,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 2.41,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 276.668
      },
      {
        "population": {
          "total": 0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0,
          "vulnerable": 0,
          "total65_Plus": 0
        },
        "country": "CAN",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      }
    ],
    "exposureLevels": [
      {
        "level": "2",
        "data": {
          "population": {
            "total": 201,
            "total0_14": 35,
            "total15_64": 131,
            "households": 81,
            "vulnerable": 24,
            "total65_Plus": 35
          },
          "capital": {
            "total": 906105300,
            "school": 0,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0,
                "vulnerable": 0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            },
            {
              "population": {
                "total": 201,
                "total0_14": 35,
                "total15_64": 131,
                "households": 81,
                "vulnerable": 24,
                "total65_Plus": 35
              },
              "country": "USA",
              "capital": {
                "total": 906105300,
                "school": 0,
                "hospital": 0
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 48.2,
              "waterNeedsUnit": "gal",
              "waterNeeds": 19.09925,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 2.41,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 276.668
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0,
                "vulnerable": 0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            },
            {
              "population": {
                "total": 201,
                "total0_14": 35,
                "total15_64": 131,
                "households": 81,
                "vulnerable": 24,
                "total65_Plus": 35
              },
              "country": "USA",
              "capital": {
                "total": 906105300,
                "school": 0,
                "hospital": 0
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 48.2,
              "waterNeedsUnit": "gal",
              "waterNeeds": 19.09925,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 2.41,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 276.668
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 50610.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 72.3,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 2.41,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 83.145
        },
        "exposureDescription": "STRONG"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773433216842",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 50610.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 72.3,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 2.41,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 83.145
  },
  "type": "STORM",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773619200,
  "updatedAt": 1773433216,
  "endedAt": 1773727200
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, `alertGeometry` and `exposureAreas` contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields; the full `description` field contains text from all consolidated NWS alert products. The `features` property is `null` for this hazard. The `source` field is `null` for NWS storm hazards. Population values within `exposureAssessment` are integers; `capital.school` and `capital.hospital` are counts of exposed facilities.
{% endhint %}


# Extreme Temperature Sample

Extreme temperature hazards including extreme heat and extreme cold events, sourced from national weather services (BoM, NWS, Environment Canada) via CAP alerts. These hazards represent official warnings about dangerous temperature conditions that pose risks to public health and safety.

## Extreme Temperature-Specific Properties

### Incident Data

The `incident.properties` object for extreme temperature hazards follows the CAP (Common Alerting Protocol) structure, containing metadata from the issuing weather service about the temperature event and its expected impact.

**Key incident properties for extreme temperature (CAP-based) include:**

* `senderName` - Name of the issuing authority (e.g., "NWS Tucson AZ and NWS Phoenix AZ")
* `headline` - Brief summary of the alert (e.g., "Extreme Heat Watch for South-Central and Southwest Arizona...")
* `description` - Detailed description of expected conditions
* `severity` - CAP severity level (e.g., "WATCH")
* `urgency` - CAP urgency classification (e.g., "Future")
* `certainty` - CAP certainty level (e.g., "Likely")
* `event` - Event type descriptor (e.g., "Extreme Heat")
* `effective` - ISO 8601 timestamp for when the alert takes effect
* `expires` - ISO 8601 timestamp for when the alert expires
* `category` - CAP category classification (e.g., "Met" for meteorological)

Analyst-curated extreme temperature records use the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) instead of the CAP fields above.

### Features

The `features` property is `null` for this extreme temperature hazard. When CAP alert features are available through the enrichment pipeline, the `features` FeatureCollection may contain:

* **CAP\_INFO** - MultiPolygon geometry representing the alert area, with properties mirroring the CAP alert fields including `severity`, `urgency`, `certainty`, `headline`, `description`, `senderName`, `effective`, `expires`, `area` (with `areaDesc` and `geocode`), and `featureType: "CAP_INFO"`
* **SMART\_ALERT** - MultiPolygon geometry representing the computed alert boundary with `featureType: "SMART_ALERT"`
* **EXPOSURE\_AREA** - MultiPolygon geometry for exposure assessment with `severity` (e.g., "STRONG") and `featureType: "EXPOSURE_AREA"`

### Exposure Areas

Single level - source-provided alert area. The `exposureAreas` FeatureCollection contains one feature with an `exposureLevel` property (e.g., level 2 for STRONG) representing the geographic extent of the temperature warning.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Excessive Heat - Southwest Arizona & Southeast California, United States"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "NWS Tucson AZ and NWS Phoenix AZ has issued a Excessive Heat watch for March 18, 2026 18:00:00 UTC through March 23, 2026 03:00:00 UTC...."
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "incident": {
    "uuid": "188d8d91-f309-43fa-91dd-97e69254451b",
    "type": "EXTREMETEMPERATURE",
    "sourceId": 1801,
    "sourceRecordId": "9ed9bd39-704a-4ba3-a168-517c97685c40",
    "properties": {
      "senderName": "NWS Tucson AZ and NWS Phoenix AZ",
      "urgency": "Future",
      "id": "urn:oid:2.49.0.1.840.0.fa0ab7ac06584aa567d945d616152173e78fb62b.001.1",
      "headline": "Extreme Heat Watch for South-Central and Southwest Arizona (including Phoenix Metro) and Southeast California through March 22",
      "severity": "WATCH",
      "certainty": "Likely",
      "status": "Actual",
      "...": ""
    }
  },
  "uuid": "f353c464-3cad-4fb9-9d3f-77fad3c5e1c0",
  "comment": null,
  "createdAt": 1773430392,
  "relatedHazards": [],
  "longitude": -111.42524,
  "latitude": 32.42098,
  "version": 3,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": null,
  "exposureAreas": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 2
        }
      }
    ]
  },
  "exposureAssessment": {
    "population": {
      "total": 7090018,
      "total0_14": 1247845,
      "total15_64": 4605676,
      "households": 2847394,
      "vulnerable": 850007,
      "total65_Plus": 1235788
    },
    "capital": {
      "total": 797777412400,
      "school": 2657,
      "hospital": 114
    },
    "totalByCountry": [
      {
        "population": {
          "total": 18,
          "total0_14": 5,
          "total15_64": 12,
          "households": 5,
          "vulnerable": 7,
          "total65_Plus": 1
        },
        "country": "MEX",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Mexico",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 13944.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 19.92,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.664,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 22.908
      },
      {
        "population": {
          "total": 7090000,
          "total0_14": 1247840,
          "total15_64": 4605664,
          "households": 2847390,
          "vulnerable": 850000,
          "total65_Plus": 1235787
        },
        "country": "USA",
        "capital": {
          "total": 797777412400,
          "school": 2657,
          "hospital": 114
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 1700000.0,
        "waterNeedsUnit": "gal",
        "waterNeeds": 673625.0,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 85000.0,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 9758000.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 18,
          "total0_14": 5,
          "total15_64": 12,
          "households": 5,
          "vulnerable": 7,
          "total65_Plus": 1
        },
        "country": "MEX",
        "capital": {
          "total": 0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Mexico",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 13944.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 19.92,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.664,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 22.908
      },
      {
        "population": {
          "total": 7090000,
          "total0_14": 1247840,
          "total15_64": 4605664,
          "households": 2847390,
          "vulnerable": 850000,
          "total65_Plus": 1235787
        },
        "country": "USA",
        "capital": {
          "total": 797777412400,
          "school": 2657,
          "hospital": 114
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 1700000.0,
        "waterNeedsUnit": "gal",
        "waterNeeds": 673625.0,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 85000.0,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 9758000.0
      }
    ],
    "exposureLevels": [
      {
        "level": "2",
        "data": {
          "population": {
            "total": 7090018,
            "total0_14": 1247845,
            "total15_64": 4605676,
            "households": 2847394,
            "vulnerable": 850007,
            "total65_Plus": 1235788
          },
          "capital": {
            "total": 797777412400,
            "school": 2657,
            "hospital": 114
          },
          "totalByCountry": [
            {
              "population": {
                "total": 18,
                "total0_14": 5,
                "total15_64": 12,
                "households": 5,
                "vulnerable": 7,
                "total65_Plus": 1
              },
              "country": "MEX",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 13944.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 19.92,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.664,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 22.908
            },
            {
              "population": {
                "total": 7090000,
                "total0_14": 1247840,
                "total15_64": 4605664,
                "households": 2847390,
                "vulnerable": 850000,
                "total65_Plus": 1235787
              },
              "country": "USA",
              "capital": {
                "total": 797777412400,
                "school": 2657,
                "hospital": 114
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 1700000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 673625.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 85000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 9758000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 18,
                "total0_14": 5,
                "total15_64": 12,
                "households": 5,
                "vulnerable": 7,
                "total65_Plus": 1
              },
              "country": "MEX",
              "capital": {
                "total": 0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 13944.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 19.92,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.664,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 22.908
            },
            {
              "population": {
                "total": 7090000,
                "total0_14": 1247840,
                "total15_64": 4605664,
                "households": 2847390,
                "vulnerable": 850000,
                "total65_Plus": 1235787
              },
              "country": "USA",
              "capital": {
                "total": 797777412400,
                "school": 2657,
                "hospital": 114
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 1700000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 673625.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 85000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 9758000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 1785000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 2550000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 85000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 2932500.0
        },
        "exposureDescription": "STRONG"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773430370086",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 1785000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 2550000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 85000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 2932500.0
  },
  "type": "EXTREMETEMPERATURE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1773943200,
  "updatedAt": 1773430368,
  "endedAt": 1774234800
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, `alertGeometry` and `exposureAreas` contain complete GeoJSON coordinate arrays. The `incident.properties` object has been truncated with `"..."` to show only key fields. The `features` property is `null` for this hazard. The `source` field is `null` for NWS extreme temperature hazards. Population values within `exposureAssessment` are integers; `capital.school` and `capital.hospital` are counts of exposed facilities.
{% endhint %}


# Combat Sample

Combat hazards detected by AI for Humanity, PDC Global's generative AI and NLP technology, monitoring armed conflict events worldwide. These hazards track military engagements, airstrikes, shelling, and other armed conflict incidents, providing casualty data and severity scoring for each event.

## Combat-Specific Properties

### Incident Data

The `incident.properties` object for combat hazards contains data from AI for Humanity. These properties describe the nature of the armed conflict event, its casualties, severity, and geographic scope.

**Key incident properties for combat hazards include:**

* `Incident_Type` - Type of incident (e.g., "Combat")
* `Total_Fatalities` / `Total_Wounded` - Total casualty counts across all parties
* `Civilian_Fatalities` / `Civilian_Wounded` - Civilian casualty counts
* `Police_Military_Fatalities` / `Police_Military_Wounded` - Security force casualty counts
* `Terrorist_Insurgent_Fatalities` / `Terrorist_Insurgent_Wounded` - Insurgent/combatant casualty counts
* `Incident_Score` - Overall incident severity score
* `Casualty_Weight` / `Scope_Weight` / `Incident_Type_Weight` / `Total_Weight` - Scoring components used to determine hazard priority
* `Incident_Severity` - Severity classification ("H" for high, "M" for medium, "L" for low)
* `Scope_of_Incident` - Geographic scope (e.g., "Local", "Township", "Regional")
* `Country_Name` / `Province_District_Town` - Location details
* `Event_Summary` - AI-generated summary of the incident
* `sourceName` / `Source` - News source that reported the event
* `sourceResourceLocations` - JSON array of source article URLs
* `casualties` - JSON string with killed/injured breakdown
* `bufferSize` - Buffer distance in meters for exposure geometry (e.g., 100000 for combat)
* `rawMessage` - Full text of the source news article

### Features

Geopolitical hazards include features with `featureType` values of:

* **INCIDENT**: Point geometry at the incident location with casualty and event details
* **SMART\_ALERT**: Alert boundary polygon defining the hazard alert area

### Exposure Areas

Combat hazards use 3 exposure levels based on distance buffers:

* **Level 1**: Moderate exposure (30-100km buffer)
* **Level 2**: Strong exposure (10-30km buffer)
* **Level 3**: Severe exposure (0-10km buffer)

The buffer size is determined by the `bufferSize` property in the incident (in meters). For combat hazards, this is typically 100,000 meters (100km), reflecting the wider area of impact for armed conflict.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Combat (Military Operations) - Pakistan"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Combat incident was reported in Khyber Pakhtunkhwa, Pakistan on March 11, 2026.  Preliminary reports indicate 1496 total victims comprised of 641 fatalities and 855 wounded.\n\nEvent Summary*:\n\u2022 Combat (Military Operations) has been reported in Pakistan.\n\u2022 Reports indicate that during Operation Ghazab ul Haq on the Pakistan/Afghanistan border at least 1496 people have been affected. 641 fatalities, 855  injured, and 0 displaced.\n\u2022 Affected areas include: Pakistan.\n\u2022 Please monitor DisasterAWARE for updates.\n\u2022 Source: AI for Humanity\u2122 - PDC Global's generative AI and natural language processing hazard detection technology."
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "09cffe0a-2c7a-4808-8944-496d0ab7143d",
    "type": "COMBAT",
    "sourceId": 2000,
    "sourceRecordId": "fecb156cd23233e7dec4a7706cbc8070bebba093",
    "properties": {
      "Total_Wounded": 855,
      "reportDate": "2026-03-11T16:14:00Z",
      "status": "NEW",
      "eventDate": "2026-03-11T12:00:00Z",
      "hazardName": "Combat (Military Operations) - Pakistan",
      "locationDescription": "Khyber Pakhtunkhwa, Pakistan",
      "featureType": "INCIDENT",
      "Country_Name": "Pakistan",
      "Province_District_Town": "Khyber Pakhtunkhwa",
      "Total_Fatalities": 641,
      "Scope_of_Incident": "Local",
      "..."
    }
  },
  "uuid": "139a65dc-1f35-45f8-816f-a72226bb8c79",
  "comment": null,
  "createdAt": 1773266498,
  "relatedHazards": [],
  "longitude": 71.26788,
  "latitude": 33.7128,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "locationDescription": "Khyber Pakhtunkhwa, Pakistan",
          "casualties": {
            "killed": { "total": 641 },
            "injured": { "total": 855 }
          },
          "scopeOfIncident": "Local",
          "reportDate": "2026-03-11T16:14:00Z",
          "featureType": "INCIDENT",
          "name": "Combat (Military Operations) - Pakistan",
          "createDate": "2026-03-11T22:01:06Z",
          "eventDate": "2026-03-11T12:00:00Z",
          "..."
        },
        "geometry": {
          "coordinates": [...],
          "type": "Point"
        }
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon"
        }
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAreas": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "2",
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "3",
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 11217000.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 27567858900.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 10147000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 25571377600.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 5061000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 7230000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 241000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 8314500.0
        },
        "exposureDescription": "Moderate (30-100km)"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 1130000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 1977369600.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 518700000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 741000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 24700.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 852150.0
        },
        "exposureDescription": "Strong (10-30km)"
      },
      {
        "level": "3",
        "data": {
          "population": {
            "total": 9220.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 19111700.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 4221000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 6030.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 201.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 6934.5
        },
        "exposureDescription": "Severe (0-10km)"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1773266488269",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 5565000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 7950000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 265000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 9142500.0
  },
  "type": "COMBAT",
  "creator": "RICHTER",
  "source": {
    "id": 2000,
    "name": "AI for Humanity",
    "longName": "AI for Humanity",
    "..."
  },
  "startedAt": 1773230400,
  "updatedAt": 1773266488,
  "endedAt": 1773489600
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, `incident.properties`, `source`, and feature details have been truncated with `"..."` to show only key fields.
{% endhint %}


# Terrorism Sample

Terrorism hazards detected by AI for Humanity, PDC Global's generative AI and NLP technology. These hazards track terrorist attacks including bombings (IED), shootings, kidnappings, and other acts of terrorism, providing casualty data, severity scoring, and geographic scope for each event.

## Terrorism-Specific Properties

### Incident Data

The `incident.properties` object for terrorism hazards contains data from AI for Humanity. These properties describe the nature of the terrorist incident, its casualties, severity, and geographic scope.

**Key incident properties for terrorism hazards include:**

* `Incident_Type` - Type of incident (e.g., "Terrorism")
* `Total_Fatalities` / `Total_Wounded` - Total casualty counts across all parties
* `Civilian_Fatalities` / `Civilian_Wounded` - Civilian casualty counts
* `Police_Military_Fatalities` / `Police_Military_Wounded` - Security force casualty counts
* `Terrorist_Insurgent_Fatalities` / `Terrorist_Insurgent_Wounded` - Insurgent casualty counts
* `Incident_Score` - Overall incident severity score
* `Casualty_Weight` / `Scope_Weight` / `Incident_Type_Weight` / `Total_Weight` - Scoring components used to determine hazard priority
* `Incident_Severity` - Severity classification ("H" for high, "M" for medium, "L" for low)
* `Scope_of_Incident` - Geographic scope (e.g., "Local", "Township", "Regional")
* `Country_Name` / `Province_District_Town` - Location details
* `Event_Summary` - AI-generated summary of the incident
* `sourceName` / `Source` - News source that reported the event
* `sourceResourceLocations` - JSON array of source article URLs
* `casualties` - JSON string with killed/injured breakdown
* `bufferSize` - Buffer distance in meters for exposure geometry (e.g., 30000 for terrorism)
* `rawMessage` - Full text of the source news article

### Features

Geopolitical hazards include features with `featureType` values of:

* **INCIDENT**: Point geometry at the incident location with casualty and event details
* **SMART\_ALERT**: Alert boundary polygon defining the hazard alert area

### Exposure Areas

Terrorism hazards use 3 exposure levels based on distance buffers:

* **Level 1**: Moderate exposure (15-30km buffer)
* **Level 2**: Strong exposure (5-15km buffer)
* **Level 3**: Severe exposure (0-5km buffer)

The buffer size is determined by the `bufferSize` property in the incident (in meters). For terrorism hazards, this is typically 30,000 meters (30km), reflecting the localized but significant impact zone of terrorist events.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Terrorism (IED) \u2014 Bannu, Khyber Pakhtunkhwa, Pakistan"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Terrorism incident was reported in Bannu, Khyber Pakhtunkhwa, Pakistan on February 16, 2026.  Preliminary reports indicate 16 total victims comprised of 2 fatalities and 14 wounded.\n\nEvent Summary*:\n\u2022 Terrorism (IED) has been reported in Bannu, Khyber Pakhtunkhwa, Pakistan.\n\u2022 Reports indicate that at least 16 people have been ..."
    }
  ],
  "severity": "INFORMATION",
  "category": "EVENT",
  "incident": {
    "uuid": "6c1a7de3-6c93-4e6a-9ebb-0b6c3790d0f1",
    "type": "TERRORISM",
    "sourceId": 2000,
    "sourceRecordId": "4d83da6f-0d06-4125-a6c3-948ec15d6ee4",
    "properties": {
      "Terrorist_Insurgent_Fatalities": 0,
      "Total_Wounded": 14,
      "Civilian_Fatalities": 0,
      "type": "ACTUAL",
      "Incident_Type": "Terrorism",
      "reportDate": "2026-02-16T11:24:04Z",
      "Incident_Type_Weight": 3,
      "action": "NEW_EVENT",
      "Terrorist_Insurgent_Wounded": 0,
      "Incident_Duration": 1,
      "Created_Time": "2026-02-16T13:35:42Z",
      "casualties": "{\"killed\":{\"total\":2},\"injured\":{\"total\":14}}",
      "scopeOfIncident": "Township",
      "name": "Terrorism (IED) \u2014 Bannu, Khyber Pakhtunkhwa, Pakistan",
      "Police_Military_Wounded": 0,
      "status": "NEW",
      "eventDate": "2026-02-16T12:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Bannu, Khyber Pakhtunkhwa, Pakistan",
      "Incident_Score": 51.0,
      "sourceResourceLocations": "[...]",
      "Civilian_Wounded": 0,
      "Event_Summary": "\u2022 Terrorism (IED) has been reported in Bannu, Khyber Pakhtunkhwa, Pakistan...",
      "Scope_Weight": 1,
      "rawMessage": "[news article text truncated for brevity]",
      "Source": "caliber.az",
      "Incident_Severity": "H",
      "featureType": "INCIDENT",
      "Casualty_Weight": 50.0,
      "event": "Terrorism",
      "Country_Name": "Pakistan",
      "Total_Weight": 153.0,
      "Province_District_Town": "Bannu, Khyber Pakhtunkhwa",
      "Total_Fatalities": 2,
      "Scope_of_Incident": "Local",
      "Police_Military_Fatalities": 0,
      "sourceName": "caliber.az",
      "bufferSize": 30000,
      "..."
    }
  },
  "uuid": "988823ac-c746-497d-b7dd-5c58081918f3",
  "comment": null,
  "createdAt": 1771248965,
  "relatedHazards": [],
  "longitude": 70.64547,
  "latitude": 32.99099,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "INCIDENT",
          "name": "Terrorism (IED) \u2014 Bannu, Khyber Pakhtunkhwa, Pakistan",
          "casualties": {
            "killed": { "total": 2 },
            "injured": { "total": 14 }
          },
          "scopeOfIncident": "Township",
          "locationDescription": "Bannu, Khyber Pakhtunkhwa, Pakistan",
          "..."
        },
        "geometry": {
          "coordinates": [70.64547, 32.99099],
          "type": "Point"
        }
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon"
        }
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAreas": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "2",
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "3",
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 1320000.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 3154024800.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 570000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 1024608900.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 260400000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 372000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 12400.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 427800.0
        },
        "exposureDescription": "Moderate (15-30km)"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 572000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 1789424100.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 262500000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 375000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 12500.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 431250.0
        },
        "exposureDescription": "Strong (5-15km)"
      },
      {
        "level": "3",
        "data": {
          "population": {
            "total": 180000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 339991800.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 82740000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 118200.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 3940.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 135930.0
        },
        "exposureDescription": "Severe (0-5km)"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1771248953026",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 606900000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 867000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 28900.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 997050.0
  },
  "type": "TERRORISM",
  "creator": "RICHTER",
  "source": {
    "id": 2000,
    "name": "AI for Humanity",
    "longName": "AI for Humanity",
    "description": "TBD",
    "url": "https://www.pdc.org/artificial-intelligence/",
    "..."
  },
  "startedAt": 1771243200,
  "updatedAt": 1771248952,
  "endedAt": 1771416000
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, `incident.properties`, `source`, and feature details have been truncated with `"..."` to show only key fields.
{% endhint %}


# Accident Sample

Accident hazards including industrial incidents, transportation accidents, explosions, fires, and other non-intentional events detected by AI for Humanity, PDC Global's generative AI and NLP technology. These hazards track significant accidents worldwide, providing casualty data, severity scoring, and geographic context for each event.

## Accident-Specific Properties

### Incident Data

The `incident.properties` object for accident hazards contains data from AI for Humanity. These properties describe the nature of the accident, its casualties, severity, and geographic scope.

**Key incident properties for accident hazards include:**

* `Incident_Type` - Type of incident (e.g., "Accident")
* `Total_Fatalities` / `Total_Wounded` - Total casualty counts
* `Civilian_Fatalities` / `Civilian_Wounded` - Civilian casualty counts
* `Police_Military_Fatalities` / `Police_Military_Wounded` - Security force casualty counts
* `Terrorist_Insurgent_Fatalities` / `Terrorist_Insurgent_Wounded` - Insurgent casualty counts (typically 0 for accidents)
* `Incident_Score` - Overall incident severity score
* `Casualty_Weight` / `Scope_Weight` / `Incident_Type_Weight` / `Total_Weight` - Scoring components used to determine hazard priority
* `Incident_Severity` - Severity classification ("H" for high, "M" for medium, "L" for low)
* `Scope_of_Incident` - Geographic scope (e.g., "Local", "Township", "Regional")
* `Country_Name` / `Province_District_Town` - Location details
* `Event_Summary` - AI-generated summary of the incident
* `sourceName` / `Source` - News source that reported the event
* `sourceResourceLocations` - JSON array of source article URLs
* `casualties` - JSON string with killed/injured breakdown
* `bufferSize` - Buffer distance in meters for exposure geometry (e.g., 2000 for local accidents)
* `rawMessage` - Full text of the source news article

### Features

Geopolitical hazards include features with `featureType` values of:

* **INCIDENT**: Point geometry at the incident location with casualty and event details
* **SMART\_ALERT**: Alert boundary polygon defining the hazard alert area

### Exposure Areas

Accident hazards use 3 exposure levels based on distance buffers:

* **Level 1**: Moderate exposure (1-2km buffer)
* **Level 2**: Strong exposure (0.5-1km buffer)
* **Level 3**: Severe exposure (0-0.5km buffer)

The buffer size is determined by the `bufferSize` property in the incident (in meters). For accident hazards, this is typically 2,000 meters (2km), reflecting the localized impact zone of industrial and transportation incidents. Note that the buffer size varies depending on the scale of the accident.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Accident (Industrial Incident) - Mandya, Karnataka, India"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "An accident was reported in Mandya, Karnataka, India on February 15, 2026.  Preliminary reports indicate 5 total victims comprised of 2 fatalities and 3 wounded.\n\nEvent Summary*:\n\u2022 Accident (Industrial Incident) has been reported in Mandya, Karnataka, India.\n\u2022 Reports indicate that at least 5 people have been affected: 2 fat..."
    }
  ],
  "severity": "INFORMATION",
  "category": "EVENT",
  "incident": {
    "uuid": "4017ef97-86c4-46b9-8211-738e0e3572e7",
    "type": "ACCIDENT",
    "sourceId": 2000,
    "sourceRecordId": "7f73298f-3090-4434-ad1a-e7797aa90007",
    "properties": {
      "Terrorist_Insurgent_Fatalities": 0,
      "Total_Wounded": 3,
      "Civilian_Fatalities": 0,
      "type": "ACTUAL",
      "Incident_Type": "Accident",
      "reportDate": "2026-02-15T14:56:37Z",
      "Incident_Type_Weight": 1,
      "action": "NEW_EVENT",
      "Terrorist_Insurgent_Wounded": 0,
      "Incident_Duration": 1,
      "Created_Time": "2026-02-15T17:41:28Z",
      "casualties": "{\"killed\":{\"total\":2},\"injured\":{\"total\":3}}",
      "scopeOfIncident": "Local",
      "name": "Accident (Industrial Incident) - Mandya, Karnataka, India",
      "Police_Military_Wounded": 0,
      "status": "NEW",
      "eventDate": "2026-02-15T12:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Mandya, Karnataka, India",
      "Incident_Score": 41.0,
      "sourceResourceLocations": "[...]",
      "Civilian_Wounded": 0,
      "Event_Summary": "\u2022 Accident (Industrial Incident) has been reported in Mandya, Karnataka, India...",
      "Scope_Weight": 1,
      "rawMessage": "[news article text truncated for brevity]",
      "Source": "lokmattimes.com",
      "Incident_Severity": "H",
      "featureType": "INCIDENT",
      "Casualty_Weight": 40.0,
      "event": "Accident",
      "Country_Name": "India",
      "Total_Weight": 41.0,
      "Province_District_Town": "Mandya, Karnataka",
      "Total_Fatalities": 2,
      "Scope_of_Incident": "Local",
      "Police_Military_Fatalities": 0,
      "sourceName": "lokmattimes.com",
      "bufferSize": 2000,
      "..."
    }
  },
  "uuid": "51752a6e-a5d5-4fa6-ab40-55ab096065f0",
  "comment": null,
  "createdAt": 1771177307,
  "relatedHazards": [],
  "longitude": 76.89515,
  "latitude": 12.52182,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "INCIDENT",
          "name": "Accident (Industrial Incident) - Mandya, Karnataka, India",
          "casualties": {
            "killed": { "total": 2 },
            "injured": { "total": 3 }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Mandya, Karnataka, India",
          "..."
        },
        "geometry": {
          "coordinates": [76.89515, 12.52182],
          "type": "Point"
        }
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon"
        }
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAreas": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "2",
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "3",
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 43000.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 901007800.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 30400.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 901007800.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 13965000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 19950.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 665.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 22942.5
        },
        "exposureDescription": "Moderate (1-2km)"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 9650.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 0.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 4431000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 6330.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 211.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 7279.5
        },
        "exposureDescription": "Strong (0.5-1km)"
      },
      {
        "level": "3",
        "data": {
          "population": {
            "total": 2950.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 0.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 1356600.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 1938.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 64.6,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 2228.7
        },
        "exposureDescription": "Severe (0-0.5km)"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1771177298070",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 19761000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 28230.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 941.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 32464.5
  },
  "type": "ACCIDENT",
  "creator": "RICHTER",
  "source": {
    "id": 2000,
    "name": "AI for Humanity",
    "longName": "AI for Humanity",
    "description": "TBD",
    "url": "https://www.pdc.org/artificial-intelligence/",
    "..."
  },
  "startedAt": 1771156800,
  "updatedAt": 1771177297,
  "endedAt": 1771329600
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, `incident.properties`, `source`, and feature details have been truncated with `"..."` to show only key fields.
{% endhint %}


# Civil Unrest Sample

Civil unrest hazards including protests, riots, demonstrations, and social disturbances detected by AI for Humanity, PDC Global's generative AI and NLP technology. These hazards track significant civil unrest events worldwide, providing casualty data, severity scoring, and geographic context for each event.

## Civil Unrest-Specific Properties

### Incident Data

The `incident.properties` object for civil unrest hazards contains data from AI for Humanity. These properties describe the nature of the unrest, its casualties, severity, and geographic scope.

{% hint style="warning" %}
**Source-dependent fields.** The casualty, scoring, and location fields listed below are those of the AI for Humanity source. The civil unrest record observed in production on 2026-09-11 did not carry them — it used the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) instead, and its `features[].properties` had no `casualties` object. Check `incident.sourceId` before relying on any of these fields.
{% endhint %}

**Key incident properties for civil unrest hazards include:**

* `Incident_Type` - Type of incident (e.g., "Civil Unrest")
* `Total_Fatalities` / `Total_Wounded` - Total casualty counts
* `Civilian_Fatalities` / `Civilian_Wounded` - Civilian casualty counts
* `Police_Military_Fatalities` / `Police_Military_Wounded` - Security force casualty counts
* `Terrorist_Insurgent_Fatalities` / `Terrorist_Insurgent_Wounded` - Insurgent casualty counts
* `Incident_Score` - Overall incident severity score
* `Casualty_Weight` / `Scope_Weight` / `Incident_Type_Weight` / `Total_Weight` - Scoring components used to determine hazard priority
* `Incident_Severity` - Severity classification ("H" for high, "M" for medium, "L" for low)
* `Scope_of_Incident` - Geographic scope (e.g., "Local", "Township", "Regional")
* `Country_Name` / `Province_District_Town` - Location details
* `Event_Summary` - AI-generated summary of the incident
* `sourceName` / `Source` - News source that reported the event
* `sourceResourceLocations` - JSON array of source article URLs
* `casualties` - JSON string with killed/injured breakdown
* `bufferSize` - Buffer distance in meters for exposure geometry (e.g., 30000 for civil unrest)
* `rawMessage` - Full text of the source news article

### Features

Geopolitical hazards include features with `featureType` values of:

* **INCIDENT**: Point geometry at the incident location with casualty and event details
* **SMART\_ALERT**: Alert boundary polygon defining the hazard alert area

### Exposure Areas

Civil unrest hazards use 3 exposure levels based on distance buffers:

* **Level 1**: Moderate exposure (15-30km buffer)
* **Level 2**: Strong exposure (5-15km buffer)
* **Level 3**: Severe exposure (0-5km buffer)

The buffer size is determined by the `bufferSize` property in the incident (in meters). For civil unrest hazards, this is typically 30,000 meters (30km), reflecting the area that may be affected by protest activity and associated disruptions.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Civil Unrest (Protest) - Mirpur Hindu, Uttar Pradesh, India"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Civil Unrest incident was reported in Mirpur Hindu, Uttar Pradesh, India on February 15, 2026.  Preliminary reports indicate 60 total victims comprised of 0 fatalities and 60 wounded.\n\nEvent Summary*:\n\u2022 Civil Unrest (Protest) has been reported in Mirpur Hindu, Uttar Pradesh, India.\n\u2022 Reports indicate that at least 60 people..."
    }
  ],
  "severity": "ADVISORY",
  "category": "EVENT",
  "incident": {
    "uuid": "75460855-c994-429b-a00d-e981f5ed73fb",
    "type": "CIVILUNREST",
    "sourceId": 2000,
    "sourceRecordId": "252f8213-f530-4f4b-8481-43250d7b5706",
    "properties": {
      "Terrorist_Insurgent_Fatalities": 0,
      "Total_Wounded": 60,
      "Civilian_Fatalities": 0,
      "type": "ACTUAL",
      "Incident_Type": "Civil Unrest",
      "reportDate": "2026-02-16T03:23:00Z",
      "Incident_Type_Weight": 2,
      "action": "NEW_EVENT",
      "Terrorist_Insurgent_Wounded": 0,
      "Incident_Duration": 1,
      "Created_Time": "2026-02-16T04:52:04Z",
      "casualties": "{\"killed\":{\"total\":0},\"injured\":{\"total\":60}}",
      "scopeOfIncident": "Local",
      "name": "Civil Unrest (Protest) - Mirpur Hindu, Uttar Pradesh, India",
      "Police_Military_Wounded": 0,
      "status": "NEW",
      "eventDate": "2026-02-15T15:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Mirpur Hindu, Uttar Pradesh, India",
      "Incident_Score": 71.0,
      "sourceResourceLocations": "[...]",
      "Civilian_Wounded": 0,
      "Event_Summary": "\u2022 Civil Unrest (Protest) has been reported in Mirpur Hindu, Uttar Pradesh, India...",
      "Scope_Weight": 1,
      "rawMessage": "[news article text truncated for brevity]",
      "Source": "abplive.com",
      "Incident_Severity": "H",
      "featureType": "INCIDENT",
      "Casualty_Weight": 70.0,
      "event": "Civil Unrest",
      "Country_Name": "India",
      "Total_Weight": 142.0,
      "Province_District_Town": "Mirpur Hindu, Uttar Pradesh",
      "Total_Fatalities": 0,
      "Scope_of_Incident": "Local",
      "Police_Military_Fatalities": 0,
      "sourceName": "abplive.com",
      "bufferSize": 30000,
      "..."
    }
  },
  "uuid": "66e975a5-a4d4-4a31-8a43-f6205382c824",
  "comment": null,
  "createdAt": 1771217545,
  "relatedHazards": [],
  "longitude": 77.23477,
  "latitude": 28.8027,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "INCIDENT",
          "name": "Civil Unrest (Protest) - Mirpur Hindu, Uttar Pradesh, India",
          "casualties": {
            "killed": { "total": 0 },
            "injured": { "total": 60 }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Mirpur Hindu, Uttar Pradesh, India",
          "..."
        },
        "geometry": {
          "coordinates": [77.23477, 28.8027],
          "type": "Point"
        }
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon"
        }
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAreas": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "2",
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      },
      {
        "id": "3",
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 17800000.0,
      "total0_14": "...",
      "total15_64": "...",
      "total65_Plus": "...",
      "households": "...",
      "vulnerable": "..."
    },
    "capital": {
      "total": 254269382000.0,
      "school": "...",
      "hospital": "..."
    },
    "totalByCountry": [...],
    "totalByAdmin": [...],
    "exposureLevels": [
      {
        "level": "1",
        "data": {
          "population": {
            "total": 12900000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 216694607200.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 5922000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 8460000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 282000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 9729000.0
        },
        "exposureDescription": "Moderate (15-30km)"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 4670000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 37468463500.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 2142000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 3060000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 102000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 3519000.0
        },
        "exposureDescription": "Strong (5-15km)"
      },
      {
        "level": "3",
        "data": {
          "population": {
            "total": 219000.0,
            "total0_14": "...",
            "total15_64": "...",
            "total65_Plus": "...",
            "households": "...",
            "vulnerable": "..."
          },
          "capital": {
            "total": 106311300.0,
            "school": "...",
            "hospital": "..."
          },
          "totalByCountry": [...],
          "totalByAdmin": [...],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 100590000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 143700.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 4790.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 165255.0
        },
        "exposureDescription": "Severe (0-5km)"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1771217533669",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 8169000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 11670000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 389000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 13420500.0
  },
  "type": "CIVILUNREST",
  "creator": "RICHTER",
  "source": {
    "id": 2000,
    "name": "AI for Humanity",
    "longName": "AI for Humanity",
    "description": "TBD",
    "url": "https://www.pdc.org/artificial-intelligence/",
    "..."
  },
  "startedAt": 1771167600,
  "updatedAt": 1771217533,
  "endedAt": 1771340400
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Additionally, `incident.properties`, `source`, and feature details have been truncated with `"..."` to show only key fields.
{% endhint %}


# Tsunami Sample

This page provides a complete sample response for a tsunami hazard from the Active Hazards API endpoint. Tsunami hazards are sourced from the NOAA tsunami warning centers — the sample below is a National Tsunami Warning Center (NTWC) information statement following a magnitude 5.2 earthquake near Amchitka, Alaska, for which no tsunami danger was assessed. The `severity` of `INFORMATION` reflects that assessment; a threatened coastline would carry `WATCH` or `WARNING`.

## Tsunami-Specific Properties

### Incident Data

The `incident.properties` object for a tsunami hazard combines the triggering earthquake's parameters with the warning center's assessment:

* `magnitude` / `depthKM` / `epicenter_lat` / `epicenter_lon` - The triggering earthquake
* `locationDescription` - Epicenter description as issued (e.g., `"110 miles SE of Amchitka, Alaska"`)
* `severityHeadline` - The assessment in one line (e.g., `"There is NO tsunami danger from this earthquake."`)
* `severity` / `sourceSeverity` / `severityStatus` - DisasterAWARE severity, the severity as issued by the source, and whether the message is active
* `hazardDescription` - Full narrative of the message
* `messageNumber` / `wmoHeader` - Message sequence number and WMO product header (e.g., `"WEAK53"`)
* `tsunamiObservations` - `"TRUE"` when wave observations have been reported, otherwise `"FALSE"`
* `modelRunId` / `modelRunOk` - Identifier and status of the inundation model run backing the exposure geometry
* `eventDate` / `reportDate` / `createDate` - Origin time, message time, and record creation (ISO 8601)
* `rawMessage` / `rawMessageText` - The source bulletin
* `status` - Lifecycle state (`"NEW"`, `"UPDATE"`)

### Features

The `features` collection contains three features: an `INCIDENT` point at the epicenter carrying the earthquake and assessment properties, a `SMART_ALERT` polygon, and an `EXPOSURE_AREA` polygon. The `features` collection carries `metadata`, `incidentType`, and `sourceId` at collection level alongside `type` and `features`, and each feature's `geometry` object embeds a copy of the feature's `properties`. See [Feature collections](/hazards/requesting-active-hazards#feature-collection-structure).

### Exposure Areas

Tsunami hazards use a **single exposure level** (level 0, "Tsunami Exposure Area"), delivered as a `MultiPolygon` of the coastal segments within the warning center's area of responsibility. For a Pacific event the footprint can be very large and cross the antimeridian, which is why the geometry on this record spans the United States, Japan, Russia, and the U.S. Minor Outlying Islands in `totalByCountry` even though no tsunami was expected.

### Source

`source` is populated for tsunami hazards and identifies the warning center (NTWC).

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Tsunami (AK/BC/US West Coast) - 110 Miles Se Of Amchitka, Alaska - 5.2"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "An earthquake with a magnitude of 5.2 occurred at 0247 AKDT on September 11, 2026, located 110 miles southeast of Amchitka, Alaska, and 95 miles southwest of Adak, Alaska, at a depth of 12 miles.\n\nThe National Tsunami Warning Center has assessed the situation and confirmed that there is no tsunami danger from this earthquake. Further updates will be provided by the United States Geological Survey if necessary. This will be the only message issued from the National Tsunami Warning Center for this event unless new information arises.\n\n-------------------- Alert Message Received: --------------------\n\nWEAK53 PAAQ 111049\nTIBAK1\n\nTsunami Information Statement Number 1\nNWS National Tsunami Warning ... [truncated for brevity]"
    }
  ],
  "severity": "INFORMATION",
  "category": "EVENT",
  "incident": {
    "uuid": "86773bbd-635f-42e9-be7a-8ade05ced089",
    "type": "TSUNAMI",
    "sourceId": 24,
    "sourceRecordId": "f6392abd-8721-41bd-96f7-b420be81dd44",
    "properties": {
      "severityHeadline": "There is NO tsunami danger from this earthquake.",
      "epicenter_lon": -178.5,
      "messageNumber": "1",
      "roles": "PUBLIC",
      "locationDescription": "110 miles SE of Amchitka, Alaska",
      "type": "ACTUAL",
      "depthKM": 19.31,
      "severityStatus": "Active",
      "rawMessage": "s3://messagestorage.pdc.org/PROD/messages/tsunami/88e054fd025f690884f70c2a28558d30.xml",
      "sourceRecordId": "f6392abd-8721-41bd-96f7-b420be81dd44",
      "rawMessageText": "WEAK53 PAAQ 111049\nTIBAK1\n\nTsunami Information Statement Number 1\nNWS National Tsunami Warning Center Palmer AK\n249 AM AKDT Fri Sep 11 2026\n\n...THIS IS A TSUNAMI INFORMATION STATEMENT...\n\nEVALUATION\n----------\n * There is NO tsunami danger from this earthquake.\n\n\nPRELIMINARY EARTHQUAKE PARAMETERS\n---------------------------------\n\n * The following parameters are based on a rapid preliminary\n   assessment of the earthquake and changes may occur.\n\n * Magnitude      5.2\n * Origin Time    0247 AKDT Sep 11 2026\n                  0347  PDT Sep 11 2026\n                  1047  UTC Sep 11 2026\n * Coordinates    51.2 North 178.5 West\n * Depth          12 miles\n * Location       110 miles SE of Amchitk ... [truncated for brevity]",
      "reportDate": "2026-09-11T10:49:00+00:00",
      "featureType": "INCIDENT",
      "magnitude": 5.2,
      "id": "00d21b8c-bc16-4273-898c-5ff1825e50be",
      "wmoHeader": "WEAK53",
      "modelRunId": "57f7dff0-ba01-4b5d-83fb-78f04f3b8766",
      "modelRunOk": true,
      "createDate": "2026-09-11T10:51:14.733000+00:00",
      "severity": "INFORMATION",
      "epicenter_lat": 51.2,
      "sourceSeverity": "INFORMATION",
      "hazardDescription": "An earthquake with a magnitude of 5.2 occurred at 0247 AKDT on September 11, 2026, located 110 miles southeast of Amchitka, Alaska, and 95 miles southwest of Adak, Alaska, at a depth of 12 miles.\n\nThe National Tsunami Warning Center has assessed the situation and confirmed that there is no tsunami danger from this earthquake. Further updates will be provided by the United States Geological Survey if necessary. This will be the only message issued from the National Tsunami Warning Center for this event unless new information arises.",
      "name": "Tsunami (AK/BC/US West Coast) - 110 Miles Se Of Amchitka, Alaska - 5.2",
      "tsunamiObservations": "FALSE",
      "status": "NEW",
      "eventDate": "2026-09-11T10:47:00+00:00"
    }
  },
  "uuid": "f6182db4-dc9f-4b39-81ed-56a67d14f20f",
  "comment": "",
  "createdAt": 1789124147,
  "relatedHazards": [],
  "longitude": -178.5,
  "latitude": 51.2,
  "version": 2,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "INFORMATION",
          "severityHeadline": "There is NO tsunami danger from this earthquake.",
          "epicenter_lon": -178.5,
          "messageNumber": "1",
          "locationDescription": "110 miles SE of Amchitka, Alaska",
          "depthKM": 19.31,
          "severityStatus": "Active",
          "epicenter_lat": 51.2,
          "sourceSeverity": "INFORMATION",
          "reportDate": "2026-09-11T10:49:00+00:00",
          "hazardDescription": "An earthquake with a magnitude of 5.2 occurred at 0247 AKDT on September 11, 2026, located 110 miles southeast of Amchitka, Alaska, and 95 miles southwest of Adak, Alaska, at a depth of 12 miles.\n\nThe National Tsunami Warning Center has assessed the situation and confirmed that there is no tsunami danger from this earthquake. Further updates will be provided by the United States Geological Survey if necessary. This will be the only message issued from the National Tsunami Warning Center for this event unless new information arises.",
          "featureType": "INCIDENT",
          "name": "Tsunami (AK/BC/US West Coast) - 110 Miles Se Of Amchitka, Alaska - 5.2",
          "magnitude": 5.2,
          "tsunamiObservations": "FALSE",
          "wmoHeader": "WEAK53",
          "eventDate": "2026-09-11T10:47:00+00:00",
          "createDate": "2026-09-11T10:51:14.733000+00:00"
        },
        "geometry": {
          "coordinates": [
            -178.5,
            51.2
          ],
          "type": "Point",
          "properties": {
            "featureType": "INCIDENT",
            "name": "Tsunami (AK/BC/US West Coast) - 110 Miles Se Of Amchitka, Alaska - 5.2",
            "messageNumber": "1",
            "sourceSeverity": "INFORMATION",
            "severity": "INFORMATION",
            "severityStatus": "Active",
            "severityHeadline": "There is NO tsunami danger from this earthquake.",
            "locationDescription": "110 miles SE of Amchitka, Alaska",
            "tsunamiObservations": "FALSE",
            "eventDate": "2026-09-11T10:47:00+00:00",
            "reportDate": "2026-09-11T10:49:00+00:00",
            "createDate": "2026-09-11T10:51:14.733000+00:00",
            "wmoHeader": "WEAK53",
            "magnitude": 5.2,
            "depthKM": 19.31,
            "epicenter_lon": -178.5,
            "epicenter_lat": 51.2,
            "hazardDescription": "An earthquake with a magnitude of 5.2 occurred at 0247 AKDT on September 11, 2026, located 110 miles southeast of Amchitka, Alaska, and 95 miles southwest of Adak, Alaska, at a depth of 12 miles.\n\nThe National Tsunami Warning Center has assessed the situation and confirmed that there is no tsunami danger from this earthquake. Further updates will be provided by the United States Geological Survey if necessary. This will be the only message issued from the National Tsunami Warning Center for this event unless new information arises."
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "SMART_ALERT",
            "featureType": "SMART_ALERT"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "MODERATE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "MODERATE"
          }
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": "4",
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "intensity": "UNCATEGORIZED",
            "exposureDescription": "PDC Tsunami Hazard Zone",
            "featureType": "EXPOSURE_AREA",
            "exposureLevel": "1"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 9000.0,
      "total0_14": 1558,
      "total15_64": 5907,
      "households": 3670.0,
      "vulnerable": 1000.0,
      "total65_Plus": 1540
    },
    "capital": {
      "total": 339000000.0,
      "school": 4,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 0.0,
          "total0_14": null,
          "total15_64": null,
          "households": null,
          "vulnerable": null,
          "total65_Plus": null
        },
        "country": "UMI",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "United States Minor Outlying Islands",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      },
      {
        "population": {
          "total": 8570.0,
          "total0_14": 1501,
          "total15_64": 5646,
          "households": 3480.0,
          "vulnerable": 942,
          "total65_Plus": 1423
        },
        "country": "RUS",
        "capital": {
          "total": 173000000.0,
          "school": 1,
          "hospital": 0
        },
        "admin0": "Russia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 1970000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 2820.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 94.2,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 3240.0
      },
      {
        "population": {
          "total": 93.0,
          "total0_14": 16,
          "total15_64": 60,
          "households": 37.3,
          "vulnerable": 11.1,
          "total65_Plus": 16
        },
        "country": "USA",
        "capital": {
          "total": 166000000.0,
          "school": 3,
          "hospital": 0
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 22.2,
        "waterNeedsUnit": "gal",
        "waterNeeds": 8.79,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 1.11,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 127
      },
      {
        "population": {
          "total": 342,
          "total0_14": 40,
          "total15_64": 201,
          "households": 154,
          "vulnerable": 54.7,
          "total65_Plus": 101
        },
        "country": "JPN",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Japan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 114000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 164,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 5.47,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 188
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 342,
          "total0_14": 40,
          "total15_64": 201,
          "households": 154,
          "vulnerable": 54.7,
          "total65_Plus": 101
        },
        "country": "JPN",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Japan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 114000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 164,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 5.47,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 188
      },
      {
        "population": {
          "total": 0.0,
          "total0_14": null,
          "total15_64": null,
          "households": null,
          "vulnerable": null,
          "total65_Plus": null
        },
        "country": "UMI",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "United States Minor Outlying Islands",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      },
      {
        "population": {
          "total": 93.0,
          "total0_14": 16,
          "total15_64": 60,
          "households": 37.3,
          "vulnerable": 11.1,
          "total65_Plus": 16
        },
        "country": "USA",
        "capital": {
          "total": 166000000.0,
          "school": 3,
          "hospital": 0
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 22.2,
        "waterNeedsUnit": "gal",
        "waterNeeds": 8.79,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 1.11,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 127
      },
      {
        "population": {
          "total": 8570.0,
          "total0_14": 1501,
          "total15_64": 5646,
          "households": 3480.0,
          "vulnerable": 942,
          "total65_Plus": 1423
        },
        "country": "RUS",
        "capital": {
          "total": 173000000.0,
          "school": 1,
          "hospital": 0
        },
        "admin0": "Russia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 1970000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 2820.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 94.2,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 3240.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 9000.0,
            "total0_14": 1558,
            "total15_64": 5907,
            "households": 3670.0,
            "vulnerable": 1000.0,
            "total65_Plus": 1540
          },
          "capital": {
            "total": 339000000.0,
            "school": 4,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 0.0,
                "total0_14": null,
                "total15_64": null,
                "households": null,
                "vulnerable": null,
                "total65_Plus": null
              },
              "country": "UMI",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "United States Minor Outlying Islands",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            },
            {
              "population": {
                "total": 8570.0,
                "total0_14": 1501,
                "total15_64": 5646,
                "households": 3480.0,
                "vulnerable": 942,
                "total65_Plus": 1423
              },
              "country": "RUS",
              "capital": {
                "total": 173000000.0,
                "school": 1,
                "hospital": 0
              },
              "admin0": "Russia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1970000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2820.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 94.2,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 3240.0
            },
            {
              "population": {
                "total": 93.0,
                "total0_14": 16,
                "total15_64": 60,
                "households": 37.3,
                "vulnerable": 11.1,
                "total65_Plus": 16
              },
              "country": "USA",
              "capital": {
                "total": 166000000.0,
                "school": 3,
                "hospital": 0
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 22.2,
              "waterNeedsUnit": "gal",
              "waterNeeds": 8.79,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 1.11,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 127
            },
            {
              "population": {
                "total": 342,
                "total0_14": 40,
                "total15_64": 201,
                "households": 154,
                "vulnerable": 54.7,
                "total65_Plus": 101
              },
              "country": "JPN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Japan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 114000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 164,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 5.47,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 188
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 342,
                "total0_14": 40,
                "total15_64": 201,
                "households": 154,
                "vulnerable": 54.7,
                "total65_Plus": 101
              },
              "country": "JPN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Japan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 114000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 164,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 5.47,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 188
            },
            {
              "population": {
                "total": 8570.0,
                "total0_14": 1501,
                "total15_64": 5646,
                "households": 3480.0,
                "vulnerable": 942,
                "total65_Plus": 1423
              },
              "country": "RUS",
              "capital": {
                "total": 173000000.0,
                "school": 1,
                "hospital": 0
              },
              "admin0": "Russia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1970000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2820.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 94.2,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 3240.0
            },
            {
              "population": {
                "total": 0.0,
                "total0_14": null,
                "total15_64": null,
                "households": null,
                "vulnerable": null,
                "total65_Plus": null
              },
              "country": "UMI",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "United States Minor Outlying Islands",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            },
            {
              "population": {
                "total": 93.0,
                "total0_14": 16,
                "total15_64": 60,
                "households": 37.3,
                "vulnerable": 11.1,
                "total65_Plus": 16
              },
              "country": "USA",
              "capital": {
                "total": 166000000.0,
                "school": 3,
                "hospital": 0
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 22.2,
              "waterNeedsUnit": "gal",
              "waterNeeds": 8.79,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 1.11,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 127
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 2100000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 3000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 100,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 3450.0
        },
        "exposureDescription": "Tsunami Exposure Area"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1789123972260",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 2100000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 3000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 100,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 3450.0
  },
  "type": "TSUNAMI",
  "creator": "RICHTER",
  "source": {
    "id": 24,
    "name": "NTWC",
    "longName": "NOAA National Tsunami Warning Center",
    "description": "TBD",
    "url": "https://www.tsunami.gov/",
    "urlText": "NWS",
    "logo": "https://icons.pdc.org/incident-provenance/sources/placeholder.png",
    "partners": [],
    "providers": [
      {
        "id": 0,
        "name": "PDC",
        "longName": "PDC Global",
        "description": "Pacific Disaster Center (PDC Global) is an applied research center managed by the University of Hawaii that supports the most demanding governmental and nongovernmental organizations (NGOs) worldwide in helping to create a safer, more disaster resilient world.",
        "url": "https://www.pdc.org",
        "urlText": "PDC Global",
        "logo": "https://icons.pdc.org/incident-provenance/providers-partners/0.png"
      }
    ]
  },
  "startedAt": 1789123620,
  "updatedAt": 1789123972,
  "endedAt": 1789210020
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Long text fields have been truncated. All other values are verbatim from the production API as of 2026-09-11.
{% endhint %}


# Drought Sample

This page provides a complete sample response for a drought hazard from the Active Hazards API endpoint. Drought hazards in the United States are sourced from the **U.S. Drought Monitor** (NDMC, USDA, NOAA, and NASA), which publishes a weekly national assessment. Each DisasterAWARE drought hazard corresponds to one Drought Monitor **region** — the sample below is the South region — and its exposure areas are the Drought Monitor's intensity classes.

## Drought-Specific Properties

### Incident Data

The `incident.properties` object for a Drought Monitor hazard carries the weekly narrative and its publication timing rather than a CAP alert:

* `senderName` - The issuing consortium (U.S. Drought Monitor and its four partner agencies)
* `sourceRecordId` - The Drought Monitor region key (e.g., `"south"`)
* `headlineDescription` / `description` - The region's weekly narrative summary
* `sent` / `effective` / `expires` - Publication date, the date the assessment took effect, and the date the next weekly update is expected
* `reportDate` / `eventDate` - The assessment date
* `incidentLocationName` - Region name (e.g., `"South, United States"`)
* `hazardName` / `hazardSeverity` - The hazard title and its DisasterAWARE severity
* `sourceMessageHash` - Content hash of the source message, used to detect unchanged weekly re-publications
* `scope` - `"ACTUAL"`
* `ingestedAt` / `processedAt` - Pipeline timestamps

### Features

The `features` collection contains a single `MultiPolygon` feature covering the region, with `exposureLevel`, `exposureDescription`, and `intensity` properties. Unlike most other types it has no `featureType` and no `SMART_ALERT` feature. The `features` collection carries `metadata`, `incidentType`, and `sourceId` at collection level alongside `type` and `features`, and each feature's `geometry` object embeds a copy of the feature's `properties`. See [Feature collections](/hazards/requesting-active-hazards#feature-collection-structure).

### Exposure Areas

Drought hazards use **four exposure levels**, one per Drought Monitor intensity class, each a `MultiPolygon`:

* **Level 0**: Limited to No Damage Expected
* **Level 1**: Moderate Damage Expected
* **Level 2**: Strong Damage Expected
* **Level 3**: Severe Damage Expected

Because a region can span several states and the areas are large, `exposureAssessment` for a drought hazard reports populations in the tens of millions, broken down by country (the South region reaches into Mexico) and by state in `totalByAdmin`.

### Source

`source` is `null` on this record; the provider is identified in `incident.properties.senderName` and in `features.sourceId`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Drought - South, United States"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "U.S. Drought Monitor (the National Drought Mitigation Center (NDMC), the U.S. Department of Agriculture (USDA), the National Oceanic and Atmospheric Administration (NOAA), and the National Aeronautics and Space Administration (NASA)) has reported a Drought warning for September 08, 2026 00:00:00 UTC through September 17, 2026 12:35:57 UTC.\n\nIt is estimated that 46.6 Million people, 18.7 Million households, and $5.13 Trillion (USD) of infrastructure* are within the affected area(s). Exposure estimates will be refined as additional data from official sources becomes available.\n\nSouth: Large parts of the South region continued to quickly dry this week amid mostly above-normal temperatures and d ... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "0f671aa8-95db-48f9-a42a-ee63b60ae295",
    "type": "DROUGHT",
    "sourceId": 1786,
    "sourceRecordId": "south",
    "properties": {
      "headlineDescription": "South: Large parts of the South region continued to quickly dry this week amid mostly above-normal temperatures and dry weather. A few exceptions include southern Louisiana, southeast Texas (where former Tropical Storm Edouard dropped rain amounts that locally exceeded 10 inches), and parts of the western Oklahoma Panhandle, where scattered thunderstorm rains occurred. Isolated one-category improvements occurred in the Oklahoma Panhandle, while one- and two-category improvements occurred in southeast Texas, where precipitation deficits were either reduced or erased entirely, along with improved soil moisture and streamflow. Elsewhere, mostly dry weather and hot temperatures (5-15 degrees abo ... [truncated for brevity]",
      "incidentLocationName": "South, United States",
      "expires": "2026-09-17T12:35:57Z",
      "hazardName": "Drought - South, United States",
      "description": "South: Large parts of the South region continued to quickly dry this week amid mostly above-normal temperatures and dry weather. A few exceptions include southern Louisiana, southeast Texas (where former Tropical Storm Edouard dropped rain amounts that locally exceeded 10 inches), and parts of the western Oklahoma Panhandle, where scattered thunderstorm rains occurred. Isolated one-category improvements occurred in the Oklahoma Panhandle, while one- and two-category improvements occurred in southeast Texas, where precipitation deficits were either reduced or erased entirely, along with improved soil moisture and streamflow. Elsewhere, mostly dry weather and hot temperatures (5-15 degrees abo ... [truncated for brevity]",
      "type": "INCIDENT",
      "sent": "2026-09-08T00:00:00Z",
      "sourceMessageHash": "7cc3180b2ae1b732513943a3fa5aeac06188a899b33dc2685ac3b60353e75191",
      "sourceRecordId": "south",
      "sourceUrl": "",
      "effective": "2026-08-04T00:00:00Z",
      "ingestedAt": 1789043757303,
      "senderName": "U.S. Drought Monitor (the National Drought Mitigation Center (NDMC), the U.S. Department of Agriculture (USDA), the National Oceanic and Atmospheric Administration (NOAA), and the National Aeronautics and Space Administration (NASA))",
      "reportDate": "2026-09-08T00:00:00Z",
      "scope": "ACTUAL",
      "kafkaMessageKey": null,
      "processedAt": null,
      "hazardSeverity": "WARNING",
      "name": "South - Drought",
      "featureType": "INCIDENT",
      "sourceName": "U.S. Drought Monitor",
      "event": "Drought",
      "useReportedLanguage": true,
      "eventDate": "2026-09-08T00:00:00Z"
    }
  },
  "uuid": "126e5a4d-2451-4ada-bc97-7ed80c8fa974",
  "comment": "",
  "createdAt": 1789043904,
  "relatedHazards": [],
  "longitude": -95.92171,
  "latitude": 32.84915,
  "version": 11,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": "1",
        "type": "Feature",
        "properties": {
          "intensity": "MODERATE",
          "exposureDescription": "20km Buffer",
          "exposureLevel": 1
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": {
      "id": "DROUGHT",
      "name": "Drought",
      "nameField": {
        "type": "text",
        "key": "hazardName",
        "label": "title"
      },
      "eventTimeField": {
        "type": "text",
        "key": "eventDate",
        "label": "effective at"
      },
      "updatedAtField": {
        "type": "text",
        "key": "reportDate",
        "label": "updated at"
      },
      "associatedPhenomena": []
    },
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": {
      "id": 1786,
      "name": "U.S. Drought Monitor",
      "longName": "U.S. Drought Monitor",
      "description": "TBD",
      "url": "https://droughtmonitor.unl.edu/",
      "urlText": "U.S. Drought Monitor",
      "logo": "https://icons.pdc.org/incident-provenance/sources/placeholder.png",
      "partners": [],
      "providers": [
        {
          "id": 0,
          "name": "PDC",
          "longName": "PDC Global",
          "description": "Pacific Disaster Center (PDC Global) is an applied research center managed by the University of Hawaii that supports the most demanding governmental and nongovernmental organizations (NGOs) worldwide in helping to create a safer, more disaster resilient world.",
          "url": "https://www.pdc.org",
          "urlText": "PDC Global",
          "logo": "https://icons.pdc.org/incident-provenance/providers-partners/0.png"
        }
      ]
    }
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "LIMITED",
            "droughtIntensity": "D0"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "MODERATE",
            "droughtIntensity": "D1"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 2
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "STRONG",
            "droughtIntensity": "D2"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 3
        },
        "geometry": {
          "coordinates": [...],
          "type": "MultiPolygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "SEVERE",
            "droughtIntensity": "D3/D4"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 46600000.0,
      "total0_14": 8213861,
      "total15_64": 30304373,
      "households": 18700000.0,
      "vulnerable": 5600000.0,
      "total65_Plus": 8126306
    },
    "capital": {
      "total": 5130000000000.0,
      "school": 19942,
      "hospital": 1388
    },
    "totalByCountry": [
      {
        "population": {
          "total": 49200.0,
          "total0_14": 12261,
          "total15_64": 33013,
          "households": 13100.0,
          "vulnerable": 17800.0,
          "total65_Plus": 3926
        },
        "country": "MEX",
        "capital": {
          "total": 87200000.0,
          "school": 1,
          "hospital": 1
        },
        "admin0": "Mexico",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 37300000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 53400.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1780.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 61400.0
      },
      {
        "population": {
          "total": 46600000.0,
          "total0_14": 8201600,
          "total15_64": 30271360,
          "households": 18700000.0,
          "vulnerable": 5590000.0,
          "total65_Plus": 8122380
        },
        "country": "USA",
        "capital": {
          "total": 5130000000000.0,
          "school": 19941,
          "hospital": 1387
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 11100000.0,
        "waterNeedsUnit": "gal",
        "waterNeeds": 4430000.0,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 559000.0,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 64100000.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 49200.0,
          "total0_14": 12261,
          "total15_64": 33013,
          "households": 13100.0,
          "vulnerable": 17800.0,
          "total65_Plus": 3926
        },
        "country": "MEX",
        "capital": {
          "total": 87200000.0,
          "school": 1,
          "hospital": 1
        },
        "admin0": "Mexico",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 37300000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 53400.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1780.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 61400.0
      },
      {
        "population": {
          "total": 46600000.0,
          "total0_14": 8201600,
          "total15_64": 30271360,
          "households": 18700000.0,
          "vulnerable": 5590000.0,
          "total65_Plus": 8122380
        },
        "country": "USA",
        "capital": {
          "total": 5130000000000.0,
          "school": 19941,
          "hospital": 1387
        },
        "admin0": "United States",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "MRE",
        "foodNeeds": 11100000.0,
        "waterNeedsUnit": "gal",
        "waterNeeds": 4430000.0,
        "wasteNeedsUnit": "25 gal",
        "wasteNeeds": 559000.0,
        "shelterNeedsUnit": "sq feet",
        "shelterNeeds": 64100000.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 15200000.0,
            "total0_14": 2677288,
            "total15_64": 9879543,
            "households": 6100000.0,
            "vulnerable": 1820000.0,
            "total65_Plus": 2650029
          },
          "capital": {
            "total": 1690000000000.0,
            "school": 5706,
            "hospital": 366
          },
          "totalByCountry": [
            {
              "population": {
                "total": 8380.0,
                "total0_14": 2088,
                "total15_64": 5623,
                "households": 2240.0,
                "vulnerable": 3040.0,
                "total65_Plus": 669
              },
              "country": "MEX",
              "capital": {
                "total": 51200000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 6380000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 9120.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 304,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 10400.0
            },
            {
              "population": {
                "total": 15200000.0,
                "total0_14": 2675200,
                "total15_64": 9873920,
                "households": 6100000.0,
                "vulnerable": 1820000.0,
                "total65_Plus": 2649360
              },
              "country": "USA",
              "capital": {
                "total": 1690000000000.0,
                "school": 5706,
                "hospital": 366
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3640000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1440000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 182000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 20800000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 8380.0,
                "total0_14": 2088,
                "total15_64": 5623,
                "households": 2240.0,
                "vulnerable": 3040.0,
                "total65_Plus": 669
              },
              "country": "MEX",
              "capital": {
                "total": 51200000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 6380000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 9120.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 304,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 10400.0
            },
            {
              "population": {
                "total": 15200000.0,
                "total0_14": 2675200,
                "total15_64": 9873920,
                "households": 6100000.0,
                "vulnerable": 1820000.0,
                "total65_Plus": 2649360
              },
              "country": "USA",
              "capital": {
                "total": 1690000000000.0,
                "school": 5706,
                "hospital": 366
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3640000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1440000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 182000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 20800000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 3820000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 5460000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 182000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 6270000.0
        },
        "exposureDescription": "Limited to No Damage Expected"
      },
      {
        "level": "1",
        "data": {
          "population": {
            "total": 13000000.0,
            "total0_14": 2292137,
            "total15_64": 8455939,
            "households": 5220000.0,
            "vulnerable": 1560000.0,
            "total65_Plus": 2267225
          },
          "capital": {
            "total": 1420000000000.0,
            "school": 5967,
            "hospital": 470
          },
          "totalByCountry": [
            {
              "population": {
                "total": 16600.0,
                "total0_14": 4137,
                "total15_64": 11139,
                "households": 4430.0,
                "vulnerable": 6020.0,
                "total65_Plus": 1325
              },
              "country": "MEX",
              "capital": {
                "total": 17000000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 12600000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 18000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 602,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 20700.0
            },
            {
              "population": {
                "total": 13000000.0,
                "total0_14": 2288000,
                "total15_64": 8444800,
                "households": 5220000.0,
                "vulnerable": 1560000.0,
                "total65_Plus": 2265900
              },
              "country": "USA",
              "capital": {
                "total": 1420000000000.0,
                "school": 5967,
                "hospital": 470
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3120000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1230000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 156000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 17900000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 16600.0,
                "total0_14": 4137,
                "total15_64": 11139,
                "households": 4430.0,
                "vulnerable": 6020.0,
                "total65_Plus": 1325
              },
              "country": "MEX",
              "capital": {
                "total": 17000000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 12600000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 18000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 602,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 20700.0
            },
            {
              "population": {
                "total": 13000000.0,
                "total0_14": 2288000,
                "total15_64": 8444800,
                "households": 5220000.0,
                "vulnerable": 1560000.0,
                "total65_Plus": 2265900
              },
              "country": "USA",
              "capital": {
                "total": 1420000000000.0,
                "school": 5967,
                "hospital": 470
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3120000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1230000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 156000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 17900000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 3270000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 4680000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 156000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 5380000.0
        },
        "exposureDescription": "Moderate Damage Expected"
      },
      {
        "level": "2",
        "data": {
          "population": {
            "total": 12500000.0,
            "total0_14": 2205657,
            "total15_64": 8135232,
            "households": 5020000.0,
            "vulnerable": 1500000.0,
            "total65_Plus": 2180561
          },
          "capital": {
            "total": 1380000000000.0,
            "school": 5417,
            "hospital": 347
          },
          "totalByCountry": [
            {
              "population": {
                "total": 22700.0,
                "total0_14": 5657,
                "total15_64": 15232,
                "households": 6060.0,
                "vulnerable": 8240.0,
                "total65_Plus": 1811
              },
              "country": "MEX",
              "capital": {
                "total": 3550000.0,
                "school": 0,
                "hospital": 1
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 17300000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 24700.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 824,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 28400.0
            },
            {
              "population": {
                "total": 12500000.0,
                "total0_14": 2200000,
                "total15_64": 8120000,
                "households": 5020000.0,
                "vulnerable": 1500000.0,
                "total65_Plus": 2178750
              },
              "country": "USA",
              "capital": {
                "total": 1380000000000.0,
                "school": 5417,
                "hospital": 346
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3000000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1180000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 150000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 17200000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 22700.0,
                "total0_14": 5657,
                "total15_64": 15232,
                "households": 6060.0,
                "vulnerable": 8240.0,
                "total65_Plus": 1811
              },
              "country": "MEX",
              "capital": {
                "total": 3550000.0,
                "school": 0,
                "hospital": 1
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 17300000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 24700.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 824,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 28400.0
            },
            {
              "population": {
                "total": 12500000.0,
                "total0_14": 2200000,
                "total15_64": 8120000,
                "households": 5020000.0,
                "vulnerable": 1500000.0,
                "total65_Plus": 2178750
              },
              "country": "USA",
              "capital": {
                "total": 1380000000000.0,
                "school": 5417,
                "hospital": 346
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 3000000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 1180000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 150000.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 17200000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 3150000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 4500000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 150000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 5170000.0
        },
        "exposureDescription": "Strong Damage Expected"
      },
      {
        "level": "3",
        "data": {
          "population": {
            "total": 5820000.0,
            "total0_14": 1024689,
            "total15_64": 3781665,
            "households": 2330000.0,
            "vulnerable": 698000.0,
            "total65_Plus": 1014544
          },
          "capital": {
            "total": 634000000000.0,
            "school": 2852,
            "hospital": 205
          },
          "totalByCountry": [
            {
              "population": {
                "total": 1480.0,
                "total0_14": 369,
                "total15_64": 993,
                "households": 395,
                "vulnerable": 537,
                "total65_Plus": 118
              },
              "country": "MEX",
              "capital": {
                "total": 15300000.0,
                "school": 1,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1120000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 1610.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 53.7,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 1850.0
            },
            {
              "population": {
                "total": 5820000.0,
                "total0_14": 1024320,
                "total15_64": 3780672,
                "households": 2330000.0,
                "vulnerable": 698000.0,
                "total65_Plus": 1014426
              },
              "country": "USA",
              "capital": {
                "total": 634000000000.0,
                "school": 2851,
                "hospital": 205
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 1390000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 553000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 69800.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 8010000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 1480.0,
                "total0_14": 369,
                "total15_64": 993,
                "households": 395,
                "vulnerable": 537,
                "total65_Plus": 118
              },
              "country": "MEX",
              "capital": {
                "total": 15300000.0,
                "school": 1,
                "hospital": 0
              },
              "admin0": "Mexico",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1120000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 1610.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 53.7,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 1850.0
            },
            {
              "population": {
                "total": 5820000.0,
                "total0_14": 1024320,
                "total15_64": 3780672,
                "households": 2330000.0,
                "vulnerable": 698000.0,
                "total65_Plus": 1014426
              },
              "country": "USA",
              "capital": {
                "total": 634000000000.0,
                "school": 2851,
                "hospital": 205
              },
              "admin0": "United States",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "MRE",
              "foodNeeds": 1390000.0,
              "waterNeedsUnit": "gal",
              "waterNeeds": 553000.0,
              "wasteNeedsUnit": "25 gal",
              "wasteNeeds": 69800.0,
              "shelterNeedsUnit": "sq feet",
              "shelterNeeds": 8010000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 1460000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 2090000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 69800.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 2400000.0
        },
        "exposureDescription": "Severe Damage Expected"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1789043839913",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 11700000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 16800000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 560000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 19300000.0
  },
  "type": "DROUGHT",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1785801600,
  "updatedAt": 1789043839,
  "endedAt": 1789648557
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Long text fields have been truncated. All other values are verbatim from the production API as of 2026-09-11.
{% endhint %}


# Marine Sample

This page provides a complete sample response for a marine hazard from the Active Hazards API endpoint. Marine hazards are coastal and offshore weather warnings — special marine warnings, gale and storm warnings for marine zones — issued by national meteorological services under the Common Alerting Protocol (CAP). The sample below is an Environment Canada special marine warning for waters north of Tuktoyaktuk.

## Marine-Specific Properties

### Incident Data

The `incident.properties` object for a marine hazard contains standard CAP alert metadata. Key incident properties include:

* `senderName` / `sender` - Issuing agency (e.g., `"Environment Canada"`) and CAP sender address
* `event` - Event type name (e.g., `"Special Marine"`)
* `headline` / `headlineDescription` - Alert headline and combined headline-plus-description text
* `description` - Detailed alert text
* `severity` / `urgency` / `certainty` - CAP classification values. Multi-valued alerts join them with commas (e.g., `"Immediate, Past"`)
* `effective` / `onset` / `expires` - ISO 8601 alert window
* `sent` - Send time in epoch milliseconds
* `msgType` / `status` / `scope` / `category` - CAP message metadata
* `identifier` / `references` - CAP identifier and a JSON string listing the prior messages this alert updates
* `eventCode` / `code` - CAP event codes as a JSON string, and the CAP profile code
* `note` - Free-text service notices from the issuer, when present
* `hazardName` / `hazardSeverity` / `incidentLocationName` - DisasterAWARE title, severity, and location
* `language` / `audience` / `contact` / `web` / `resource` / `parameter` / `area` - Remaining CAP fields, frequently null or `"null"`

### Features

The `features` collection contains `EXPOSURE_AREA` polygons (one per severity zone, e.g. LIMITED and MODERATE) and a `SMART_ALERT` polygon. The `features` collection carries `metadata`, `incidentType`, and `sourceId` at collection level alongside `type` and `features`, and each feature's `geometry` object embeds a copy of the feature's `properties`. See [Feature collections](/hazards/requesting-active-hazards#feature-collection-structure).

### Exposure Areas

Marine hazards use up to two exposure levels representing the source-provided marine zones:

* **Level 0**: LIMITED - outer zone
* **Level 1**: MODERATE - core zone

Because marine zones are offshore, `exposureAssessment` population totals are frequently zero, as in this sample; the block is still present.

### Source

`source` is `null` on this record; the issuer is identified in `incident.properties.senderName`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Special Marine - N of Tuktoyaktuk, Northwest Territories, Canada"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Environment Canada has issued a Special Marine warning for September 11, 2026 20:39:46 UTC through September 12, 2026 12:39:46 UTC.\n\nModels do not show a significant concentration of population within the affected area.\n\nspecial marine warning in effect\nPeriods of freezing rain will continue today. The freezing rain will persist this evening and end Saturday afternoon. Please continue to monitor alerts and forecasts issued by Environment Canada. For more information monitor Canadian Coast Guard radio or Weatheradio stations.\n\nspecial marine warning ended\n\n"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "f8b23f14-8171-4d23-a46d-da43c57dfb3a",
    "type": "MARINE",
    "sourceId": 1800,
    "sourceRecordId": "urn:oid:2.49.0.1.124.1934080096.2026",
    "properties": {
      "note": "Service Notice – July 2026: The Environment and Climate Change Canada (ECCC) CAP Service undergoes changes from time to time as the business of alerting evolves. For Spring 2026, changes are expected to include... 1) ECCC's deployment to introduce free-form polygons to represent the true threat area of a weather hazard, which was originally scheduled for June 2026, is delayed. We will communicate the new date when it is available. Monitor https://dd.weather.gc.ca/doc/genots/ for notifications on the new launch date. Information about free-form polygons representing the true threat area of a weather hazard remains under media embargo until launch, 2) marine alerts will now be issued for small ... [truncated for brevity]",
      "expires": "2026-09-12T12:39:46Z",
      "msgType": "Update",
      "code": "layer:SOREM:2.0",
      "hazardName": "Special Marine - N of Tuktoyaktuk, Northwest Territories, Canada",
      "references": "[{\"sender\":\"cap-pac@canada.ca\",\"identifier\":\"urn:oid:2.49.0.1.124.1934080096.2026\",\"sent\":1789087636000},{\"sender\":\"cap-pac@canada.ca\",\"identifier\":\"urn:oid:2.49.0.1.124.1331673164.2026\",\"sent\":1789116797000},{\"sender\":\"cap-pac@canada.ca\",\"identifier\":\"urn:oid:2.49.0.1.124.1680232312.2026\",\"sent\":1789144444000}]",
      "description": "Periods of freezing rain will continue today. The freezing rain will persist this evening and end Saturday afternoon. Please continue to monitor alerts and forecasts issued by Environment Canada. For more information monitor Canadian Coast Guard radio or Weatheradio stations.\n\n",
      "language": null,
      "source": "Env. Can. - Can. Met. Ctr. – Montréal",
      "type": "ACTUAL",
      "rawMessage": "S3://messagestorage.pdc.org/PROD/messages/canada_met/1ccb832d4e3a0afde3f2cd8db5a0cb46.xml",
      "sourceRecordId": "urn:oid:2.49.0.1.124.1122666884.2026",
      "effective": "2026-09-11T20:39:46Z",
      "senderName": "Environment Canada",
      "urgency": "Immediate, Past",
      "web": "general public",
      "scope": "Public",
      "contact": "",
      "parameter": "null",
      "hazardSeverity": "WARNING",
      "event": "Special Marine",
      "headline": "special marine warning in effect\nspecial marine warning ended",
      "responseTypes": null,
      "severity": "Moderate",
      "headlineDescription": "special marine warning in effect\nPeriods of freezing rain will continue today. The freezing rain will persist this evening and end Saturday afternoon. Please continue to monitor alerts and forecasts issued by Environment Canada. For more information monitor Canadian Coast Guard radio or Weatheradio stations.\n\nspecial marine warning ended",
      "area": "null",
      "identifier": null,
      "incidentLocationName": "N of Tuktoyaktuk, Northwest Territories, Canada",
      "audience": "general public",
      "resource": "null",
      "certainty": "Likely, Observed",
      "onset": "2026-09-11T20:38:00Z",
      "sent": 1789159186000,
      "eventCode": "[{\"valueName\":\"profile:CAP-CP:Event:0.4\",\"value\":\"spclMarine\"},{\"valueName\":\"SAME\",\"value\":\"SMW\"},{\"valueName\":\"profile:CAP-CP:Event:0.4\",\"value\":\"spclMarine\"},{\"valueName\":\"SAME\",\"value\":\"SMW\"}]",
      "sender": "cap-pac@canada.ca",
      "instruction": "",
      "processedAt": 1789159542027,
      "category": "Met",
      "status": null
    }
  },
  "uuid": "4a9408ab-9525-46ed-8f17-a45792bfebc2",
  "comment": "",
  "createdAt": 1789159551,
  "relatedHazards": [],
  "longitude": -135.49793,
  "latitude": 72.97618,
  "version": 5,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "LIMITED"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "MODERATE",
          "featureType": "EXPOSURE_AREA",
          "type": "EXPOSURE_AREA"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "MODERATE"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "featureType": "SMART_ALERT",
          "type": "SMART_ALERT"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "SMART_ALERT",
            "featureType": "SMART_ALERT"
          }
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "LIMITED"
          }
        },
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 1
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "type": "EXPOSURE_AREA",
            "featureType": "EXPOSURE_AREA",
            "severity": "MODERATE"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 0.0,
      "total0_14": 0,
      "total15_64": 0,
      "households": 0.0,
      "vulnerable": 0.0,
      "total65_Plus": 0
    },
    "capital": {
      "total": 0.0,
      "school": 0,
      "hospital": 0
    },
    "totalByCountry": [
      {
        "population": {
          "total": 0.0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0.0,
          "vulnerable": 0.0,
          "total65_Plus": 0
        },
        "country": "CAN",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 0.0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0.0,
          "vulnerable": 0.0,
          "total65_Plus": 0
        },
        "country": "CAN",
        "capital": {
          "total": 0.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Canada",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 0.0,
            "total0_14": 0,
            "total15_64": 0,
            "households": 0.0,
            "vulnerable": 0.0,
            "total65_Plus": 0
          },
          "capital": {
            "total": 0.0,
            "school": 0,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 0.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 0.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 0.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 0.0
        },
        "exposureDescription": "LIMITED"
      },
      {
        "level": "1",
        "data": {
          "population": {
            "total": 0.0,
            "total0_14": 0,
            "total15_64": 0,
            "households": 0.0,
            "vulnerable": 0.0,
            "total65_Plus": 0
          },
          "capital": {
            "total": 0.0,
            "school": 0,
            "hospital": 0
          },
          "totalByCountry": [
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "CAN",
              "capital": {
                "total": 0.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Canada",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 0.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 0.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 0.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 0.0
        },
        "exposureDescription": "MODERATE"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1789159547087",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 0.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 0.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 0.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 0.0
  },
  "type": "MARINE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1789087636,
  "updatedAt": 1789159547,
  "endedAt": 1789216786
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Long text fields have been truncated. All other values are verbatim from the production API as of 2026-09-11.
{% endhint %}


# Biomedical Sample

This page provides a complete sample response for a biomedical hazard from the Active Hazards API endpoint. BIOMEDICAL covers disease outbreaks and public-health emergencies — the sample below is an Ebola outbreak spanning the Democratic Republic of the Congo and Uganda. These hazards are curated by PDC analysts and entered manually, so the record uses the generic PDC incident envelope.

## Biomedical-Specific Properties

### Incident Data

This hazard uses the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) in `incident.properties` — the common shape shared by all PDC-curated and manually entered hazards, regardless of type.

Key properties on a manually curated hazard:

* `Incident_Type` - The hazard type (`"BIOMEDICAL"`)
* `name` / `hazardName` - Hazard title
* `description` / `hazardDescription` - Analyst-written narrative, including case and fatality counts as reported
* `eventDate` / `reportDate` / `createDate` / `endDate` / `expires` - Event and lifecycle timing (ISO 8601)
* `casualties` - JSON string with killed/injured totals, or `"null"` when not reported as casualties
* `hazard` - JSON string carrying the hazard's `uuid` and `severity`
* `hazardUUID` / `masterIncidentId` - Identifiers linking the incident to its hazard
* `sourceName` - `"PDC Manual Hazard"` for analyst-entered records
* `sourceResourceLocations` - JSON array of source references
* `incidentLatitude` / `incidentLongitude` / `locationDescription` - Location
* `glideUri` / `charterUri` / `sncUrl` - External references, when assigned
* `overrideDescription` / `overrideStartedAt` - Analyst overrides of derived values
* `roles` - Visibility (`"PUBLIC"`)

### Features

The `features` collection has two features: an `INCIDENT` point at the reported location, whose properties mirror the incident envelope, and a `SMART_ALERT` polygon defining the notification boundary. The `features` collection carries `metadata`, `incidentType`, and `sourceId` at collection level alongside `type` and `features`, and each feature's `geometry` object embeds a copy of the feature's `properties`. See [Feature collections](/hazards/requesting-active-hazards#feature-collection-structure).

### Exposure Areas

Manually curated hazards use a **single exposure level** (level 0, "Limited to No Damage Expected") drawn as a polygon around the affected region. For a multi-country outbreak the `exposureAssessment` block breaks the population down by each country the polygon touches.

### Source

`source` is `null` on manually curated hazards; provenance is carried in `incident.properties.sourceName`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Ebola - Democratic Republic of  the Congo and Uganda "
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "6aea1936-0e13-4ea1-8167-0d6af4943b16",
    "type": "BIOMEDICAL",
    "sourceId": 3000,
    "sourceRecordId": "ee9fad98-142f-4875-863d-c7863a742871",
    "properties": {
      "sourceId": 3000,
      "expires": 32503679999000,
      "hazardName": "Ebola - Democratic Republic of  the Congo and Uganda ",
      "endDate": "2999-12-31T23:59:59Z",
      "roles": "PUBLIC",
      "locationDescription": "",
      "incidentType": "BIOMEDICAL",
      "description": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
      "sourceResourceLocations": "[{\"sourceName\":\"PDC Manual Hazard\",\"sourceUrl\":\"\"}]",
      "incidentLatitude": 1.53717,
      "type": "ACTUAL",
      "hazardUUID": "206373ce-f605-4103-b03e-0dafebfd3a2b",
      "rawMessage": "",
      "sourceRecordId": "ee9fad98-142f-4875-863d-c7863a742871",
      "glideUri": "",
      "sourceUrl": "",
      "Incident_Type": "BIOMEDICAL",
      "reportDate": "2026-09-02T17:03:35Z",
      "sourceUpdatedAt": 1788368615000,
      "hazard": "{\"severity\":\"WARNING\",\"uuid\":\"206373ce-f605-4103-b03e-0dafebfd3a2b\"}",
      "featureType": "INCIDENT",
      "hazardSeverity": "WARNING",
      "eventTime": 1778874682000,
      "action": "EVENT_CONTINUED",
      "event": "BIOMEDICAL",
      "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=206373ce-f605-4103-b03e-0dafebfd3a2b",
      "createDate": "2026-09-02T17:03:35Z",
      "severity": "WARNING",
      "charterUri": "",
      "incidentLongitude": 28.67231,
      "overrideStartedAt": "true",
      "hazardCategory": "EVENT",
      "casualties": "null",
      "hazardDescription": "Ebola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information.",
      "name": "Ebola - Democratic Republic of  the Congo and Uganda ",
      "overrideDescription": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
      "comment": "",
      "sourceName": "PDC Manual Hazard",
      "category": "EVENT",
      "status": "UPDATE",
      "masterIncidentId": "3000.1788368615.1",
      "eventDate": "2026-05-15T19:51:22Z"
    }
  },
  "uuid": "206373ce-f605-4103-b03e-0dafebfd3a2b",
  "comment": "",
  "createdAt": 1788368669,
  "relatedHazards": [],
  "longitude": 28.67231,
  "latitude": 1.53717,
  "version": 41,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "sourceId": 3000,
          "charterUri": "",
          "overrideStartedAt": "true",
          "endDate": "2999-12-31T23:59:59Z",
          "locationDescription": "",
          "incidentType": "BIOMEDICAL",
          "description": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
          "hazardCategory": "EVENT",
          "glideUri": "",
          "reportDate": "2026-09-02T17:03:35Z",
          "hazard": {
            "severity": "WARNING",
            "uuid": "206373ce-f605-4103-b03e-0dafebfd3a2b"
          },
          "featureType": "INCIDENT",
          "name": "Ebola - Democratic Republic of  the Congo and Uganda ",
          "overrideDescription": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
          "comment": "",
          "category": "EVENT",
          "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=206373ce-f605-4103-b03e-0dafebfd3a2b",
          "createDate": "2026-09-02T17:03:35Z",
          "eventDate": "2026-05-15T19:51:22Z"
        },
        "geometry": {
          "coordinates": [
            28.67231,
            1.53717
          ],
          "type": "Point",
          "properties": {
            "severity": "WARNING",
            "sourceId": 3000,
            "charterUri": "",
            "overrideStartedAt": "true",
            "endDate": "2999-12-31T23:59:59Z",
            "locationDescription": "",
            "incidentType": "BIOMEDICAL",
            "description": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
            "hazardCategory": "EVENT",
            "glideUri": "",
            "reportDate": "2026-09-02T17:03:35Z",
            "hazard": {
              "severity": "WARNING",
              "uuid": "206373ce-f605-4103-b03e-0dafebfd3a2b"
            },
            "featureType": "INCIDENT",
            "name": "Ebola - Democratic Republic of  the Congo and Uganda ",
            "overrideDescription": "\nEbola has been reported in the eastern Democratic Republic of Congo and Uganda. Reports indicate that at least 6,100 people have been infected with confirmed Ebola disease caused by the Bundibugyo virus (BVD), including 3,000 deaths. The outbreak is the largest and fastest-growing Bundibugyo virus outbreak recorded in the country and continues to spread amid insecurity, displacement, and population movement. Impacted areas include: eastern Democratic Republic of the Congo, Tshopo Province, Haut-Uélé Province, and Kinshasa. Cross-border transmission risks have also been highlighted for neighboring South Sudan and the Central African Republic. Please monitor DisasterAWARE for more information ... [truncated for brevity]",
            "comment": "",
            "category": "EVENT",
            "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=206373ce-f605-4103-b03e-0dafebfd3a2b",
            "createDate": "2026-09-02T17:03:35Z",
            "eventDate": "2026-05-15T19:51:22Z"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT",
          "incidentType": "BIOMEDICAL"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "featureType": "SMART_ALERT",
            "severity": "LIMITED",
            "incidentType": "BIOMEDICAL"
          }
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": "0",
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "featureType": "SMART_ALERT",
            "severity": "LIMITED"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 25800000.0,
      "total0_14": 11807308,
      "total15_64": 13231456,
      "households": 6170000.0,
      "vulnerable": 14800000.0,
      "total65_Plus": 757657
    },
    "capital": {
      "total": 11500000000.0,
      "school": 5131,
      "hospital": 163
    },
    "totalByCountry": [
      {
        "population": {
          "total": 10200.0,
          "total0_14": 4065,
          "total15_64": 5837,
          "households": 1850.0,
          "vulnerable": 8390.0,
          "total65_Plus": 297
        },
        "country": "SSD",
        "capital": {
          "total": 551000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "South Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 17600000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 25100.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 839,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 28900.0
      },
      {
        "population": {
          "total": 22200000.0,
          "total0_14": 10229760,
          "total15_64": 11286480,
          "households": 5370000.0,
          "vulnerable": 14100000.0,
          "total65_Plus": 679320
        },
        "country": "COD",
        "capital": {
          "total": 7340000000.0,
          "school": 2579,
          "hospital": 122
        },
        "admin0": "Democratic Republic of the Congo",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 29600000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 42300000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1410000.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 48600000.0
      },
      {
        "population": {
          "total": 14.3,
          "total0_14": 7,
          "total15_64": 7,
          "households": 2.55,
          "vulnerable": 9.83,
          "total65_Plus": 0
        },
        "country": "CAF",
        "capital": {
          "total": 589000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Central African Republic",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 20600.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 29.4,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.983,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 33.9
      },
      {
        "population": {
          "total": 71000.0,
          "total0_14": 26788,
          "total15_64": 41500,
          "households": 16500.0,
          "vulnerable": 27100.0,
          "total65_Plus": 2712
        },
        "country": "RWA",
        "capital": {
          "total": 106000000.0,
          "school": 1,
          "hospital": 2
        },
        "admin0": "Rwanda",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 56900000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 81300.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2710.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 93400.0
      },
      {
        "population": {
          "total": 3520000.0,
          "total0_14": 1546688,
          "total15_64": 1897632,
          "households": 782000.0,
          "vulnerable": 714000.0,
          "total65_Plus": 75328
        },
        "country": "UGA",
        "capital": {
          "total": 4060000000.0,
          "school": 2551,
          "hospital": 39
        },
        "admin0": "Uganda",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 1490000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 2140000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 71400.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 2460000.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 10200.0,
          "total0_14": 4065,
          "total15_64": 5837,
          "households": 1850.0,
          "vulnerable": 8390.0,
          "total65_Plus": 297
        },
        "country": "SSD",
        "capital": {
          "total": 551000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "South Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 17600000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 25100.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 839,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 28900.0
      },
      {
        "population": {
          "total": 22200000.0,
          "total0_14": 10229760,
          "total15_64": 11286480,
          "households": 5370000.0,
          "vulnerable": 14100000.0,
          "total65_Plus": 679320
        },
        "country": "COD",
        "capital": {
          "total": 7340000000.0,
          "school": 2579,
          "hospital": 122
        },
        "admin0": "Democratic Republic of the Congo",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 29600000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 42300000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 1410000.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 48600000.0
      },
      {
        "population": {
          "total": 14.3,
          "total0_14": 7,
          "total15_64": 7,
          "households": 2.55,
          "vulnerable": 9.83,
          "total65_Plus": 0
        },
        "country": "CAF",
        "capital": {
          "total": 589000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Central African Republic",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 20600.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 29.4,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.983,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 33.9
      },
      {
        "population": {
          "total": 71000.0,
          "total0_14": 26788,
          "total15_64": 41500,
          "households": 16500.0,
          "vulnerable": 27100.0,
          "total65_Plus": 2712
        },
        "country": "RWA",
        "capital": {
          "total": 106000000.0,
          "school": 1,
          "hospital": 2
        },
        "admin0": "Rwanda",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 56900000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 81300.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 2710.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 93400.0
      },
      {
        "population": {
          "total": 3520000.0,
          "total0_14": 1546688,
          "total15_64": 1897632,
          "households": 782000.0,
          "vulnerable": 714000.0,
          "total65_Plus": 75328
        },
        "country": "UGA",
        "capital": {
          "total": 4060000000.0,
          "school": 2551,
          "hospital": 39
        },
        "admin0": "Uganda",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 1490000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 2140000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 71400.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 2460000.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 25800000.0,
            "total0_14": 11807308,
            "total15_64": 13231456,
            "households": 6170000.0,
            "vulnerable": 14800000.0,
            "total65_Plus": 757657
          },
          "capital": {
            "total": 11500000000.0,
            "school": 5131,
            "hospital": 163
          },
          "totalByCountry": [
            {
              "population": {
                "total": 10200.0,
                "total0_14": 4065,
                "total15_64": 5837,
                "households": 1850.0,
                "vulnerable": 8390.0,
                "total65_Plus": 297
              },
              "country": "SSD",
              "capital": {
                "total": 551000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "South Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 17600000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 25100.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 839,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 28900.0
            },
            {
              "population": {
                "total": 22200000.0,
                "total0_14": 10229760,
                "total15_64": 11286480,
                "households": 5370000.0,
                "vulnerable": 14100000.0,
                "total65_Plus": 679320
              },
              "country": "COD",
              "capital": {
                "total": 7340000000.0,
                "school": 2579,
                "hospital": 122
              },
              "admin0": "Democratic Republic of the Congo",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 29600000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 42300000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 1410000.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 48600000.0
            },
            {
              "population": {
                "total": 14.3,
                "total0_14": 7,
                "total15_64": 7,
                "households": 2.55,
                "vulnerable": 9.83,
                "total65_Plus": 0
              },
              "country": "CAF",
              "capital": {
                "total": 589000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Central African Republic",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 20600.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 29.4,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.983,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 33.9
            },
            {
              "population": {
                "total": 71000.0,
                "total0_14": 26788,
                "total15_64": 41500,
                "households": 16500.0,
                "vulnerable": 27100.0,
                "total65_Plus": 2712
              },
              "country": "RWA",
              "capital": {
                "total": 106000000.0,
                "school": 1,
                "hospital": 2
              },
              "admin0": "Rwanda",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 56900000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 81300.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2710.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 93400.0
            },
            {
              "population": {
                "total": 3520000.0,
                "total0_14": 1546688,
                "total15_64": 1897632,
                "households": 782000.0,
                "vulnerable": 714000.0,
                "total65_Plus": 75328
              },
              "country": "UGA",
              "capital": {
                "total": 4060000000.0,
                "school": 2551,
                "hospital": 39
              },
              "admin0": "Uganda",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1490000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2140000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 71400.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2460000.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 22200000.0,
                "total0_14": 10229760,
                "total15_64": 11286480,
                "households": 5370000.0,
                "vulnerable": 14100000.0,
                "total65_Plus": 679320
              },
              "country": "COD",
              "capital": {
                "total": 7340000000.0,
                "school": 2579,
                "hospital": 122
              },
              "admin0": "Democratic Republic of the Congo",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 29600000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 42300000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 1410000.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 48600000.0
            },
            {
              "population": {
                "total": 14.3,
                "total0_14": 7,
                "total15_64": 7,
                "households": 2.55,
                "vulnerable": 9.83,
                "total65_Plus": 0
              },
              "country": "CAF",
              "capital": {
                "total": 589000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Central African Republic",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 20600.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 29.4,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.983,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 33.9
            },
            {
              "population": {
                "total": 71000.0,
                "total0_14": 26788,
                "total15_64": 41500,
                "households": 16500.0,
                "vulnerable": 27100.0,
                "total65_Plus": 2712
              },
              "country": "RWA",
              "capital": {
                "total": 106000000.0,
                "school": 1,
                "hospital": 2
              },
              "admin0": "Rwanda",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 56900000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 81300.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 2710.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 93400.0
            },
            {
              "population": {
                "total": 10200.0,
                "total0_14": 4065,
                "total15_64": 5837,
                "households": 1850.0,
                "vulnerable": 8390.0,
                "total65_Plus": 297
              },
              "country": "SSD",
              "capital": {
                "total": 551000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "South Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 17600000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 25100.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 839,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 28900.0
            },
            {
              "population": {
                "total": 3520000.0,
                "total0_14": 1546688,
                "total15_64": 1897632,
                "households": 782000.0,
                "vulnerable": 714000.0,
                "total65_Plus": 75328
              },
              "country": "UGA",
              "capital": {
                "total": 4060000000.0,
                "school": 2551,
                "hospital": 39
              },
              "admin0": "Uganda",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 1490000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 2140000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 71400.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 2460000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 31000000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 44400000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 1480000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 51000000.0
        },
        "exposureDescription": "Limited to No Damage Expected"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1788368636944",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 31000000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 44400000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 1480000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 51000000.0
  },
  "type": "BIOMEDICAL",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1778874682,
  "updatedAt": 1788368636,
  "endedAt": 32503679999
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Long text fields have been truncated. All other values are verbatim from the production API as of 2026-09-11.
{% endhint %}


# Man-made Sample

This page provides a complete sample response for a man-made hazard from the Active Hazards API endpoint. The MANMADE type covers human-caused or human-driven crises that are not classified under the geopolitical types (COMBAT, TERRORISM, CIVILUNREST, ACCIDENT) — the sample below is a famine. These hazards are curated by PDC analysts and entered manually, so the record uses the generic PDC incident envelope.

## Man-made-Specific Properties

### Incident Data

This hazard uses the [generic PDC incident envelope](/hazards/requesting-active-hazards#incident-property-variants) in `incident.properties` — the common shape shared by all PDC-curated and manually entered hazards, regardless of type.

Key properties on a manually curated hazard:

* `Incident_Type` - The hazard type (`"MANMADE"`)
* `name` / `hazardName` - Hazard title
* `description` / `hazardDescription` - Analyst-written narrative
* `eventDate` / `reportDate` / `createDate` / `endDate` / `expires` - Event and lifecycle timing (ISO 8601)
* `casualties` - JSON string with killed/injured totals, or `"null"` when not reported
* `hazard` - JSON string carrying the hazard's `uuid` and `severity`
* `hazardUUID` / `masterIncidentId` - Identifiers linking the incident to its hazard
* `sourceName` - `"PDC Manual Hazard"` for analyst-entered records
* `sourceResourceLocations` - JSON array of source references
* `incidentLatitude` / `incidentLongitude` / `locationDescription` - Location
* `glideUri` / `charterUri` / `sncUrl` - External references, when assigned
* `overrideDescription` / `overrideStartedAt` - Analyst overrides of derived values
* `roles` - Visibility (`"PUBLIC"`)

### Features

The `features` collection has two features: an `INCIDENT` point at the reported location, whose properties mirror the incident envelope, and a `SMART_ALERT` polygon defining the notification boundary. The `features` collection carries `metadata`, `incidentType`, and `sourceId` at collection level alongside `type` and `features`, and each feature's `geometry` object embeds a copy of the feature's `properties`. See [Feature collections](/hazards/requesting-active-hazards#feature-collection-structure).

### Exposure Areas

Manually curated hazards use a **single exposure level** (level 0, "Limited to No Damage Expected") drawn as a polygon around the affected region. The `exposureAssessment` block is populated from it, with country and admin breakdowns.

### Source

`source` is `null` on manually curated hazards; provenance is carried in `incident.properties.sourceName`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Famine - South Sudan"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "incident": {
    "uuid": "477d36c7-3f17-4d87-a690-96ce28d33109",
    "type": "MANMADE",
    "sourceId": 3000,
    "sourceRecordId": "d9ec1fdf-a250-4d1a-9336-6c8eab6d34ed",
    "properties": {
      "sourceId": 3000,
      "expires": 32503679999000,
      "hazardName": "Famine - South Sudan",
      "endDate": "2999-12-31T23:59:59Z",
      "roles": "PUBLIC",
      "locationDescription": "",
      "incidentType": "MANMADE",
      "description": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
      "sourceResourceLocations": "[{\"sourceName\":\"PDC Manual Hazard\",\"sourceUrl\":\"\"}]",
      "incidentLatitude": 9.39619,
      "type": "ACTUAL",
      "hazardUUID": "72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2",
      "rawMessage": "",
      "sourceRecordId": "d9ec1fdf-a250-4d1a-9336-6c8eab6d34ed",
      "glideUri": "",
      "sourceUrl": "",
      "Incident_Type": "MANMADE",
      "reportDate": "2026-07-20T16:28:47Z",
      "sourceUpdatedAt": 1784564927000,
      "hazard": "{\"severity\":\"WARNING\",\"uuid\":\"72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2\"}",
      "featureType": "INCIDENT",
      "hazardSeverity": "WARNING",
      "eventTime": 1776889812000,
      "action": "EVENT_CONTINUED",
      "event": "MANMADE",
      "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2",
      "createDate": "2026-07-20T16:28:47Z",
      "severity": "WARNING",
      "charterUri": "",
      "incidentLongitude": 31.80405,
      "overrideStartedAt": "true",
      "hazardCategory": "EVENT",
      "casualties": "null",
      "hazardDescription": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
      "name": "Famine - South Sudan",
      "overrideDescription": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
      "comment": "",
      "sourceName": "PDC Manual Hazard",
      "category": "EVENT",
      "status": "UPDATE",
      "masterIncidentId": "3000.1784564927.1",
      "eventDate": "2026-04-22T20:30:12Z"
    }
  },
  "uuid": "72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2",
  "comment": "",
  "createdAt": 1784564966,
  "relatedHazards": [],
  "longitude": 31.80405,
  "latitude": 9.39619,
  "version": 7,
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "sourceId": 3000,
          "charterUri": "",
          "overrideStartedAt": "true",
          "endDate": "2999-12-31T23:59:59Z",
          "locationDescription": "",
          "incidentType": "MANMADE",
          "description": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
          "hazardCategory": "EVENT",
          "glideUri": "",
          "reportDate": "2026-07-20T16:28:47Z",
          "hazard": {
            "severity": "WARNING",
            "uuid": "72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2"
          },
          "featureType": "INCIDENT",
          "name": "Famine - South Sudan",
          "overrideDescription": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
          "comment": "",
          "category": "EVENT",
          "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2",
          "createDate": "2026-07-20T16:28:47Z",
          "eventDate": "2026-04-22T20:30:12Z"
        },
        "geometry": {
          "coordinates": [
            31.80405,
            9.39619
          ],
          "type": "Point",
          "properties": {
            "severity": "WARNING",
            "sourceId": 3000,
            "charterUri": "",
            "overrideStartedAt": "true",
            "endDate": "2999-12-31T23:59:59Z",
            "locationDescription": "",
            "incidentType": "MANMADE",
            "description": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
            "hazardCategory": "EVENT",
            "glideUri": "",
            "reportDate": "2026-07-20T16:28:47Z",
            "hazard": {
              "severity": "WARNING",
              "uuid": "72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2"
            },
            "featureType": "INCIDENT",
            "name": "Famine - South Sudan",
            "overrideDescription": "Famine has been reported in South Sudan. Reports indicate that at least 7.8 million people have been affected by acute food insecurity, including about 73,000 people facing famine-like conditions in parts of Jonglei and Upper Nile states. At least 1,500 people have been displaced due to drought and water shortages in Kapoeta East County, while hundreds more have been displaced by armed clashes in Raat, Pochalla County. Impacted areas include: Jonglei State, Upper Nile State, Eastern Equatoria, Greater Pibor Administrative Area, Kapoeta East County, Raat, Pochalla County, Unity State, Bentiu IDP camps, and border areas with Ethiopia and Kenya. Moderate drought and water-stress conditions are ... [truncated for brevity]",
            "comment": "",
            "category": "EVENT",
            "sncUrl": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=72bc4fe6-c7c7-4aa9-9ce1-3027ee3a29b2",
            "createDate": "2026-07-20T16:28:47Z",
            "eventDate": "2026-04-22T20:30:12Z"
          }
        },
        "incidentType": null,
        "sourceId": null
      },
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "severity": "LIMITED",
          "featureType": "SMART_ALERT",
          "incidentType": "MANMADE"
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "featureType": "SMART_ALERT",
            "severity": "LIMITED",
            "incidentType": "MANMADE"
          }
        },
        "incidentType": null,
        "sourceId": null
      }
    ],
    "incidentType": null,
    "metadata": null,
    "type": "FeatureCollection",
    "sourceId": null
  },
  "exposureAreas": {
    "features": [
      {
        "id": null,
        "type": "Feature",
        "properties": {
          "exposureLevel": 0
        },
        "geometry": {
          "coordinates": [...],
          "type": "Polygon",
          "properties": {
            "featureType": "SMART_ALERT",
            "severity": "LIMITED"
          }
        },
        "sourceId": null
      }
    ],
    "type": "FeatureCollection"
  },
  "exposureAssessment": {
    "population": {
      "total": 8460000.0,
      "total0_14": 3371486,
      "total15_64": 4841915,
      "households": 1530000.0,
      "vulnerable": 6960000.0,
      "total65_Plus": 246200
    },
    "capital": {
      "total": 14700000000.0,
      "school": 48,
      "hospital": 83
    },
    "totalByCountry": [
      {
        "population": {
          "total": 8460000.0,
          "total0_14": 3371310,
          "total15_64": 4841658,
          "households": 1530000.0,
          "vulnerable": 6960000.0,
          "total65_Plus": 246186
        },
        "country": "SSD",
        "capital": {
          "total": 14700000000.0,
          "school": 48,
          "hospital": 83
        },
        "admin0": "South Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 14600000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 20800000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 696000.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 24000000.0
      },
      {
        "population": {
          "total": 447,
          "total0_14": 176,
          "total15_64": 257,
          "households": 95.5,
          "vulnerable": 105,
          "total65_Plus": 14
        },
        "country": "ETH",
        "capital": {
          "total": 121000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Ethiopia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 220000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 315,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 10.5,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 362
      },
      {
        "population": {
          "total": 0.0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0.0,
          "vulnerable": 0.0,
          "total65_Plus": 0
        },
        "country": "SDN",
        "capital": {
          "total": 4450000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      }
    ],
    "totalByAdmin": [
      {
        "population": {
          "total": 8460000.0,
          "total0_14": 3371310,
          "total15_64": 4841658,
          "households": 1530000.0,
          "vulnerable": 6960000.0,
          "total65_Plus": 246186
        },
        "country": "SSD",
        "capital": {
          "total": 14700000000.0,
          "school": 48,
          "hospital": 83
        },
        "admin0": "South Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 14600000000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 20800000.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 696000.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 24000000.0
      },
      {
        "population": {
          "total": 447,
          "total0_14": 176,
          "total15_64": 257,
          "households": 95.5,
          "vulnerable": 105,
          "total65_Plus": 14
        },
        "country": "ETH",
        "capital": {
          "total": 121000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Ethiopia",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 220000.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 315,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 10.5,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 362
      },
      {
        "population": {
          "total": 0.0,
          "total0_14": 0,
          "total15_64": 0,
          "households": 0.0,
          "vulnerable": 0.0,
          "total65_Plus": 0
        },
        "country": "SDN",
        "capital": {
          "total": 4450000.0,
          "school": 0,
          "hospital": 0
        },
        "admin0": "Sudan",
        "admin1": null,
        "admin2": null,
        "foodNeedsUnit": "CAL",
        "foodNeeds": 0.0,
        "waterNeedsUnit": "liter",
        "waterNeeds": 0.0,
        "wasteNeedsUnit": "100 liter",
        "wasteNeeds": 0.0,
        "shelterNeedsUnit": "sq meters",
        "shelterNeeds": 0.0
      }
    ],
    "exposureLevels": [
      {
        "level": "0",
        "data": {
          "population": {
            "total": 8460000.0,
            "total0_14": 3371486,
            "total15_64": 4841915,
            "households": 1530000.0,
            "vulnerable": 6960000.0,
            "total65_Plus": 246200
          },
          "capital": {
            "total": 14700000000.0,
            "school": 48,
            "hospital": 83
          },
          "totalByCountry": [
            {
              "population": {
                "total": 8460000.0,
                "total0_14": 3371310,
                "total15_64": 4841658,
                "households": 1530000.0,
                "vulnerable": 6960000.0,
                "total65_Plus": 246186
              },
              "country": "SSD",
              "capital": {
                "total": 14700000000.0,
                "school": 48,
                "hospital": 83
              },
              "admin0": "South Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 14600000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 20800000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 696000.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 24000000.0
            },
            {
              "population": {
                "total": 447,
                "total0_14": 176,
                "total15_64": 257,
                "households": 95.5,
                "vulnerable": 105,
                "total65_Plus": 14
              },
              "country": "ETH",
              "capital": {
                "total": 121000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Ethiopia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 220000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 315,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 10.5,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 362
            },
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "SDN",
              "capital": {
                "total": 4450000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            }
          ],
          "totalByAdmin": [
            {
              "population": {
                "total": 447,
                "total0_14": 176,
                "total15_64": 257,
                "households": 95.5,
                "vulnerable": 105,
                "total65_Plus": 14
              },
              "country": "ETH",
              "capital": {
                "total": 121000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Ethiopia",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 220000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 315,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 10.5,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 362
            },
            {
              "population": {
                "total": 0.0,
                "total0_14": 0,
                "total15_64": 0,
                "households": 0.0,
                "vulnerable": 0.0,
                "total65_Plus": 0
              },
              "country": "SDN",
              "capital": {
                "total": 4450000.0,
                "school": 0,
                "hospital": 0
              },
              "admin0": "Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 0.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 0.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 0.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 0.0
            },
            {
              "population": {
                "total": 8460000.0,
                "total0_14": 3371310,
                "total15_64": 4841658,
                "households": 1530000.0,
                "vulnerable": 6960000.0,
                "total65_Plus": 246186
              },
              "country": "SSD",
              "capital": {
                "total": 14700000000.0,
                "school": 48,
                "hospital": 83
              },
              "admin0": "South Sudan",
              "admin1": null,
              "admin2": null,
              "foodNeedsUnit": "CAL",
              "foodNeeds": 14600000000.0,
              "waterNeedsUnit": "liter",
              "waterNeeds": 20800000.0,
              "wasteNeedsUnit": "100 liter",
              "wasteNeeds": 696000.0,
              "shelterNeedsUnit": "sq meters",
              "shelterNeeds": 24000000.0
            }
          ],
          "foodNeedsUnit": "CAL",
          "foodNeeds": 14600000000.0,
          "waterNeedsUnit": "liter",
          "waterNeeds": 20800000.0,
          "wasteNeedsUnit": "100 liter",
          "wasteNeeds": 696000.0,
          "shelterNeedsUnit": "sq meters",
          "shelterNeeds": 24000000.0
        },
        "exposureDescription": "Limited to No Damage Expected"
      }
    ],
    "hazardUuid": "",
    "hazardType": "",
    "version": "",
    "timestamp": "1784564944014",
    "exposureDescription": "",
    "foodNeedsUnit": "CAL",
    "foodNeeds": 14600000000.0,
    "waterNeedsUnit": "liter",
    "waterNeeds": 20800000.0,
    "wasteNeedsUnit": "100 liter",
    "wasteNeeds": 696000.0,
    "shelterNeedsUnit": "sq meters",
    "shelterNeeds": 24000000.0
  },
  "type": "MANMADE",
  "creator": "RICHTER",
  "source": null,
  "startedAt": 1776889812,
  "updatedAt": 1784564943,
  "endedAt": 32503679999
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. Long text fields have been truncated. All other values are verbatim from the production API as of 2026-09-11.
{% endhint %}


# Enhanced Historical Earthquake Sample

This page provides a complete sample response for an enhanced historical earthquake hazard. Enhanced historical hazards use the **legacy DAE hazard schema**, which differs significantly from the V2 API response format used by the Active Hazards endpoint. This sample demonstrates the full structure of a legacy earthquake hazard object, including the `earthquakeAssessment` block with USGS ShakeMap data and PGA contours.

{% hint style="warning" %}
**Schema difference:** This response uses the legacy DAE hazard schema, not the V2 API format. Key structural differences include:

* Top-level fields use `snake_Case` naming (e.g., `hazard_ID`, `type_ID`, `create_Date`) instead of camelCase
* Earthquake-specific data is in `earthquakeAssessment` (not `incident.properties`)
* Exposure areas use `exposureArea` (not `exposureAreas`)
* Exposure assessment values are wrapped in `{value: ...}` objects
* Smart alert geometry is in `activeGeography` (not `alertGeometry`)
* Location metadata is in `locationDetails` (not present in V2)
* There is no `incident` wrapper object
  {% endhint %}

## Earthquake Assessment (Enhanced Data)

The `earthquakeAssessment` object contains USGS ShakeMap data for the earthquake, including Peak Ground Acceleration (PGA) contours as GeoJSON features. This is the primary enhancement over the base hazard record.

**Key properties:**

| Property            | Type    | Description                                         |
| ------------------- | ------- | --------------------------------------------------- |
| `usgs_event_id`     | string  | USGS event identifier (e.g., `us6000rt1x`)          |
| `shakemap_version`  | string  | Version of the ShakeMap product                     |
| `magnitude`         | number  | Earthquake magnitude from ShakeMap                  |
| `depth_km`          | number  | Depth of the earthquake in kilometers               |
| `source`            | string  | Data source (e.g., `USGS ShakeMap`)                 |
| `max_pga_pctg`      | number  | Maximum PGA value in percent-g                      |
| `max_pga_g`         | number  | Maximum PGA value in g (gravitational acceleration) |
| `max_mmi`           | string  | Maximum Modified Mercalli Intensity                 |
| `pga_contour_count` | integer | Number of PGA contour levels                        |
| `pga_contours`      | object  | GeoJSON FeatureCollection of PGA contour lines      |

### PGA Contours

The `pga_contours` property is a GeoJSON FeatureCollection containing MultiLineString features representing Peak Ground Acceleration contour lines. Each feature represents a specific PGA threshold level.

**Contour feature properties:**

| Property | Type    | Description                                       |
| -------- | ------- | ------------------------------------------------- |
| `value`  | number  | PGA threshold value in percent-g                  |
| `units`  | string  | Unit of measurement (always `pctg` for percent-g) |
| `color`  | string  | Hex color code for rendering the contour          |
| `weight` | integer | Line weight for rendering                         |

This sample includes 10 contour levels at the following PGA values (in %g):

| Value | Color     |
| ----- | --------- |
| 0.005 | `#ffffff` |
| 0.01  | `#ffffff` |
| 0.02  | `#ffffff` |
| 0.05  | `#fbfcff` |
| 0.1   | `#d3dcff` |
| 0.2   | `#b7d2ff` |
| 0.5   | `#a5e1ff` |
| 1.0   | `#96edff` |
| 2.0   | `#87f9ff` |
| 5.0   | `#7cffb7` |

## Exposure Assessment

The legacy schema wraps exposure values in `{value: ...}` objects and organizes exposure into numbered levels within an `exposureLevels` array. Each level includes population, capital, and humanitarian needs data.

**Exposure levels for this earthquake:**

| Level | Description                             | Population | Capital (USD) |
| ----- | --------------------------------------- | ---------- | ------------- |
| 1     | Moderate to strong shaking (30 - 100km) | 5.2        | $209,800      |
| 2     | Very strong shaking (10-30km)           | 0          | $0            |
| 3     | Severe shaking and above (0-10km)       | 0          | $0            |

## Legacy Hazard Field Reference

**Top-level hazard fields:**

| Field                    | Type    | Description                                              |
| ------------------------ | ------- | -------------------------------------------------------- |
| `hazard_ID`              | integer | Unique hazard identifier                                 |
| `uuid`                   | string  | UUID for the hazard                                      |
| `hazard_Name`            | string  | Full hazard title including magnitude and location       |
| `type_ID`                | string  | Hazard type (e.g., `EARTHQUAKE`)                         |
| `category_ID`            | string  | Category classification (e.g., `EVENT`)                  |
| `severity_ID`            | string  | Severity level (e.g., `ADVISORY`, `WATCH`, `WARNING`)    |
| `status`                 | string  | Active status (`A` = active)                             |
| `latitude` / `longitude` | number  | Epicenter coordinates                                    |
| `start_Date`             | string  | Event start time in epoch milliseconds                   |
| `end_Date`               | string  | Event end time in epoch milliseconds                     |
| `create_Date`            | string  | Record creation time in epoch milliseconds               |
| `last_Update`            | string  | Last update time in epoch milliseconds                   |
| `creator`                | string  | System or user that created the record                   |
| `update_User`            | string  | System or user that last updated the record              |
| `description`            | string  | Human-readable event description                         |
| `autoexpire`             | string  | Whether the hazard auto-expires (`Y`/`N`)                |
| `snc_url`                | string  | URL to the Hazard Brief page                             |
| `product_total`          | string  | Number of associated products                            |
| `tier`                   | string  | Access tier (e.g., `Enterprise`)                         |
| `tier_tag`               | string  | Short tier code (e.g., `ent`)                            |
| `master_Incident_ID`     | string  | Internal incident tracking ID                            |
| `org_ID`                 | integer | Organization ID (-1 for system-generated)                |
| `app_ID`                 | integer | Application ID                                           |
| `in_Dashboard`           | string  | Dashboard visibility flag                                |
| `locationDetails`        | object  | Structured location metadata (country, state, continent) |
| `activeGeography`        | object  | Smart alert area geometry with WKT polygon               |
| `exposureAssessment`     | object  | Structured exposure data with nested value objects       |
| `earthquakeAssessment`   | object  | USGS ShakeMap data and PGA contours                      |
| `exposureArea`           | object  | GeoJSON FeatureCollection of exposure area polygons      |

## Sample Response

```json
{
  "app_ID": 0,
  "app_IDs": "",
  "autoexpire": "Y",
  "category_ID": "EVENT",
  "charter_Uri": "",
  "comment_Text": null,
  "create_Date": "1765081686217",
  "creator": "DisasterAWARE (Automated)",
  "end_Date": "1765167587000",
  "glide_Uri": "",
  "hazard_ID": 357496,
  "hazard_Name": "Earthquake - 5.4 - 91 km N of Yakutat, Alaska",
  "last_Update": "1765081749586",
  "latitude": 60.3620376586914,
  "longitude": -139.51382446289062,
  "master_Incident_ID": "3.1765081709.2",
  "message_ID": "",
  "org_ID": -1,
  "severity_ID": "ADVISORY",
  "snc_url": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=d6a7791c-778e-437d-af8f-596e510208e3",
  "start_Date": "1765081187000",
  "status": "A",
  "type_ID": "EARTHQUAKE",
  "update_Date": "1765081748635",
  "update_User": "apps.pdc.org",
  "product_total": "2",
  "uuid": "d6a7791c-778e-437d-af8f-596e510208e3",
  "in_Dashboard": "0",
  "areabrief_url": null,
  "description": "An earthquake with a magnitude of 5.4 at a depth of 0.39 km (0.24 miles) has occurred at 91 km N of Yakutat, Alaska, as reported by the National Earthquake Information Center (NEIC) of the USGS on December 07, 2025 04:19:47 UTC.\n\nBased on the preliminary data, earthquakes of this depth and magnitude are expected to result in moderate to severe shaking in the affected area. Initial estimates indicate that 5 people, 2 households, and $209,000 (USD) of infrastructure* are concentrated within the affected area. Exposure estimates will be refined as additional data from official sources becomes available. Additional information will be provided as it becomes available by official sources.\n\nEpicenter: Latitude: 60.3620376586914, Longitude: -139.51382446289062\n*The cost represents the total replacement value of the infrastructure.\n\n",
  "roles": [],
  "updatedGeography": false,
  "tier": "Enterprise",
  "tier_tag": "ent",
  "activeGeography": {
    "magId": 1232501,
    "uuid": "fa69a993-d804-433d-aaee-98c6c0e681bc",
    "title": "AUTO GENERATED SMART ALERT",
    "createDate": 1765081748926,
    "magType": "Calculated",
    "creator": "apps.pdc.org",
    "isActive": true,
    "updateDate": 1765081748926,
    "wkt": {
      "text": "POLYGON((...truncated...))"
    }
  },
  "locationDetails": {
    "version": 2,
    "country": "Canada",
    "country_code": "CA",
    "country_code_3": "CAN",
    "continent": "North America",
    "subregion": "Northern America",
    "state_province": "Yukon",
    "state_code": "CA-YT",
    "location_type": "land"
  },
  "exposureAssessment": {
    "population": {
      "total": {
        "value": 5.2
      },
      "total0_14": {
        "value": 0
      },
      "total15_64": {
        "value": 0
      },
      "total65_Plus": {
        "value": 0
      },
      "households": {
        "value": 2
      },
      "vulnerable": {
        "value": 0
      }
    },
    "capital": {
      "total": {
        "value": 209800
      },
      "school": {
        "value": 0
      },
      "hospital": {
        "value": 0
      }
    },
    "exposureLevels": [
      {
        "level": "1",
        "exposureDescription": "Moderate to strong shaking (30 - 100km)",
        "data": {
          "population": {
            "total": {
              "value": 5.2
            },
            "total0_14": {
              "value": 0
            },
            "total15_64": {
              "value": 0
            },
            "total65_Plus": {
              "value": 0
            },
            "households": {
              "value": 2
            },
            "vulnerable": {
              "value": 0
            }
          },
          "capital": {
            "total": {
              "value": 209800
            },
            "school": {
              "value": 0
            },
            "hospital": {
              "value": 0
            }
          }
        }
      },
      {
        "level": "2",
        "exposureDescription": "Very strong shaking (10-30km)",
        "data": {
          "population": {
            "total": {
              "value": 0
            },
            "total0_14": {
              "value": 0
            },
            "total15_64": {
              "value": 0
            },
            "total65_Plus": {
              "value": 0
            },
            "households": {
              "value": 0
            },
            "vulnerable": {
              "value": 0
            }
          },
          "capital": {
            "total": {
              "value": 0
            },
            "school": {
              "value": 0
            },
            "hospital": {
              "value": 0
            }
          }
        }
      },
      {
        "level": "3",
        "exposureDescription": "Severe shaking and above (0-10km)",
        "data": {
          "population": {
            "total": {
              "value": 0
            },
            "total0_14": {
              "value": 0
            },
            "total15_64": {
              "value": 0
            },
            "total65_Plus": {
              "value": 0
            },
            "households": {
              "value": 0
            },
            "vulnerable": {
              "value": 0
            }
          },
          "capital": {
            "total": {
              "value": 0
            },
            "school": {
              "value": 0
            },
            "hospital": {
              "value": 0
            }
          }
        }
      }
    ]
  },
  "earthquakeAssessment": {
    "usgs_event_id": "us6000rt1x",
    "shakemap_version": "7",
    "magnitude": 4.1,
    "depth_km": 5,
    "source": "USGS ShakeMap",
    "max_pga_pctg": 5.0,
    "max_pga_g": 0.05,
    "max_mmi": "4.581",
    "pga_contour_count": 10,
    "pga_contours": {
      "type": "FeatureCollection",
      "name": "cont_pga",
      "crs": {
        "type": "name",
        "properties": {
          "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
        }
      },
      "features": [
        {
          "type": "Feature",
          "properties": {
            "value": 0.005,
            "units": "pctg",
            "color": "#ffffff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.01,
            "units": "pctg",
            "color": "#ffffff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.02,
            "units": "pctg",
            "color": "#ffffff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.05,
            "units": "pctg",
            "color": "#fbfcff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.1,
            "units": "pctg",
            "color": "#d3dcff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.2,
            "units": "pctg",
            "color": "#b7d2ff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 0.5,
            "units": "pctg",
            "color": "#a5e1ff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 1.0,
            "units": "pctg",
            "color": "#96edff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 2.0,
            "units": "pctg",
            "color": "#87f9ff",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        },
        {
          "type": "Feature",
          "properties": {
            "value": 5.0,
            "units": "pctg",
            "color": "#7cffb7",
            "weight": 4
          },
          "geometry": {
            "type": "MultiLineString",
            "coordinates": [...]
          }
        }
      ]
    }
  },
  "exposureArea": {
    "type": "FeatureCollection",
    "name": "GeoJSON",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 1
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 2
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": {
          "exposureLevel": 3
        }
      }
    ]
  }
}
```

{% hint style="info" %}
In this sample, coordinate arrays in `activeGeography.wkt`, `exposureArea`, and `pga_contours` geometries have been replaced with `[...]` or `(...truncated...)` for brevity. In actual API responses, these properties contain complete coordinate data. The `activeGeography.wkt.text` field contains a full WKT POLYGON string defining the smart alert boundary.
{% endhint %}


# Enhanced Historical Cyclone Sample

This page provides a complete sample response for an enhanced historical cyclone from the IBTrACS backfill pipeline. Unlike active cyclones tracked through the V2 API, historical cyclones are ingested from NOAA's International Best Track Archive for Climate Stewardship (IBTrACS) and include the full observed track with wind radii data at each point.

Enhanced historical cyclones include two additional data blocks not present in standard hazard responses: `cycloneAssessment` (storm summary statistics) and `cycloneDetails` (complete track with meteorological observations at each point).

{% hint style="warning" %}
This response uses the **legacy DAE hazard schema**, not the V2 API response shape. The top-level structure uses fields like `hazard_ID`, `type_ID`, `create_Date`, etc., rather than the V2 format with `incident.properties` and GeoJSON `features`. The `cycloneAssessment` and `cycloneDetails` blocks are specific to the IBTrACS enhancement pipeline and are not present in real-time V2 API cyclone responses.
{% endhint %}

## Cyclone Assessment

The `cycloneAssessment` block provides summary statistics for the entire storm lifecycle. This is computed from the full IBTrACS best-track record after the storm has concluded.

| Property                   | Type    | Description                                      |
| -------------------------- | ------- | ------------------------------------------------ |
| `ibtracs_sid`              | string  | IBTrACS storm identifier (season + sequence)     |
| `storm_name`               | string  | Official storm name (uppercase)                  |
| `season`                   | integer | Year of the cyclone season                       |
| `basin`                    | string  | Basin code (e.g., SI, WP, NA, EP, SP)            |
| `basin_name`               | string  | Human-readable basin name                        |
| `max_wind_kts`             | number  | Peak sustained wind speed in knots               |
| `max_wind_kmh`             | integer | Peak sustained wind speed in km/h                |
| `min_pressure_mb`          | number  | Minimum central pressure in millibars            |
| `max_category`             | integer | Peak Saffir-Simpson category (0-5)               |
| `max_category_name`        | string  | Human-readable category label                    |
| `duration_hours`           | integer | Total storm duration in hours                    |
| `track_points_count`       | integer | Number of track observations                     |
| `track_length_km`          | integer | Total track distance in kilometers               |
| `landfalls`                | integer | Number of landfall events                        |
| `hours_at_hurricane_force` | integer | Hours with winds at or above 64 kt               |
| `hours_at_major_hurricane` | integer | Hours with winds at or above 96 kt (Category 3+) |
| `source`                   | string  | IBTrACS dataset version                          |

## Cyclone Details

The `cycloneDetails` block contains the complete storm track as an array of chronological observation points. Each point includes position, intensity, wind structure, and proximity-to-land data.

### Track Point Fields

| Property       | Type           | Description                                        |
| -------------- | -------------- | -------------------------------------------------- |
| `time`         | string         | Observation timestamp (UTC, `YYYY-MM-DD HH:MM:SS`) |
| `lat`          | number         | Latitude in decimal degrees (negative = south)     |
| `lon`          | number         | Longitude in decimal degrees                       |
| `wind_kts`     | number or null | Maximum sustained wind speed in knots              |
| `pressure_mb`  | number or null | Central pressure in millibars                      |
| `wind_radii`   | object         | Wind radii by threshold (see below)                |
| `nature`       | string         | Storm nature code                                  |
| `usa_status`   | string         | USA agency classification code                     |
| `dist2land_km` | number         | Distance to nearest land in kilometers             |
| `landfall_km`  | number or null | Distance to landfall point in kilometers           |

### Wind Radii Structure

The `wind_radii` object is keyed by wind speed threshold in knots (34, 50, or 64). Each threshold contains the maximum radial extent of that wind speed in each quadrant, measured in nautical miles.

```json
"wind_radii": {
  "34": { "NE": 60, "SE": 75, "SW": 70, "NW": 60 },
  "50": { "NE": 35, "SE": 40, "SW": 50, "NW": 40 },
  "64": { "NE": 25, "SE": 20, "SW": 30, "NW": 25 }
}
```

* **34 kt** -- Tropical storm force winds
* **50 kt** -- Strong tropical storm / damaging winds
* **64 kt** -- Hurricane / typhoon force winds

Wind radii are only present when the storm reaches the corresponding intensity threshold. Early track points (disturbances, depressions) will have an empty `wind_radii` object.

### Nature Codes

| Code | Description                                           |
| ---- | ----------------------------------------------------- |
| DS   | Disturbance                                           |
| TS   | Tropical Storm (includes hurricane/typhoon intensity) |
| ET   | Extratropical Transition                              |
| SS   | Subtropical Storm                                     |
| NR   | Not Reported                                          |

### USA Status Codes

| Code | Description         |
| ---- | ------------------- |
| DB   | Disturbance         |
| TD   | Tropical Depression |
| TS   | Tropical Storm      |
| TY   | Typhoon             |
| HU   | Hurricane           |
| ST   | Super Typhoon       |
| EX   | Extratropical       |

## Legacy Hazard Fields

The top-level hazard object uses the legacy DAE schema. Key fields include:

| Property                 | Type    | Description                                       |
| ------------------------ | ------- | ------------------------------------------------- |
| `hazard_ID`              | integer | Internal hazard identifier                        |
| `uuid`                   | string  | Unique hazard identifier                          |
| `hazard_Name`            | string  | Display name of the hazard                        |
| `type_ID`                | string  | Hazard type (e.g., `CYCLONE`)                     |
| `category_ID`            | string  | Hazard category (e.g., `EVENT`)                   |
| `severity_ID`            | string  | Severity level (e.g., `WATCH`, `WARNING`)         |
| `status`                 | string  | Hazard status (`A` = active, `E` = expired)       |
| `create_Date`            | string  | Creation timestamp (epoch milliseconds as string) |
| `start_Date`             | string  | Storm start timestamp (epoch milliseconds)        |
| `end_Date`               | string  | Storm end timestamp (epoch milliseconds)          |
| `latitude` / `longitude` | number  | Reference coordinates                             |
| `source`                 | string  | Data source description                           |
| `creator`                | string  | Pipeline or user that created the record          |
| `tier`                   | string  | Access tier (`Enterprise`, `Premium`, etc.)       |

{% hint style="info" %}
The `comment_Text` field contains the IBTrACS storm identifier (e.g., `IBTrACS-2025329N10124`), which can be used to cross-reference with the original IBTrACS dataset.
{% endhint %}

## Sample Response

```json
{
  "app_ID": 0,
  "app_IDs": "",
  "autoexpire": "Y",
  "category_ID": "EVENT",
  "charter_Uri": "",
  "comment_Text": "IBTrACS-2025329N10124",
  "create_Date": "1764007200000",
  "creator": "DataFeeds Enhancement Pipeline",
  "end_Date": "1764720000000",
  "glide_Uri": "",
  "hazard_ID": 842589,
  "hazard_Name": "Tropical Cyclone - Anggrek",
  "last_Update": "1764720000000",
  "latitude": 13.2,
  "longitude": 113.9,
  "master_Incident_ID": "",
  "message_ID": "",
  "org_ID": -1,
  "severity_ID": "WATCH",
  "snc_url": "",
  "source": "IBTrACS Backfill \u2014 cyclone not tracked in DisasterAWARE",
  "start_Date": "1764007200000",
  "status": "E",
  "type_ID": "CYCLONE",
  "update_Date": "1764720000000",
  "update_User": null,
  "product_total": 0,
  "uuid": "0fe8702d-15c5-4047-9a8a-776f7ed17cde",
  "in_Dashboard": "",
  "areabrief_url": null,
  "description": "A tropical cyclone forecast has been issued by Joint Typhoon Warning Center (JTWC) on January 31, 2024, 09:00:00 UTC. Tropical Cyclone - Anggrek, currently equivalent to a Category 1 hurricane (on the Saffir-Simpson scale), is located in the S Indian Ocean with maximum sustained winds of 120 km/h (75 mph), and wind gusts up to 148 km/h (92 mph).\n\nAccording to this forecast (#33), the cyclone is headed East-southeast at about 65 km/h (40 mph), and is expected to weaken over the next 24 hours...",
  "roles": [],
  "updatedGeography": false,
  "tier": "Enterprise",
  "tier_tag": "ent",
  "activeGeography": {
    "magId": 603039,
    "uuid": "0995faf3-5a20-4e8e-a4ae-3819bc2b37d7",
    "title": "Automated Cyclone SmartAlert Area [ 2024-01-31 07:41:15 GMT ]",
    "createDate": 1706686875411,
    "magType": "Calculated",
    "creator": "d2p2",
    "isActive": true,
    "updateDate": 1706686875411,
    "wkt": {
      "text": "POLYGON((...truncated...))"
    }
  },
  "locationDetails": {
    "version": 2,
    "location_type": "ocean"
  },
  "exposureAssessment": {
    "capital": { "total": { "value": 0 }, "school": { "value": 0 }, "hospital": { "value": 0 } },
    "population": { "total": { "value": 0 }, "vulnerable": { "value": null }, "households": { "value": null } },
    "foodNeeds": { "value": 0 },
    "waterNeeds": { "value": 0 },
    "shelterNeeds": { "value": 0 },
    "wasteNeeds": { "value": 0 },
    "foodNeedsUnit": "MRE",
    "waterNeedsUnit": "gal",
    "shelterNeedsUnit": "sq feet",
    "wasteNeedsUnit": "25 gal",
    "exposureLevels": [
      {
        "level": "1",
        "exposureDescription": "Minor Damage; power out",
        "data": {
          "capital": { "total": { "value": 0 }, "school": { "value": 0 }, "hospital": { "value": 0 } },
          "population": { "total": { "value": 0 }, "vulnerable": { "value": null }, "households": { "value": null } },
          "foodNeeds": { "value": 0 },
          "waterNeeds": { "value": 0 },
          "shelterNeeds": { "value": 0 },
          "wasteNeeds": { "value": 0 },
          "foodNeedsUnit": "MRE",
          "waterNeedsUnit": "gal",
          "shelterNeedsUnit": "sq feet",
          "wasteNeedsUnit": "25 gal"
        }
      },
      {
        "level": "2",
        "exposureDescription": "Moderate Damage; 5% of value",
        "data": {
          "capital": { "total": { "value": 0 }, "school": { "value": 0 }, "hospital": { "value": 0 } },
          "population": { "total": { "value": 0 }, "vulnerable": { "value": null }, "households": { "value": null } },
          "foodNeeds": { "value": 0 },
          "waterNeeds": { "value": 0 },
          "shelterNeeds": { "value": 0 },
          "wasteNeeds": { "value": 0 },
          "foodNeedsUnit": "MRE",
          "waterNeedsUnit": "gal",
          "shelterNeedsUnit": "sq feet",
          "wasteNeedsUnit": "25 gal"
        }
      }
    ],
    "hazardUuid": "0fe8702d-15c5-4047-9a8a-776f7ed17cde",
    "hazardType": "CYCLONE",
    "version": "1",
    "timestamp": "1706688881.2667491",
    "exposureDescription": "TAOS Wind Impact (Minor Damage and above)"
  },
  "cycloneAssessment": {
    "ibtracs_sid": "2024012S09093",
    "storm_name": "ANGGREK",
    "season": 2024,
    "basin": "SI",
    "basin_name": "South Indian",
    "max_wind_kts": 115.0,
    "max_wind_kmh": 213,
    "min_pressure_mb": 948.0,
    "max_category": 4,
    "max_category_name": "Category 4",
    "duration_hours": 504,
    "track_points_count": 169,
    "track_length_km": 8438,
    "landfalls": 0,
    "hours_at_hurricane_force": 420,
    "hours_at_major_hurricane": 156,
    "source": "IBTrACS v04r01 (NOAA/NCEI)"
  },
  "cycloneDetails": {
    "ibtracs_sid": "2024012S09093",
    "track": [
      {
        "time": "2024-01-11 12:00:00",
        "lat": -8.6,
        "lon": 93.1,
        "wind_kts": 20.0,
        "pressure_mb": 1009.0,
        "wind_radii": {},
        "nature": "DS",
        "usa_status": "DB",
        "dist2land_km": 1005.0,
        "landfall_km": 1005.0
      },
      {
        "time": "2024-01-15 06:00:00",
        "lat": -9.3,
        "lon": 93.3,
        "wind_kts": 35.0,
        "pressure_mb": 1001.0,
        "wind_radii": {
          "34": {
            "NE": 20,
            "SE": 45,
            "SW": 45,
            "NW": 20
          }
        },
        "nature": "TS",
        "usa_status": "TS",
        "dist2land_km": 1053.0,
        "landfall_km": 1043.0
      },
      // ... 165 additional track points omitted ...
      {
        "time": "2024-01-28 18:00:00",
        "lat": -21.7,
        "lon": 73.1,
        "wind_kts": 115.0,
        "pressure_mb": 950.0,
        "wind_radii": {
          "34": {
            "NE": 60,
            "SE": 75,
            "SW": 70,
            "NW": 60
          },
          "50": {
            "NE": 35,
            "SE": 40,
            "SW": 50,
            "NW": 40
          },
          "64": {
            "NE": 25,
            "SE": 20,
            "SW": 30,
            "NW": 25
          }
        },
        "nature": "TS",
        "usa_status": "TY",
        "dist2land_km": 1604.0,
        "landfall_km": 1545.0
      },
      {
        "time": "2024-02-01 12:00:00",
        "lat": -46.5,
        "lon": 106.6,
        "wind_kts": null,
        "pressure_mb": null,
        "wind_radii": {},
        "nature": "ET",
        "usa_status": "",
        "dist2land_km": 1518.0,
        "landfall_km": null
      }
    ]
  }
}
```

{% hint style="info" %}
In this sample, the `activeGeography` WKT polygon has been truncated for brevity. In actual responses, this contains the full polygon geometry. The `cycloneDetails.track` array has been reduced to four representative points (storm origin, tropical storm onset, peak intensity, and extratropical transition) -- the full track contains 169 points at roughly 3-hour intervals.
{% endhint %}


# Enhanced Historical Tornado Sample

This page provides a complete sample response for an enhanced historical tornado hazard with full NWS enhancement pipeline data. Enhanced historical tornado hazards include post-event analysis aggregated from multiple NWS data sources: Damage Assessment Toolkit (DAT) surveys with EF-scale ratings and tornado path geometries, Storm Prediction Center (SPC) storm reports, and Local Storm Reports (LSR) from NWS field offices.

This sample represents the **March 15, 2025 Jackson, MS tornado outbreak** (Tornado Watch 44) — a multi-state EF4 outbreak with 21 matched NWS tornado warning events, 23 LSRs, 12 SPC reports, 987 DAT survey points, 28 DAT tornado paths, 166 injuries, and 13 fatalities.

{% hint style="warning" %}
**Schema difference:** This response uses the legacy DAE hazard schema, not the V2 API format. Key structural differences include:

* Top-level fields use `snake_Case` naming (e.g., `hazard_ID`, `type_ID`, `create_Date`) instead of camelCase
* Tornado-specific data is in `tornadoAssessment` and `tornadoDetails` (not `incident.properties`)
* Exposure assessment values are wrapped in `{value: ...}` objects
* Smart alert geometry is in `activeGeography` (not `alertGeometry`)
* Location metadata is in `locationDetails` (not present in V2)
* There is no `incident` wrapper object
  {% endhint %}

## Tornado Assessment (Enhanced Summary)

The `tornadoAssessment` object provides a high-level summary of the NWS enhancement pipeline results for this tornado watch event. It aggregates totals across all matched tornado warning events and indicates the confirmation status.

**Properties:**

| Property           | Type    | Description                                                                                                 |
| ------------------ | ------- | ----------------------------------------------------------------------------------------------------------- |
| `match_status`     | string  | How this hazard was matched to NWS warnings: `EXACT`, `WATCH_MATCH`, `PROBABLE`, `UNMATCHED`, or `GAP_FILL` |
| `touchdown_status` | string  | Confirmation status: `CONFIRMED_TOUCHDOWN`, `WARNING_ONLY`, or `ENHANCED_WARNING`                           |
| `source`           | string  | Attribution string for the enhancement source                                                               |
| `nws_event_key`    | array   | NWS event keys matched to this hazard (format: `{WFO}_{date}_{ETN}`)                                        |
| `max_ef_rating`    | string  | Maximum EF-scale rating across all matched events (e.g., `EF0`–`EF5`, or `null`)                            |
| `total_injuries`   | integer | Total injuries across all matched events                                                                    |
| `total_fatalities` | integer | Total fatalities across all matched events                                                                  |
| `total_warnings`   | integer | Number of tornado warnings matched                                                                          |
| `total_lsr`        | integer | Total unique Local Storm Reports collected                                                                  |
| `total_dat_points` | integer | Total unique NWS DAT survey points                                                                          |
| `total_dat_paths`  | integer | Total unique NWS DAT tornado paths                                                                          |

### Match Status Values

| Value         | Meaning                                                                                       |
| ------------- | --------------------------------------------------------------------------------------------- |
| `EXACT`       | Warning-level DAE hazard matched 1:1 to a single NWS tornado warning by WFO, year, and ETN    |
| `WATCH_MATCH` | Watch-level DAE hazard matched to multiple NWS warnings by WFO + spatial/temporal correlation |
| `PROBABLE`    | Match made but with lower confidence (manual review may be appropriate)                       |
| `UNMATCHED`   | No NWS warning correlated to this hazard                                                      |
| `GAP_FILL`    | Backfill record created from NWS data for a tornado not originally tracked in DisasterAWARE   |

### Touchdown Status Values

| Value                 | Meaning                                                                                     |
| --------------------- | ------------------------------------------------------------------------------------------- |
| `CONFIRMED_TOUCHDOWN` | NWS post-event survey (DAT points/paths or LSRs) confirms a tornado touched down            |
| `WARNING_ONLY`        | A warning was issued but no tornado touchdown was subsequently confirmed                    |
| `ENHANCED_WARNING`    | Warning included enhanced wording (e.g., "confirmed large and extremely dangerous tornado") |

## Tornado Details (Enhanced Detail Data)

The `tornadoDetails` object uses a **deduplicated layout**: unique NWS records are stored once in top-level arrays, and each `pipeline_events[*]` entry references them by id or index. This avoids duplicating survey points or LSRs across events in large outbreaks where many warnings share the same storm reports.

**Top-level keys:**

| Key                   | Type   | Description                                                               |
| --------------------- | ------ | ------------------------------------------------------------------------- |
| `match_details`       | object | How the original hazard was matched to NWS tornado warning events         |
| `pipeline_events`     | array  | One entry per matched tornado warning; references the shared arrays below |
| `local_storm_reports` | array  | Unique NWS Local Storm Reports across all matched events                  |
| `spc_reports`         | array  | Unique Storm Prediction Center reports across all matched events          |
| `dat_points`          | array  | Unique NWS Damage Assessment Toolkit survey points                        |
| `dat_paths`           | array  | Unique NWS Damage Assessment Toolkit tornado paths                        |

### Match Details

The `match_details` object documents how the original tornado hazard was correlated to individual NWS tornado warning events.

| Property         | Type   | Description                                                                                                           |
| ---------------- | ------ | --------------------------------------------------------------------------------------------------------------------- |
| `parsed_entries` | array  | Parsed watch or warning metadata: WFO code, year, plus `etn` (for warning matches) or `watch_etn` (for watch matches) |
| `matched_keys`   | array  | NWS event keys that matched this hazard                                                                               |
| `confidence`     | string | Match confidence level (e.g., `EXACT`, `PROBABLE`)                                                                    |
| `reason`         | string | Human-readable explanation of the matching method (present for non-EXACT matches)                                     |

### Pipeline Events

Each entry in the `pipeline_events` array represents one matched NWS tornado warning event. Instead of embedding the LSRs, SPC reports, and DAT records inline, the event references them by id (for DAT records) or array index (for LSRs and SPC reports) into the top-level arrays.

| Property           | Type              | Description                                                                              |
| ------------------ | ----------------- | ---------------------------------------------------------------------------------------- |
| `event_key`        | string            | Unique event identifier: `{WFO}_{date}_{ETN}`                                            |
| `wfo`              | string            | NWS Weather Forecast Office code                                                         |
| `event_date`       | string            | Date of the event (ISO date)                                                             |
| `max_ef_rating`    | string            | Maximum EF-scale rating for this specific event                                          |
| `first_seen_utc`   | string            | When this event was first ingested (ISO 8601)                                            |
| `last_updated_utc` | string            | When this event was last updated (ISO 8601)                                              |
| `pipeline_version` | string            | Version of the enhancement pipeline                                                      |
| `warnings`         | array             | NWS tornado warnings for this event (embedded)                                           |
| `match_notes`      | string            | Additional notes on the match (nullable)                                                 |
| `dat_point_ids`    | array of integers | DAT point `objectid` values that apply to this event (look up in top-level `dat_points`) |
| `dat_path_ids`     | array of integers | DAT path `objectid` values that apply to this event (look up in top-level `dat_paths`)   |
| `lsr_indices`      | array of integers | Array indices into top-level `local_storm_reports`                                       |
| `spc_indices`      | array of integers | Array indices into top-level `spc_reports`                                               |

{% hint style="info" %}
**Resolving references:** To get the DAT points for a given pipeline event, look up each `objectid` in `dat_point_ids` against `tornadoDetails.dat_points[*].objectid`. LSRs and SPC reports are referenced by array index rather than id.
{% endhint %}

### Warnings

Each entry in a pipeline event's `warnings` array represents an NWS tornado (or associated severe thunderstorm) warning.

| Property            | Type   | Description                                                           |
| ------------------- | ------ | --------------------------------------------------------------------- |
| `source`            | string | Data source (e.g., `IEM Archive`)                                     |
| `warning_type`      | string | Warning type (e.g., `Tornado Warning`, `Severe Thunderstorm Warning`) |
| `alert_id`          | string | Alert identifier                                                      |
| `wfo`               | string | Issuing Weather Forecast Office                                       |
| `vtec`              | string | VTEC (Valid Time Event Code) string                                   |
| `etn`               | string | Event Tracking Number                                                 |
| `issued_utc`        | string | Warning issue time (ISO 8601)                                         |
| `onset_utc`         | string | Warning onset time (ISO 8601)                                         |
| `expires_utc`       | string | Warning expiration time (ISO 8601)                                    |
| `tornado_detection` | string | Detection method (nullable)                                           |
| `storm_motion`      | string | Storm motion vector (nullable)                                        |
| `area_desc`         | string | Affected area description (counties/parishes by state)                |
| `polygon`           | object | GeoJSON MultiPolygon of the warning area                              |

### Local Storm Reports (LSR)

Each entry in the top-level `local_storm_reports` array represents an NWS field report. For the sample outbreak, `report_source` values include `NWS Storm Survey`, `Emergency Mngr`, `Trained Spotter`, `Storm Chaser`, `Public`, `Law Enforcement`, `Local Official`, `NWS Employee`, `Official NWS Obs`, and `Broadcast Media`.

| Property         | Type   | Description                                                                                    |
| ---------------- | ------ | ---------------------------------------------------------------------------------------------- |
| `source`         | string | Data source (e.g., `IEM LSR`)                                                                  |
| `event_time_utc` | string | Time of the reported event (ISO 8601)                                                          |
| `filed_utc`      | string | Time the report was filed (ISO 8601)                                                           |
| `lat`            | number | Latitude of the report                                                                         |
| `lon`            | number | Longitude of the report                                                                        |
| `wfo`            | string | Reporting Weather Forecast Office                                                              |
| `city`           | string | Nearest city or landmark                                                                       |
| `county`         | string | County name                                                                                    |
| `state`          | string | State abbreviation                                                                             |
| `report_source`  | string | Source of the report (e.g., `NWS Storm Survey`, `Emergency Mngr`, `Trained Spotter`)           |
| `magnitude`      | number | Magnitude value (nullable for tornadoes)                                                       |
| `remark`         | string | Free-text description of observed damage or event — may be multi-paragraph NWS survey findings |

### SPC Storm Reports

Each entry in the top-level `spc_reports` array represents a Storm Prediction Center report.

| Property   | Type   | Description                                                                    |
| ---------- | ------ | ------------------------------------------------------------------------------ |
| `source`   | string | Data source (e.g., `SPC Storm Reports`)                                        |
| `time_str` | string | Report time as 4-digit UTC string (e.g., `1517`)                               |
| `f_scale`  | string | Fujita/EF-scale rating (e.g., `EF2`, `UNK`)                                    |
| `lat`      | number | Latitude of the report                                                         |
| `lon`      | number | Longitude of the report                                                        |
| `location` | string | Location description                                                           |
| `county`   | string | County name                                                                    |
| `state`    | string | State abbreviation                                                             |
| `comments` | string | Report comments, often including injury/fatality counts and NWS survey results |

### DAT Points

Each entry in the top-level `dat_points` array represents an individual NWS Damage Assessment Toolkit survey point.

| Property      | Type    | Description                                                                                     |
| ------------- | ------- | ----------------------------------------------------------------------------------------------- |
| `source`      | string  | Data source (always `NWS DAT`)                                                                  |
| `layer`       | string  | DAT layer type (always `points`)                                                                |
| `objectid`    | integer | DAT object identifier — referenced by `pipeline_events[*].dat_point_ids`                        |
| `ef_scale`    | string  | EF-scale rating at this point (e.g., `EF0`–`EF5`, or `TSTM/Wind` for straight-line wind damage) |
| `lat`         | number  | Latitude of the survey point                                                                    |
| `lon`         | number  | Longitude of the survey point                                                                   |
| `wfo`         | string  | Surveying Weather Forecast Office                                                               |
| `storm_date`  | string  | Date/time of the storm (UTC)                                                                    |
| `survey_date` | string  | Date/time of the damage survey (UTC)                                                            |
| `comments`    | string  | Survey comments (nullable; present on a subset of points)                                       |

### DAT Paths

Each entry in the top-level `dat_paths` array represents an NWS DAT tornado path with geometry, dimensions, EF-scale, and casualty data.

| Property         | Type    | Description                                                             |
| ---------------- | ------- | ----------------------------------------------------------------------- |
| `source`         | string  | Data source (always `NWS DAT`)                                          |
| `layer`          | string  | DAT layer type (always `line`)                                          |
| `objectid`       | integer | DAT object identifier — referenced by `pipeline_events[*].dat_path_ids` |
| `ef_scale`       | string  | EF-scale rating for this path segment                                   |
| `path_length_mi` | number  | Tornado path length in miles                                            |
| `path_width_yd`  | number  | Maximum tornado path width in yards                                     |
| `injuries`       | integer | Injuries along this path                                                |
| `fatalities`     | integer | Fatalities along this path                                              |
| `wfo`            | string  | Surveying Weather Forecast Office                                       |
| `storm_date`     | string  | Date/time of the storm (UTC)                                            |
| `published_utc`  | string  | Date/time the path was published (UTC)                                  |
| `path_guid`      | string  | Unique path identifier (nullable)                                       |
| `geometry`       | object  | GeoJSON LineString geometry of the tornado path                         |

## Legacy Hazard Field Reference

**Top-level hazard fields:**

| Field                    | Type    | Description                                                           |
| ------------------------ | ------- | --------------------------------------------------------------------- |
| `hazard_ID`              | integer | Unique hazard identifier                                              |
| `uuid`                   | string  | UUID for the hazard                                                   |
| `hazard_Name`            | string  | Full hazard title including location                                  |
| `type_ID`                | string  | Hazard type (e.g., `TORNADO`)                                         |
| `category_ID`            | string  | Category classification (e.g., `EVENT`)                               |
| `severity_ID`            | string  | Severity level (e.g., `WATCH`, `WARNING`)                             |
| `status`                 | string  | Active status (`A` = active)                                          |
| `latitude` / `longitude` | number  | Event coordinates                                                     |
| `start_Date`             | string  | Event start time in epoch milliseconds                                |
| `end_Date`               | string  | Event end time in epoch milliseconds                                  |
| `create_Date`            | string  | Record creation time in epoch milliseconds                            |
| `last_Update`            | string  | Last update time in epoch milliseconds                                |
| `update_Date`            | string  | Record update time in epoch milliseconds                              |
| `eaTimestamp`            | string  | Exposure assessment computation timestamp (epoch seconds, fractional) |
| `creator`                | string  | System or user that created the record                                |
| `update_User`            | string  | System or user that last updated the record                           |
| `comment_Text`           | string  | Internal comment (e.g., NWS watch identifier)                         |
| `description`            | string  | Human-readable event description                                      |
| `autoexpire`             | string  | Whether the hazard auto-expires (`Y`/`N`)                             |
| `snc_url`                | string  | URL to the Hazard Brief page                                          |
| `message_ID`             | string  | Internal message identifier                                           |
| `product_total`          | integer | Number of associated products                                         |
| `tier`                   | string  | Access tier (e.g., `Enterprise`)                                      |
| `tier_tag`               | string  | Short tier code (e.g., `ent`)                                         |
| `master_Incident_ID`     | string  | Internal incident tracking ID                                         |
| `org_ID`                 | integer | Organization ID (-1 for system-generated)                             |
| `app_ID`                 | integer | Application ID                                                        |
| `in_Dashboard`           | string  | Dashboard visibility flag                                             |
| `locationDetails`        | object  | Structured location metadata (country, state, county, FIPS)           |
| `activeGeography`        | object  | Smart alert area geometry with WKT polygon                            |
| `exposureAssessment`     | object  | Structured exposure data with nested value objects                    |
| `tornadoAssessment`      | object  | NWS enhancement pipeline summary                                      |
| `tornadoDetails`         | object  | Full NWS enhancement pipeline detail data                             |

## Sample Response

```json
{
  "app_ID": 0,
  "app_IDs": "",
  "autoexpire": "Y",
  "category_ID": "EVENT",
  "charter_Uri": "",
  "comment_Text": "TORNADO-WATCH-2025-44-KJAN",
  "create_Date": "1742036494877",
  "creator": "DisasterAWARE (Automated)",
  "end_Date": "1742061600000",
  "glide_Uri": "",
  "hazard_ID": 297038,
  "hazard_Name": "Tornado - Jackson, MS WFO Region, US",
  "last_Update": "1742053828870",
  "latitude": 33.2071,
  "longitude": -91.2994,
  "master_Incident_ID": "1051.562597.1424037.1",
  "message_ID": "1027.1742052935354",
  "org_ID": -1,
  "severity_ID": "WATCH",
  "snc_url": "https://hazardbrief.pdc.org/PRODUCTION/ui/index.html?uuid=ac6cd12b-0594-47c7-940b-8aa22d716d38",
  "start_Date": "1742036280000",
  "status": "A",
  "type_ID": "TORNADO",
  "update_Date": "1742053102031",
  "update_User": null,
  "product_total": "4",
  "uuid": "ac6cd12b-0594-47c7-940b-8aa22d716d38",
  "in_Dashboard": "",
  "areabrief_url": null,
  "description": "Latest NWS Summary\nWeather Forecast Office: Jackson, MS (KJAN)\nEvent Tracking Number: 44\n\nTORNADO WATCH 44 REMAINS VALID UNTIL 1 PM CDT THIS AFTERNOON FOR THE FOLLOWING AREAS\n\nIN ARKANSAS THIS WATCH INCLUDES 2 COUNTIES\n\nIN SOUTHEAST ARKANSAS\n\nASHLEY                CHICOT\n\nIN LOUISIANA THIS WATCH INCLUDES 3 PARISHES\n\nIN NORTHEAST LOUISIANA\n\nMOREHOUSE             RICHLAND              WEST CARROLL\n\nIN MISSISSIPPI THIS WATCH INCLUDES 3 COUNTIES\n\nIN NORTHWEST MISSISSIPPI\n\nBOLIVAR               SUNFLOWER             WASHINGTON\n\nTHIS INCLUDES THE CITIES OF BASTROP, CLEVELAND, CROSSETT, DELHI,\nDERMOTT, EPPS, EUDORA, GREENVILLE, HAMBURG, INDIANOLA,\nLAKE VILLAGE, NORTH CROSSETT, OAK GROVE, RAYVILLE, RULEVILLE,\nAND WEST CROSSETT.",
  "roles": [],
  "tier": "Enterprise",
  "tier_tag": "ent",
  "activeGeography": {
    "magId": 881180,
    "uuid": "bd0ba925-ceae-489a-ac52-1c36db98899a",
    "title": "Automated Tornado SmartAlert Area [ 2025-03-15 15:39:19 GMT ]",
    "createDate": 1742053159267,
    "magType": "Calculated",
    "creator": "d2p2",
    "isActive": true,
    "updateDate": 1742053159267,
    "wkt": {
      "text": "POLYGON((-91.2394 30.0325, ...truncated... -91.2394 30.0325))"
    }
  },
  "updatedGeography": false,
  "locationDetails": {
    "version": 2,
    "country": "United States of America",
    "country_code": "US",
    "country_code_3": "USA",
    "continent": "North America",
    "subregion": "Northern America",
    "state_province": "Arkansas",
    "state_code": "US-AR",
    "county": "Chicot",
    "fips": "05017",
    "location_type": "land"
  },
  "exposureAssessment": {
    "capital": {
      "total": { "value": 48736827500.0 },
      "school": { "value": 276 },
      "hospital": { "value": 31 }
    },
    "foodNeeds": { "value": 103400 },
    "wasteNeedsUnit": "25 gal",
    "hazardUuid": "ac6cd12b-0594-47c7-940b-8aa22d716d38",
    "hazardType": "TORNADO",
    "version": "1",
    "population": {
      "total": { "value": 431000 },
      "vulnerable": { "value": 51700 },
      "households": { "value": 173092.36948 }
    },
    "exposureDescription": "NWS Tornado Alert",
    "waterNeeds": { "value": 40972.25 },
    "shelterNeeds": { "value": 593516 },
    "waterNeedsUnit": "gal",
    "shelterNeedsUnit": "sq feet",
    "wasteNeeds": { "value": 5170 },
    "foodNeedsUnit": "MRE",
    "timestamp": "1742038147.7132146"
  },
  "eaTimestamp": "1742038147.7132146",
  "tornadoAssessment": {
    "match_status": "WATCH_MATCH",
    "touchdown_status": "CONFIRMED_TOUCHDOWN",
    "source": "DisasterAWARE + NWS Enhancement (Watch→Warning match)",
    "nws_event_key": [
      "JAN_2025-03-15_0084",
      "JAN_2025-03-15_0085",
      "JAN_2025-03-15_0086",
      "JAN_2025-03-15_0087",
      "JAN_2025-03-15_0088",
      "JAN_2025-03-15_0089",
      "JAN_2025-03-15_0090",
      "JAN_2025-03-15_0003",
      "JAN_2025-03-15_0091",
      "JAN_2025-03-15_0004",
      "JAN_2025-03-15_0092",
      "JAN_2025-03-15_0093",
      "JAN_2025-03-15_0094",
      "JAN_2025-03-15_0095",
      "JAN_2025-03-15_0096",
      "JAN_2025-03-15_0097",
      "JAN_2025-03-15_0040",
      "JAN_2025-03-15_0041",
      "JAN_2025-03-15_0100",
      "JAN_2025-03-15_0043",
      "JAN_2025-03-15_0005"
    ],
    "max_ef_rating": "EF4",
    "total_injuries": 166,
    "total_fatalities": 13,
    "total_warnings": 21,
    "total_lsr": 23,
    "total_dat_points": 987,
    "total_dat_paths": 28
  },
  "tornadoDetails": {
    "match_details": {
      "parsed_entries": [
        { "wfo": "JAN", "watch_etn": "44", "year": 2025 }
      ],
      "matched_keys": [
        "JAN_2025-03-15_0084",
        "JAN_2025-03-15_0085",
        "... 19 additional matched keys omitted ..."
      ],
      "confidence": "PROBABLE",
      "reason": "WATCH record matched to TOR warnings by WFO + spatial/temporal"
    },
    "dat_points": [
      {
        "source": "NWS DAT",
        "layer": "points",
        "objectid": 4359669,
        "ef_scale": "EF1",
        "lat": 33.39915,
        "lon": -90.24998,
        "wfo": "JAN",
        "storm_date": "2025-03-15 04:14 UTC",
        "survey_date": "2025-03-16 18:15 UTC",
        "comments": null
      }
    ],
    "dat_paths": [
      {
        "source": "NWS DAT",
        "layer": "line",
        "objectid": 2328497,
        "ef_scale": "EF2",
        "path_length_mi": 19.6871,
        "path_width_yd": 1600.0,
        "injuries": 0,
        "fatalities": 0,
        "wfo": "JAN",
        "storm_date": "2025-03-15 15:22 UTC",
        "published_utc": "2025-03-17 00:25 UTC",
        "path_guid": null,
        "geometry": {
          "type": "LineString",
          "coordinates": [...]
        }
      }
    ],
    "local_storm_reports": [
      {
        "source": "IEM LSR",
        "event_time_utc": "2025-03-15T15:28:00+00:00",
        "filed_utc": "2025-03-15T16:13:00+00:00",
        "lat": 32.97,
        "lon": -90.99,
        "wfo": "JAN",
        "city": "3 SW Grace",
        "county": "Issaquena",
        "state": "MS",
        "report_source": "Emergency Mngr",
        "magnitude": null,
        "remark": "Sharkey County EMA reports houses damaged and power lines down near Grace with an ambulance in route for possible injuries."
      }
    ],
    "spc_reports": [
      {
        "source": "SPC Storm Reports",
        "time_str": "1517",
        "f_scale": "UNK",
        "lat": 32.92,
        "lon": -91.05,
        "location": "2 N Mayersville",
        "county": "Issaquena",
        "state": "MS",
        "comments": "Large number of softwood small trees snapped. via twitter picture. (JAN)"
      }
    ],
    "pipeline_events": [
      {
        "event_key": "JAN_2025-03-15_0084",
        "wfo": "JAN",
        "event_date": "2025-03-15",
        "max_ef_rating": "EF4",
        "first_seen_utc": "2026-04-17T07:54:54.011075+00:00",
        "last_updated_utc": "2026-04-17T07:54:54.278522+00:00",
        "pipeline_version": "1.0",
        "warnings": [
          {
            "source": "IEM Archive",
            "warning_type": "Tornado Warning",
            "alert_id": "IEM-JAN-TO-84-20250315",
            "wfo": "JAN",
            "vtec": "/O.NEW.KJAN.TO.W.0084./",
            "etn": "0084",
            "issued_utc": "2025-03-15T11:04:00+00:00",
            "onset_utc": "2025-03-15T11:04:00+00:00",
            "expires_utc": "2025-03-15T12:00:00+00:00",
            "tornado_detection": null,
            "storm_motion": null,
            "area_desc": "Ashley [AR], Chicot [AR], Morehouse [LA], Washington [MS]",
            "polygon": {
              "type": "MultiPolygon",
              "coordinates": [...]
            }
          }
        ],
        "match_notes": null,
        "dat_point_ids": [4359669, 4359678, 4359685, 4359688, 4359696, "... 971 additional DAT point ids omitted ..."],
        "dat_path_ids": [2328497, 2328511, 2328543, 2328544, 2328546, "... 10 additional DAT path ids omitted ..."],
        "lsr_indices": [0, 1, 2, 3, 4, "... 17 additional LSR indices omitted ..."],
        "spc_indices": []
      }
    ]
  }
}
```

{% hint style="info" %}
This sample shows one complete `pipeline_event` (event key `JAN_2025-03-15_0084`) with reference arrays truncated to show only the first 5 ids/indices. The full response for this hazard contains 21 pipeline events. One representative record is shown for each of the top-level shared arrays; the full response contains 23 LSRs, 12 SPC reports, 987 DAT points, and 28 DAT paths. Coordinate arrays and the `activeGeography.wkt.text` polygon string have been truncated with `[...]` and `...truncated...`.
{% endhint %}


# Requesting OSINT Hazards

OSINT hazards are hazard events detected through proprietary processing of open-source intelligence — news articles, social network feeds, and other authoritative sources of information. Where the hazards returned by [Requesting Active Hazards](/hazards/requesting-active-hazards) originate from a single authoritative reporting agency (USGS for earthquakes, NHC for cyclones, and so on), OSINT hazards are detected by analysing and correlating open reporting, then resolving each event to a specific location and time.

The result is a hazard feed covering event types that authoritative agencies do not routinely publish as structured hazard data — civil unrest, combat, terrorism, active-shooter incidents, and infrastructure and transport disruptions — alongside floods reported in the press.

To request the list of current active OSINT hazards please use the route defined here:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/osint-hazards-query" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

{% hint style="warning" %}
**This endpoint requires a specific role on your credentials.** It is not enabled by default, and credentials that work against the other hazard endpoints will not necessarily work here.

If your token is valid elsewhere but this endpoint returns `403 Forbidden`, your credentials are missing the required role. Contact your sales contact or <support@disasteraware.com> to have it added.
{% endhint %}

{% hint style="info" %}
**Record shape change, September 2026.** OSINT records changed shape in a coordinated cutover: the sub-type moved from a top-level `hazard_sub_type` field to `incident.properties.subType`, `locationDetails` became `location`, several legacy `incident.properties` keys were retired or renamed, and severity is now graded rather than uniformly `WARNING`. This page describes the new shape. A record published before the cutover keeps the old shape until it is next updated, so for a short period both shapes appear in the feed together. Read `incident.properties.subType` and `location`, and fall back to `hazard_sub_type` and `locationDetails` only while the transition lasts.
{% endhint %}

## Response Format

The API returns a **302 redirect** to a pre-signed S3 URL. Follow the `Location` header, then decompress the body: the object is **gzipped NDJSON** (newline-delimited JSON), with one complete hazard object per line.

This is the same pattern used by [Requesting Active Hazards](/hazards/requesting-active-hazards), and it applies to both filtered and unfiltered requests. The pre-signed URL expires after 5 minutes.

## Feed Membership and Expiry

This endpoint returns *active* hazards, so it is worth being precise about how long a hazard stays in the feed and how that relates to the event actually being over. These are three different things, and they are reported by three different fields.

**How long a hazard stays in the feed** depends on whether its end has been determined:

* **The end is known.** The hazard leaves the feed at `endedAt` plus a short linger period — **24 hours** for the discrete-event types (`TERRORISM`, `ACTIVESHOOTER`, `COMBAT`, `INCIDENT`), which are usually only reported after they have concluded, and **6 hours** for `CIVILUNREST` and `FLOOD`. Continued news coverage of an event that has already concluded does not extend its stay in the feed.
* **The end is not known.** The hazard remains until a period passes with no new information about it: **96 hours** for most types, **168 hours** for `COMBAT` (active fronts can go quiet for days without being over), and **24 hours** for `ACTIVESHOOTER`.

{% hint style="warning" %}
**`endedAt` is always the detected end of the event, never the expiry time.** The linger period above is not added to it. Because a hazard can therefore appear in the active feed with an `endedAt` already in the past, decide relevance from `endedAt` rather than from the hazard's presence in the response.
{% endhint %}

The related fields, and what each one actually tells you:

| Field                          | Question it answers                                                                                                                                                                                                                                           |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **endedAt**                    | When did, or will, the event end? `incident.properties.endedAtKind` says which: `observed` or `projected`.                                                                                                                                                    |
| **n2h.is\_ongoing**            | Is the real-world event still unfolding? Independent of feed membership.                                                                                                                                                                                      |
| **incident.properties.status** | The record's lifecycle state. `ACTIVE` for every live record, including one whose end has been detected and that is lingering. `EXPIRED` only on merge tombstones, which always carry `supersededBy` and stay in the feed for about 24 hours after the merge. |

## Hazard Types

OSINT hazards are published under six types.

| Type              | Description                                                                       |
| ----------------- | --------------------------------------------------------------------------------- |
| **CIVILUNREST**   | Protests, strikes, riots, and demonstrations.                                     |
| **FLOOD**         | Flood events reported in open sources.                                            |
| **COMBAT**        | Military strikes and operations against military or state targets.                |
| **TERRORISM**     | Attacks on civilian targets by non-state actors.                                  |
| **ACTIVESHOOTER** | Active-shooter incidents.                                                         |
| **INCIDENT**      | Infrastructure and transport disruptions — roads, rail, power, water, industrial. |

Every OSINT hazard represents an observed event, so records are published with a `category` of `EVENT`. Severity is graded per record; see [Severity](#severity).

### Severity

OSINT hazards carry one of three severity tiers. They are the same values used by every other endpoint (see [Requesting Hazard Severities](/hazards/requesting-active-hazards/requesting-hazard-severities)); OSINT simply never emits `INFORMATION`.

| Tier         | Meaning                                                                                                     |
| ------------ | ----------------------------------------------------------------------------------------------------------- |
| **WARNING**  | Confirmed life or property impact, or a magnitude at which protective action is expected near the geometry. |
| **WATCH**    | Significant or growing; credible threat indicators without confirmed major impact.                          |
| **ADVISORY** | A real event with minor or contained impact; situational awareness only.                                    |

The tier is computed in two deterministic layers. A **magnitude rule** per type turns the event's reported figures and sub-type into a base tier. A shared **confidence cap** can then demote that tier — never promote it — when the location is uncertain. A large event on a shaky location still surfaces, but it will not carry `WARNING` on a polygon that has not been verified, and `ADVISORY` is the floor: a real event is never hidden for confidence reasons. Because both layers are recomputed every time new reporting arrives, the tier moves in both directions: an event that grows crosses from `WATCH` to `WARNING`, and a casualty correction can lower a tier. Tier changes are ordinary updates and bump `updatedAt`. Records that have left the feed keep their last computed tier.

#### Magnitude rules by type

The thresholds below are indicative and subject to tuning. Unobserved figures count as zero — an absent casualty count is not evidence of casualties.

| Type              | `WARNING`                                                                                                                                  | `WATCH`                                                                                            | `ADVISORY`                                                                                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **FLOOD**         | Any deaths, 100+ evacuees, 100+ homes flooded, or damage of $10M+                                                                          | Injuries, rescues, any evacuees or flooded homes, depth of 2 ft+, or 3+ roads closed               | Street ponding or rain coverage with no human-impact figures                                                                                                           |
| **COMBAT**        | Any deaths, 5+ wounded, buildings destroyed, displacement, territory captured, or the `INVASION` sub-type                                  | 1–4 wounded, buildings damaged, or ordnance that got through defences with no casualty figures yet | Fully intercepted barrages and strikes with zero reported impact. The record's description states "intercepted" or "no reported impact" whenever this drives the tier. |
| **TERRORISM**     | Any deaths, hostages, or 5+ injuries                                                                                                       | 1–4 injuries, building damage, or an attack disrupted in progress                                  | Failed or thwarted, no casualties, no damage                                                                                                                           |
| **CIVILUNREST**   | Any deaths, 10+ injuries, or a `RIOT` with 50+ arrests                                                                                     | `RIOT` sub-type, any injuries or arrests, or 5,000+ participants                                   | Peaceful protest or strike. **Never reaches `WARNING` on size alone.**                                                                                                 |
| **ACTIVESHOOTER** | Any deaths, injuries or hostages, **or the situation is unresolved** (no suspect yet killed or arrested), even at zero reported casualties | Resolved with nobody hit                                                                           | Shots-fired reports, no injuries, resolved                                                                                                                             |
| **INCIDENT**      | Deaths, missing persons, 100+ evacuated, or 10,000+ households without power                                                               | Injuries, any evacuation, any household outages                                                    | Closures and disruptions with no human-impact figures                                                                                                                  |

#### Confidence cap

Each rule caps the tier at `WATCH`; the reason is recorded in `severityBasis.capReason`:

| `capReason`                   | When it fires                                                                                                                                                                                                                      |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **location\_level\_region**   | The location resolved only to region level. A region-sized geometry is too coarse for an actionable `WARNING`.                                                                                                                     |
| **geometry\_unverified**      | The independent verification pass could not confirm the geometry **and** the record has fewer than ten contributing articles. Convergent coverage from many articles deliberately overrides a single verification verdict's doubt. |
| **low\_location\_confidence** | Geocode confidence below 0.3 on a location coarser than a point.                                                                                                                                                                   |

Every graded record explains its tier in `incident.properties.severityBasis`, an object with three keys:

| Key           | Meaning                                                                                                                                    |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **base**      | The tier the event's magnitude alone would give it.                                                                                        |
| **cap**       | The tier actually emitted after the confidence cap. Present only when a cap applied.                                                       |
| **capReason** | Why the cap applied: one of `location_level_region`, `geometry_unverified`, or `low_location_confidence`. Present only when a cap applied. |

The `severity` query parameter is therefore a useful filter on this endpoint: `severity=WARNING` returns only confirmed-impact events.

{% hint style="warning" %}
**Phase-in.** The active feed was regraded in one pass on 2026-09-16. The only records without `severityBasis` are merge tombstones (`status: EXPIRED`, carrying `supersededBy`) that were created before that pass; they retain their pre-grading severity (uniform `WARNING`) and leave the feed within about 24 hours, so the ungraded tail disappears on its own and never grows. Every `ACTIVE` record is graded. Treat a record without `severityBasis` as ungraded rather than as confirmed impact. The presence of `severityBasis` is the reliable signal that a tier means what this section says.
{% endhint %}

### Sub-types

The sub-type further classifies the hazard. It lives at **`incident.properties.subType`** and can be filtered with the `sub_type` query parameter. The `n2h.hazard_sub_type` field mirrors it.

The two axes are deliberately independent: **`type` encodes the target or actor class, `subType` encodes the mechanism.** A Russian airstrike on Kyiv is `COMBAT` / `AIRSTRIKE`; a car bomb at a market is `TERRORISM` / `BOMBING`; a workplace shooting is `ACTIVESHOOTER` / `MASS_SHOOTING`. The same mechanism can therefore appear under more than one type — `BOMBING`, `IED` and `MASS_SHOOTING` are all shared.

Values are UPPERCASE, single-valued, and drawn from a closed vocabulary per type. Some types define a **default** (shown in bold) used when reporting does not identify anything more specific, so the field is always present for those types. `FLOOD` has no sub-type vocabulary, and the field is **omitted entirely** on flood records — never an empty string. A sub-type may be refined on a later update as evidence arrives (`BOMBING` becoming `SUICIDE_BOMBING`, for instance).

| Type              | Sub-type values (default in **bold**)                                                                                                                                                        |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **CIVILUNREST**   | **`PROTEST`**, `STRIKE`, `RIOT`                                                                                                                                                              |
| **FLOOD**         | — (field omitted)                                                                                                                                                                            |
| **COMBAT**        | `AIRSTRIKE`, `MISSILESTRIKE`, `DRONESTRIKE`, `BOMBING`, `ARTILLERY`, **`GROUNDCOMBAT`**, `INVASION`, `NAVAL`, `IED`, `AMBUSH`                                                                |
| **TERRORISM**     | `BOMBING`, `SUICIDE_BOMBING`, `IED`, `VEHICLE_RAMMING`, `MASS_SHOOTING`, `KNIFE_ATTACK`, `HOSTAGE`, `ASSASSINATION`, `ARSON`, **`OTHER`**                                                    |
| **ACTIVESHOOTER** | `MASS_SHOOTING`, `DRIVEBY`, `STANDOFF`, `SNIPER`, **`SHOOTING`**, `OTHER`                                                                                                                    |
| **INCIDENT**      | `ROAD_CLOSURE`, `BRIDGE`, `RAIL`, `PIPELINE`, `POWER`, `INDUSTRIAL`, `WATER`, **`OTHER`**                                                                                                    |
| *WILDFIRE*        | `FOREST`, `BRUSH`, `GRASS`, `URBAN_INTERFACE`, `PRESCRIBED_BURN`, `ESCAPED_PRESCRIBED_BURN` — *reserved; OSINT does not currently publish wildfires. No default: omitted when undetermined.* |
| *BIOMEDICAL*      | `SMOKE` — *used by other pipelines; surfaces via the historical archive, not this endpoint.*                                                                                                 |

The same vocabulary is shared with the historical archive, where it is filtered with the same `sub_type` parameter on [`/historical-hazards-query`](/hazards/requesting-historical-hazards).

{% hint style="warning" %}
**There is no `PORT` or `AIRPORT` sub-type.** A strike that shuts a port or an airport is typed by the *event* — a dockworkers' strike is `CIVILUNREST` / `STRIKE`, not an `INCIDENT` / `PORT`. The affected infrastructure is carried by the [supply-chain fields](#supply-chain-fields) instead.

To find port and airport disruptions, read `supplyChainInfrastructure` on each record — do not look for them in `subType`.
{% endhint %}

## Query Parameters

The endpoint accepts the same parameters as `/active-hazards-query` — with the exception of `comment`, which is not supported — plus several parameters specific to OSINT hazards. All parameters are optional; when none are supplied, the full set of active OSINT hazards is returned.

**Inherited from `/active-hazards-query`:** `name`, `type`, `severity`, `category`, `country`, `started_at`, `ended_at`, `created_at`, `updated_at`, `latitude`, `longitude`, and `uuid`. The four timestamp parameters take the format `YYYY-MM-DD HH:MM:SS`; `latitude` and `longitude` take a `min,max` range.

Two of these behave differently here: `country` is considerably more permissive (covered below), and `category` is constant across every OSINT hazard and so makes a poor filter. `severity` is a useful filter now that OSINT records are graded.

### The `country` parameter

The `country` parameter on this endpoint is more flexible than its counterpart on `/active-hazards-query`. It accepts three interchangeable forms, and the form is selected by the **length of the value you supply**:

| Value length         | Matching behaviour                                      | Example                                            |
| -------------------- | ------------------------------------------------------- | -------------------------------------------------- |
| 2 characters         | Exact match on the ISO 3166-1 **alpha-2** country code. | `US`                                               |
| 3 characters         | Exact match on the ISO 3166-1 **alpha-3** country code. | `USA`                                              |
| 4 or more characters | **Substring** match against the full country name.      | `United States` matches `United States of America` |

Because the 4-or-more case is a substring match, you do not have to supply the country's full canonical name. `United States` will match `United States of America`, and `Korea` will match both Korean entries — so use a longer, more specific string when you need to disambiguate. Comma-separated lists are supported, and the forms can be mixed: `country=US,JPN,United Kingdom`.

{% hint style="info" %}
This is a deliberate difference from [Requesting Active Hazards](/hazards/requesting-active-hazards), where the `country` parameter requires the full country name and does not accept ISO codes.
{% endhint %}

### OSINT-specific parameters

| Parameter             | Description                                                                                                                                                                                                                                                      |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **sub\_type**         | Filter by `incident.properties.subType`. Pairs naturally with `type`. Comma-separated list for multiple values; values are case-sensitive UPPERCASE — see [Sub-types](#sub-types). Filtering `FLOOD` by `sub_type` returns nothing, as floods carry no sub-type. |
| **hazard\_sub\_type** | **Deprecated** alias of `sub_type`, kept for clients written before the September 2026 cutover. Identical behaviour. Use `sub_type` in new code.                                                                                                                 |

## Response Fields

Each hazard object follows the same shape as an active hazard, with the additions and exceptions noted below.

| Field                  | Type        | Description                                                                                                                                                                                                                                              |
| ---------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **uuid**               | String      | A unique universal identifier for the hazard. Stable across updates, so it can be used to correlate successive versions of the same event.                                                                                                               |
| **name**               | Array       | An array of objects, each defining the hazard name in a specific locale formatted according to RFC 5646 (e.g., "en" for US English). Each object contains `locale` and `value` keys.                                                                     |
| **description**        | Array       | An array of objects providing localized descriptions of the hazard, including a summary of the event and the publications it was drawn from. Each object contains `locale` (RFC 5646 format) and `value` keys.                                           |
| **severity**           | String      | `ADVISORY`, `WATCH`, or `WARNING`, graded per record and explained by `incident.properties.severityBasis`. See [Severity](#severity).                                                                                                                    |
| **category**           | String      | Always `EVENT` for OSINT hazards. See [Requesting Hazard Categories](/hazards/requesting-active-hazards/requesting-hazard-categories) for the complete reference.                                                                                        |
| **type**               | String      | The hazard type: `CIVILUNREST`, `FLOOD`, `COMBAT`, `TERRORISM`, `ACTIVESHOOTER`, or `INCIDENT`.                                                                                                                                                          |
| **comment**            | String/Null | Optional comment. Currently not populated; reserved for future use.                                                                                                                                                                                      |
| **createdAt**          | Integer     | Unix timestamp (seconds since epoch) indicating when the hazard object was first logged in the system.                                                                                                                                                   |
| **startedAt**          | Integer     | Unix timestamp recording when the underlying event began.                                                                                                                                                                                                |
| **updatedAt**          | Integer     | Unix timestamp capturing the last time the hazard object was updated. As additional reporting arrives, an event's casualty counts, geometry, and summary may all be revised. Use this field with the `updated_at` parameter for incremental polling.     |
| **endedAt**            | Integer     | Unix timestamp of the **detected end** of the event. Never padded — a hazard lingers in the feed briefly after this time, but the value always reports when the event actually concluded. See [Feed Membership and Expiry](#feed-membership-and-expiry). |
| **latitude**           | Float       | Geographic latitude of the event (WGS84 projection).                                                                                                                                                                                                     |
| **longitude**          | Float       | Geographic longitude of the event (WGS84 projection).                                                                                                                                                                                                    |
| **version**            | Integer     | Version counter, incremented each time the hazard object is modified.                                                                                                                                                                                    |
| **creator**            | String      | The system that produced the record.                                                                                                                                                                                                                     |
| **relatedHazards**     | Array       | A placeholder for future use. Currently returns an empty array.                                                                                                                                                                                          |
| **incident**           | Object      | Details of the detected event. Contains **uuid**, **sourceRecordId**, **sourceId**, **type**, and **properties** — a dictionary of flat, query-friendly attributes describing the event. See [Incident Object](#incident-object) below.                  |
| **source**             | Object      | Identifies the detection pipeline that produced the hazard, rather than a reporting agency. The publications an individual hazard was drawn from are listed in `n2h.sources`.                                                                            |
| **location**           | Object      | The administrative hierarchy resolved from the event's coordinates, in the same snake\_case block used by the historical archive. See [Location Block](#location-block). Replaces the pre-cutover `locationDetails`.                                     |
| **n2h**                | Object      | OSINT-specific detail — contributing articles, event-specific counters, and location precision. Present only on OSINT hazards. See [The n2h Object](#the-n2h-object) below.                                                                              |
| **alertGeometry**      | Object      | A GeoJSON FeatureCollection delineating an area for notification purposes, intended to intersect with user areas of interest for early warning. Intentionally larger than the actual impact area.                                                        |
| **features**           | Object      | A GeoJSON FeatureCollection containing an `INCIDENT` point at the event location and a `SMART_ALERT` polygon defining the alert boundary.                                                                                                                |
| **exposureAreas**      | Null        | Not computed for OSINT hazards. Always null.                                                                                                                                                                                                             |
| **exposureAssessment** | Null        | Not computed for OSINT hazards. Always null.                                                                                                                                                                                                             |

{% hint style="info" %}
**Exposure data is not available on this endpoint.** `exposureAreas` and `exposureAssessment` are always null for OSINT hazards. The population and infrastructure exposure modelling described in [Requesting Active Hazards](/hazards/requesting-active-hazards#exposure-assessment) applies to hazards from authoritative agency sources only.
{% endhint %}

## Field Details

### Incident Object

The `incident.properties` object holds a flat set of attributes describing the detected event. Because it is flat and consistently named, it is the most convenient place to read event detail from. Keys are camelCase, with one deliberate exception: the three country fields keep their legacy names because the `country` filter is built on them.

**Identity and classification**

* `subType` — the sub-type; see [Sub-types](#sub-types). Omitted on `FLOOD`.
* `recordOrigin` — where the record came from: always `live` for OSINT (the pipeline emits records as events are detected). Other values in the shared vocabulary, `backfill` and `converted-v1`, identify historical-archive records and never appear on this endpoint.
* `status` — lifecycle state. `ACTIVE` for live records. `EXPIRED` on tombstones, which remain in the feed for about 24 hours so that consumers see the merge rather than a vanished uuid; every `EXPIRED` record in the feed carries `supersededBy`.
* `supersededBy` — present only on a tombstone: when two records are found to describe the same event and are merged, the losing record's final update carries the surviving record's `uuid` here, and its `status` becomes `EXPIRED`. A uuid never silently disappears from the feed. Follow `supersededBy` to the keeper and drop the tombstone.

**Location**

* `Country_Name` — the full country name in canonical form (e.g., `United States of America`)
* `Country_Code` — ISO 3166-1 alpha-2 country code (e.g., `US`)
* `Country_Code_3` — ISO 3166-1 alpha-3 country code (e.g., `USA`)
* `locationDescription` — the place description as written up (e.g., `Amritsar, Punjab, India`)
* `provinceDistrictTown` — the most specific place name resolved for the event

**Timing**

* `eventDate`, `reportDate`, `createdTime` — ISO 8601, `Z` suffix
* `incidentDuration` — duration in days
* `endedAtKind` — present, with the value `projected`, whenever the event is still ongoing and the top-level `endedAt` is the pipeline's projection of when it will age out. **Omitted when the end was observed.** An `endedAt` without `endedAtKind` is therefore a real, reported end. See [Feed Membership and Expiry](#feed-membership-and-expiry).

**Impact**

* `totalFatalities` / `totalWounded`, `civilianFatalities` / `civilianWounded` — casualty counts as reported. **Null when not observed, never `0`.** An absent figure means the reporting did not state one, not that there were none.
* `severityBasis` — the object explaining the record's tier; see [Severity](#severity). Present on every `ACTIVE` record; absent only on pre-cutover tombstones. `cap` and `capReason` appear only when a cap applied.
* Type-specific quantitative figures, mirrored 1:1 from `n2h.quantitative` and keeping their snake\_case names — for example `deaths`, `injuries`, `participants`, `arrests`, `flood_depth_ft`, `homes_flooded`, `roads_closed`, `evacuees`, `damage_estimate_usd`.

**Provenance and text**

* `sourceName` — the publication the record was first raised from
* `incidentType`, `name`, `eventSummary` — human-readable type, title, and short summary
* `rawMessage` — the text of the source article
* `bufferSize` — buffer distance in metres used to build the alert geometry
* `scopeOfIncident`, `action`, `roles`, `featureType`, `type` — platform bookkeeping fields shared with other hazard sources

**Retired or renamed at the September 2026 cutover.** These keys no longer appear on new-shape records. Renamed to camelCase: `Total_Fatalities` → `totalFatalities`, `Total_Wounded` → `totalWounded`, `Civilian_*` likewise, `Event_Summary` → `eventSummary`, `Province_District_Town` → `provinceDistrictTown`, `Incident_Type` → `incidentType`, `Incident_Duration` → `incidentDuration`, `Created_Time` → `createdTime`, `SupplyChain*` → `supplyChain*`, `NamedChokepoint` → `namedChokepoint`, and the COMBAT extras `Aggressor` / `Target` / `Infrastructure_Hit` / `Weapons_Used` → `aggressor` / `target` / `infrastructureHit` / `weaponsUsed`. Removed outright: `Police_Military_*` and `Terrorist_Insurgent_*` (never extracted; were hard-coded to `0`), the JSON-string `casualties` (use the scalar fields), `Incident_Severity` (`H`/`M`/`L`, replaced by graded top-level `severity`), `Scope_of_Incident` (duplicate of `scopeOfIncident`), and `Source` (duplicate of `sourceName`). The quantitative figures in `n2h.quantitative` are unchanged.

{% hint style="warning" %}
The country location fields describe **where the event happened, not who reported it**. They are derived from the event's resolved coordinates, so a strike in Ukraine reported by a newspaper in Hong Kong carries `Country_Code: "UA"`.
{% endhint %}

Additional fields appear depending on the hazard type — for example `aggressor`, `target`, `infrastructureHit` and `weaponsUsed` on COMBAT hazards, or `participants` and `arrests` on CIVILUNREST hazards. These are documented on the individual sample pages.

### Location Block

`location` is the reverse-geocoded administrative context of the event, in the same snake\_case block the historical archive uses (see [Requesting Historical Hazards](/hazards/requesting-historical-hazards#the-full-record)). OSINT populates a subset of that block's keys — its geocoder resolves to admin-1, not admin-2 — and adds `location_type`:

| Key                                            | Meaning                                                                                                                                                                                              |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **admin0**, **admin0\_iso2**, **admin0\_iso3** | Country name and ISO 3166-1 codes. Same values as the `Country_*` properties.                                                                                                                        |
| **admin1**, **admin1\_code**                   | State or province, and its ISO 3166-2 code (e.g., `US-DC`). `admin1_code` is omitted when no code could be resolved; `admin0_iso3` may likewise be absent for a small number of records.             |
| **continent**, **subregion**                   | UN M49 continent and sub-region names.                                                                                                                                                               |
| **location\_type**                             | `land` or `ocean`. A small number of records currently carry a nonconforming value in this key pending a pipeline fix; treat anything other than `land` or `ocean` as unknown.                       |
| **geocode\_fallback**                          | Optional. `true` when the point was placed by the nearest-place fallback (within 50 km) after a polygon miss — the location is right to the named area but not to the exact point. Absent otherwise. |
| **source**                                     | The geocoder that produced the block.                                                                                                                                                                |

The block replaces the pre-cutover `locationDetails` object, which used different key names (`country_code`, `state_province`, and so on). The `Country_*` keys in `incident.properties` are unchanged and remain the contract behind the `country` filter.

### Supply-Chain Fields

When an event physically disrupts the movement of goods, people, or energy through critical infrastructure, `incident.properties` carries an additional set of supply-chain fields. They are how you find port, airport, canal, and chokepoint disruptions — **not** the sub-type, which describes the event rather than the infrastructure. There is no server-side filter for them; filter client-side on `supplyChainImpact`. Before the September 2026 cutover these keys were `SupplyChainImpact`, `SupplyChainInfrastructure`, `SupplyChainDisruptionType` and `NamedChokepoint`.

Each field draws from a controlled vocabulary:

| Field                         | Values                                                                                                                                         |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **supplyChainImpact**         | `true`. The field is **only ever true** — it is absent from hazards that do not disrupt supply chains, rather than being set to false.         |
| **supplyChainInfrastructure** | A comma-joined subset of `PORT`, `AIRPORT`, `RAIL`, `HIGHWAY`, `CANAL`, `STRAIT`, `BORDER`, `OIL_TERMINAL`, `PIPELINE`, `POWER_GRID`.          |
| **supplyChainDisruptionType** | One of `STRIKE`, `CLOSURE`, `DELAYS`, `DAMAGE`, `BLOCKADE`, `SEIZURE`.                                                                         |
| **namedChokepoint**           | One of `HORMUZ`, `SUEZ`, `BAB_EL_MANDEB`, `MALACCA`, `PANAMA`, `BOSPHORUS`, `DARDANELLES`, `TAIWAN_STRAIT`, `ENGLISH_CHANNEL`, `KERCH_STRAIT`. |

Two behaviours are worth knowing when you consume these fields:

* **Impact is sticky.** Once a hazard is marked as supply-chain impacting, later reporting never clears it. A thin follow-up article that does not mention the disruption will not cause the flags to disappear.
* **A named chokepoint changes the geometry.** When `namedChokepoint` is set, the hazard's geometry is snapped to that waterway's polygon rather than being a buffer around a point. Expect `alertGeometry` to follow the shape of the strait or canal.

Because `supplyChainImpact` is absent rather than false when a hazard has no supply-chain dimension, test for the field's presence — do not test it for equality with `false`.

### The n2h Object

The `n2h` object carries the detail specific to open-source detection. It is an extension to the core hazard shape and appears only on OSINT hazards.

| Field                         | Type             | Description                                                                                                                                                                                                                                                                                                          |
| ----------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **hazard\_id**                | String           | A human-readable identifier for the event (e.g., `COMBAT-UKR-KYIV-2026-07`).                                                                                                                                                                                                                                         |
| **hazard\_sub\_type**         | String           | Internal mirror of `incident.properties.subType`. May be an empty string where the properties key is omitted; prefer the properties key.                                                                                                                                                                             |
| **superseded\_by**            | String           | On a tombstone, the surviving record's uuid. Mirror of `incident.properties.supersededBy`.                                                                                                                                                                                                                           |
| **location\_details**         | Object           | The raw geocoder output the `location` block was built from. Prefer `location`.                                                                                                                                                                                                                                      |
| **enhancedAt** / **enhancer** | Integer / String | When the block was last computed (epoch seconds) and by which pipeline version.                                                                                                                                                                                                                                      |
| **summary**                   | String           | A short summary of the event, synthesised from the contributing articles.                                                                                                                                                                                                                                            |
| **is\_ongoing**               | Boolean          | Whether the underlying real-world event is still unfolding. This is distinct from whether the record is still in the active feed — a hazard can remain active after the event itself has concluded.                                                                                                                  |
| **start\_date\_iso**          | String           | The date the event began (ISO 8601 date).                                                                                                                                                                                                                                                                            |
| **end\_date\_iso**            | String/Null      | The date the event concluded, or null if it is still ongoing.                                                                                                                                                                                                                                                        |
| **location\_level**           | String           | The geographic precision of the resolved location. One of `point`, `city`, `county`, `corridor`, `river_corridor`, `chokepoint`, or `region` — `point` is the most precise and `region` the least. Hazards are never published at country-level precision or coarser.                                                |
| **location\_specific**        | String           | The most specific place name resolved for the event.                                                                                                                                                                                                                                                                 |
| **country**                   | String           | The country the event occurred in.                                                                                                                                                                                                                                                                                   |
| **article\_count**            | Integer          | The number of articles that contributed to this hazard. A higher count indicates the event was more widely reported and therefore more strongly corroborated.                                                                                                                                                        |
| **quantitative**              | Object           | Counters extracted from the reporting. **The keys vary by hazard type** — `participants` and `arrests` for civil unrest, `missiles_fired` and `drones_intercepted` for combat, `flood_depth_ft` and `homes_flooded` for flood. Treat this as an open map and read only the keys you need; do not assume a fixed set. |
| **sources**                   | Array            | The contributing articles. Each entry carries the publisher `name`, article `title`, `url`, feed `type`, `published_at`, and a `body` extract. Well-corroborated events can carry hundreds of entries.                                                                                                               |
| **extra**                     | Object           | Internal pipeline diagnostics. Reserved for internal use — the contents are not part of the public contract and may change without notice.                                                                                                                                                                           |

{% hint style="info" %}
`n2h.sources` is the audit trail for the hazard. Every OSINT hazard is derived from published reporting, and this array links back to the articles it was built from, so any record can be traced to its origin.
{% endhint %}

### Features

OSINT hazards include a `features` FeatureCollection with two `featureType` values:

* **INCIDENT** — a point geometry at the event location, carrying event and casualty detail.
* **SMART\_ALERT** — the alert boundary polygon.

## Hazard Samples

A full sample response is provided for each of the six OSINT hazard types:

* [Civil Unrest Sample](/osint-hazards/requesting-osint-hazards/civilunrest-sample)
* [Flood Sample](/osint-hazards/requesting-osint-hazards/flood-sample)
* [Combat Sample](/osint-hazards/requesting-osint-hazards/combat-sample)
* [Terrorism Sample](/osint-hazards/requesting-osint-hazards/terrorism-sample)
* [Active Shooter Sample](/osint-hazards/requesting-osint-hazards/activeshooter-sample)
* [Incident Sample](/osint-hazards/requesting-osint-hazards/incident-sample)


# Civil Unrest Sample

Civil unrest hazards cover protests, strikes, riots, and demonstrations detected from open-source reporting. The sample below is a `STRIKE` in Amritsar, Punjab, India. This is also the type that carries most port and airport disruptions: a dockworkers' or air-traffic strike is a `CIVILUNREST` / `STRIKE` event, with the affected infrastructure carried by the supply-chain fields rather than by the sub-type.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

**Sub-types** (`incident.properties.subType`): **`PROTEST`** (default), `STRIKE`, `RIOT`

## Type-Specific Properties

**Incident properties specific to civil unrest:** `participants`, `arrests` (mirrored from `n2h.quantitative`), plus the standard casualty fields `totalFatalities`, `totalWounded`, `civilianFatalities`, `civilianWounded` (null when not reported).

**Severity:** a peaceful protest or strike grades `ADVISORY` regardless of size; `RIOT`, injuries or arrests raise it to `WATCH`; deaths, ten or more injuries, or a riot with fifty or more arrests reach `WARNING`. The sample below carries a base tier of `WARNING` from its reported fatality and no cap.

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `participants`, `arrests`, `deaths`, `injuries`; long-running unrest also carries `*_cumulative_since` counters.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Government Employees' Strike — Punjab, India"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Civil Unrest incident was reported in Punjab, India\non 2026-08-26.\n  Preliminary reports indicate 1 total victims comprised of 1 fatalities.\n\nEvent Summary*:\n• Civil Unrest has been reported in Punjab, India.\n• Reports indicate approximately 2000 participants.\n• 2 arrests reported.\n• Reports indicate that at least 1 people have been affected.\n• Affected areas include: Punjab, India.\n\nBased on 65 article(s) from: In... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "type": "CIVILUNREST",
  "incident": {
    "uuid": "12a04acb-dfbd-4f88-9771-f05d257192ef",
    "type": "CIVILUNREST",
    "sourceId": 3000,
    "sourceRecordId": "CIVILUNREST-IND-PUNJAB-2026-08",
    "properties": {
      "totalFatalities": 1,
      "totalWounded": null,
      "civilianFatalities": 1,
      "civilianWounded": null,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Civil Unrest",
      "reportDate": "2026-08-26T10:30:03Z",
      "action": "NEW_EVENT",
      "incidentDuration": 4,
      "createdTime": "2026-08-26T10:30:03Z",
      "scopeOfIncident": "Local",
      "name": "Government Employees' Strike — Punjab, India",
      "status": "ACTIVE",
      "eventDate": "2026-08-26T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Punjab, India",
      "Country_Name": "India",
      "Country_Code": "IN",
      "Country_Code_3": "IND",
      "provinceDistrictTown": "Punjab",
      "eventSummary": "Teachers in Punjab announced a complete boycott of non-academic work, demanding a focus on teaching duties. Additionally, Akali Dal leaders and workers staged a massive protest outside the Chief Engin... [truncated for brevity]",
      "sourceName": "India Today",
      "featureType": "INCIDENT",
      "bufferSize": 5000,
      "rawMessage": "[news article text truncated for brevity]",
      "subType": "STRIKE",
      "severityBasis": {
        "base": "WARNING"
      },
      "endedAtKind": "projected",
      "participants": 2000,
      "arrests": 2,
      "supplyChainImpact": true,
      "supplyChainInfrastructure": "HIGHWAY",
      "supplyChainDisruptionType": "BLOCKADE"
    }
  },
  "uuid": "12a04acb-dfbd-4f88-9771-f05d257192ef",
  "comment": null,
  "createdAt": 1787755604,
  "startedAt": 1787702400,
  "updatedAt": 1789557781,
  "endedAt": 1788048000,
  "latitude": 30.92932,
  "longitude": 75.50048,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "India",
    "admin0_iso2": "IN",
    "admin0_iso3": "IND",
    "admin1": "Punjab",
    "admin1_code": "IN-PB",
    "continent": "Asia",
    "subregion": "Southern Asia",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "CIVILUNREST-IND-PUNJAB-2026-08",
    "hazard_sub_type": "STRIKE",
    "summary": "Teachers in Punjab announced a complete boycott of non-academic work, demanding a focus on teaching duties. Additionally, Akali Dal leaders and workers staged a massive protest outside the Chief Engin... [truncated for brevity]",
    "is_ongoing": true,
    "start_date_iso": "2026-08-26",
    "end_date_iso": null,
    "location_level": "point",
    "location_specific": "Punjab",
    "country": "India",
    "article_count": 65,
    "quantitative": {
      "participants": 2000,
      "deaths": 1,
      "arrests": 2
    },
    "enhancedAt": 1789557781,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "India Today",
        "title": "पेंशन, पे-स्केल, डीए... पंजाब में 7 लाख सरकारी कर्मचारी कल करेंगे हड़ताल",
        "url": "https://www.aajtak.in/india/punjab/story/punjab-government-employees-strike-old-pension-da-demand-ntc-bktw-rptc-2630472-2026-08-26?utm_source=rss",
        "type": "rss",
        "published_at": "2026-08-26T10:30:03+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "Times of India City",
        "title": "In Punjab, all govt OPDs, OOAT clinics to be closed on Aug 27 amid statewide employees' strike",
        "url": "https://timesofindia.indiatimes.com/city/chandigarh/in-punjab-all-govt-opds-ooat-clinics-to-be-closed-on-aug-27-amid-statewide-employees-strike/articleshow/133541433.cms",
        "type": "rss",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      },
      "..."
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "INCIDENT",
          "name": "Government Employees' Strike — Punjab, India",
          "casualties": {
            "killed": {
              "total": 1
            },
            "injured": {
              "total": 0
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Punjab, India"
        },
        "geometry": {
          "coordinates": [
            75.50048,
            30.92932
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Flood Sample

Flood hazards cover flood events reported in open sources. They complement the model-driven flood hazards on `/active-hazards-query`, capturing local flooding that is reported in the press but not always reflected in global flood models. The sample below is flooding in Bulacan, Philippines.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

## Type-Specific Properties

**Flood is the only OSINT type with no sub-type vocabulary.** `incident.properties.subType` is **omitted** on flood records (the internal `n2h.hazard_sub_type` mirror is an empty string), so filtering floods with `sub_type` returns nothing.

**Incident properties specific to floods** are mirrored 1:1 from `n2h.quantitative` and keep their snake\_case names: `flood_depth_ft`, `homes_flooded`, `roads_closed`, `rescues`, `evacuees`, `damage_estimate_usd`, `deaths`, `injuries`, `missing`. Floods that close roads or rail also carry the supply-chain fields (`supplyChainImpact`, `supplyChainInfrastructure`, `supplyChainDisruptionType`).

**Severity:** deaths, 100 or more evacuees or flooded homes, or damage of $10M or more grade `WARNING`; injuries, rescues, any evacuees or flooded homes, depth of two feet or more, or three or more road closures grade `WATCH`; street ponding and single closures grade `ADVISORY`.

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `flood_depth_ft`, `homes_flooded`, `roads_closed`, `rescues`, `evacuees`, `damage_estimate_usd`, `deaths`, `injuries`, `missing`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Persistent Flooding — Calumpit, Bulacan, Philippines"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Flood incident was reported in Barasoain Church, Philippines\non 2026-08-26.\n  Preliminary reports indicate 24 total victims comprised of 5 fatalities and 19 wounded.\n\nEvent Summary*:\n• Flood has been reported in Barasoain Church, Philippines.\n• 1 rescues reported.\n• 12237 evacuees.\n• Flood depth: 6 ft.\n• Estimated damage: $4380.0M.\n• Reports indicate that at least 24 people have been affected.\n• Affected areas incl... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "type": "FLOOD",
  "incident": {
    "uuid": "aab00d42-ce04-43fc-b0a9-026c13baaa0d",
    "type": "FLOOD",
    "sourceId": 3000,
    "sourceRecordId": "FLOOD-PHI-CALUMPIT-BULACAN-2026-08",
    "properties": {
      "totalFatalities": 5,
      "totalWounded": 19,
      "civilianFatalities": 5,
      "civilianWounded": 19,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Flood",
      "reportDate": "2026-08-28T16:05:00Z",
      "action": "NEW_EVENT",
      "incidentDuration": 4,
      "createdTime": "2026-08-28T16:05:00Z",
      "scopeOfIncident": "Local",
      "name": "Persistent Flooding — Calumpit, Bulacan, Philippines",
      "status": "ACTIVE",
      "eventDate": "2026-08-26T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Barasoain Church, Philippines",
      "Country_Name": "Philippines",
      "Country_Code": "PH",
      "Country_Code_3": "PHL",
      "provinceDistrictTown": "Barasoain Church",
      "eventSummary": "Flooding and lahar concerns have prompted dredging efforts on the Gugu River in Minalin.",
      "sourceName": "gmanetwork.com",
      "featureType": "INCIDENT",
      "bufferSize": 5000,
      "rawMessage": "[news article text truncated for brevity]",
      "severityBasis": {
        "base": "WARNING"
      },
      "endedAtKind": "projected",
      "supplyChainImpact": true,
      "supplyChainInfrastructure": "HIGHWAY",
      "supplyChainDisruptionType": "CLOSURE",
      "flood_depth_ft": 6,
      "rescues": 1,
      "evacuees": 12237,
      "homes_flooded": 3584,
      "roads_closed": 3,
      "damage_estimate_usd": 4380000000
    }
  },
  "uuid": "aab00d42-ce04-43fc-b0a9-026c13baaa0d",
  "comment": null,
  "createdAt": 1787935197,
  "startedAt": 1787702400,
  "updatedAt": 1789577911,
  "endedAt": 1788048000,
  "latitude": 14.84637,
  "longitude": 120.81232,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "Philippines",
    "admin0_iso2": "PH",
    "admin0_iso3": "PHL",
    "admin1": "Bulacan",
    "admin1_code": "PH-BUL",
    "continent": "Asia",
    "subregion": "South-Eastern Asia",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "FLOOD-PHI-CALUMPIT-BULACAN-2026-08",
    "hazard_sub_type": "",
    "summary": "Flooding and lahar concerns have prompted dredging efforts on the Gugu River in Minalin.",
    "is_ongoing": true,
    "start_date_iso": "2026-08-26",
    "end_date_iso": null,
    "location_level": "point",
    "location_specific": "Barasoain Church",
    "country": "Philippines",
    "article_count": 102,
    "quantitative": {
      "homes_flooded": 3584,
      "evacuees": 12237,
      "area_under_water_acres": 81000,
      "homes_destroyed": 1,
      "flood_depth_ft": 6,
      "rescues": 1,
      "deaths": 5,
      "deaths_cumulative_since": 34,
      "traffic_speed_kph": 1,
      "damage_estimate_usd": 4380000000,
      "people_stranded": 99000,
      "power_outages": 6,
      "flood_duration_hours": 720,
      "roads_closed": 3,
      "injuries": 19,
      "affected_area_sqmi": 6175,
      "vehicles_stranded": 1,
      "river_stage_ft": 20.67
    },
    "enhancedAt": 1789577911,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "gmanetwork.com",
        "title": "Calumpit, Bulacan remains flooded; over 1,300 families evacuated | GMA News Online",
        "url": "https://www.gmanetwork.com/news/topstories/regions/1000287/calumpit-bulacan-remains-flooded-over-1-300-families-evacuated/story/",
        "type": "kafka_webz",
        "published_at": "2026-08-28T16:05:00+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "philnews.ph",
        "title": "House in Lubao, Pampanga Collapses & Swept Away by Strong Floodwaters | PhilNews",
        "url": "https://philnews.ph/2026/08/29/house-lubao-pampanga-collapses-swept-away-strong-floodwaters/",
        "type": "kafka_webz",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      },
      "..."
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "INCIDENT",
          "name": "Persistent Flooding — Calumpit, Bulacan, Philippines",
          "casualties": {
            "killed": {
              "total": 5
            },
            "injured": {
              "total": 19
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Barasoain Church, Philippines"
        },
        "geometry": {
          "coordinates": [
            120.81232,
            14.84637
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Combat Sample

Combat hazards cover military strikes and operations against military or state targets. The sample below is a `DRONESTRIKE`. Combat hazards are frequently the most heavily corroborated records in the feed and the most likely to be updated repeatedly as reporting develops; poll with the `updated_at` parameter rather than refetching the whole feed. They also linger longest when no end is detected — 168 hours rather than the usual 96 — because active fronts can go quiet for days without being over.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

**Sub-types** (`incident.properties.subType`): `AIRSTRIKE`, `MISSILESTRIKE`, `DRONESTRIKE`, `BOMBING`, `ARTILLERY`, **`GROUNDCOMBAT`** (default), `INVASION`, `NAVAL`, `IED`, `AMBUSH`

## Type-Specific Properties

**Incident properties specific to combat:** `aggressor`, `target`, `infrastructureHit`, `weaponsUsed`, plus the quantitative counters below. Strikes on ports, rail, and energy infrastructure also carry the supply-chain fields.

**Severity:** this is the type where grading matters most. Any death, five or more wounded, a destroyed building, displacement, captured ground, or an `INVASION` sub-type grade `WARNING`; one to four wounded, damaged buildings, or ordnance that got through but with no casualty figures yet grade `WATCH`; fully intercepted barrages and strikes with no reported impact grade `ADVISORY`, **and the record's name, description and `eventSummary` say so explicitly** ("intercepted", "no reported impact"). The sample below shows a confidence cap: its base tier is `WARNING`, capped to `WATCH` because the location resolved only to region level (`severityBasis.capReason: location_level_region`).

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `deaths`, `wounded`, `civilian_deaths`, `military_deaths`, `missiles_fired`, `missiles_intercepted`, `drones_launched`, `drones_intercepted`, `buildings_damaged`, `buildings_destroyed`, `displaced`, `area_captured_sqkm`. Counters suffixed `_cumulative_since` and `_running_total` accumulate across a long-running conflict; read the unsuffixed keys for the incident itself.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Ukrainian Drone Strikes on Bryansk Region — Bryansk, Russia"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Combat incident was reported in Bryansk region, Russia\non 2026-09-09.\n\nEvent Summary*:\n• Combat has been reported in Bryansk region, Russia.\n• Affected areas include: Bryansk region, Russia.\n\nBased on 2 article(s) from: iz.ru, lb.ua."
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "type": "COMBAT",
  "incident": {
    "uuid": "c3731cfb-1c12-45cc-9b95-96053360d916",
    "type": "COMBAT",
    "sourceId": 3000,
    "sourceRecordId": "COMBAT-RUS-BRYANSK-REGION-2026-09",
    "properties": {
      "totalFatalities": null,
      "totalWounded": null,
      "civilianFatalities": null,
      "civilianWounded": null,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Combat",
      "reportDate": "2026-09-09T17:25:00Z",
      "action": "NEW_EVENT",
      "incidentDuration": 7,
      "createdTime": "2026-09-09T17:25:00Z",
      "scopeOfIncident": "Regional",
      "name": "Ukrainian Drone Strikes on Bryansk Region — Bryansk, Russia",
      "status": "ACTIVE",
      "eventDate": "2026-09-09T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Bryansk region, Russia",
      "Country_Name": "Russia",
      "Country_Code": "RU",
      "Country_Code_3": "RUS",
      "provinceDistrictTown": "Bryansk region",
      "eventSummary": "Ukrainian Defence Forces conducted airstrikes on Russian military facilities, including drone sites, radar stations, and oil refineries, on 12 September and during the night of 13 September 2026. Seve... [truncated for brevity]",
      "sourceName": "iz.ru",
      "featureType": "INCIDENT",
      "bufferSize": 100000,
      "rawMessage": "[news article text truncated for brevity]",
      "subType": "DRONESTRIKE",
      "severityBasis": {
        "base": "WARNING",
        "cap": "WATCH",
        "capReason": "location_level_region"
      },
      "endedAtKind": "projected",
      "supplyChainImpact": true,
      "supplyChainInfrastructure": "OIL_TERMINAL",
      "supplyChainDisruptionType": "DAMAGE",
      "wounded": 7,
      "aggressor": "Ukraine",
      "target": "Russia",
      "infrastructureHit": "energy",
      "weaponsUsed": "drones"
    }
  },
  "uuid": "c3731cfb-1c12-45cc-9b95-96053360d916",
  "comment": null,
  "createdAt": 1789003142,
  "startedAt": 1788937200,
  "updatedAt": 1789300244,
  "endedAt": 1789542000,
  "latitude": 53.2789,
  "longitude": 34.36591,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "Russia",
    "admin0_iso2": "RU",
    "admin0_iso3": "RUS",
    "admin1": "Bryansk",
    "admin1_code": "RU-BRY",
    "continent": "Europe",
    "subregion": "Eastern Europe",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "COMBAT-RUS-BRYANSK-REGION-2026-09",
    "hazard_sub_type": "DRONESTRIKE",
    "summary": "Ukrainian Defence Forces conducted airstrikes on Russian military facilities, including drone sites, radar stations, and oil refineries, on 12 September and during the night of 13 September 2026. Seve... [truncated for brevity]",
    "is_ongoing": true,
    "start_date_iso": "2026-09-09",
    "end_date_iso": null,
    "location_level": "region",
    "location_specific": "Bryansk region",
    "country": "Russia",
    "article_count": 2,
    "quantitative": {
      "wounded": 7
    },
    "enhancedAt": 1789300244,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "iz.ru",
        "title": "In the Bryansk region, seven people were injured in an attack by drones of the Armed Forces of Ukraine | News | Izvestia | 09.09.2026",
        "url": "https://iz.ru/en/node/2164183",
        "type": "kafka_webz",
        "published_at": "2026-09-09T17:25:00+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "lb.ua",
        "title": "Ukraine says it struck Russian drone sites and radar in Bryansk",
        "url": "https://en.lb.ua/news/2026/09/13/41742_defence_forces_strike_russian.html",
        "type": "kafka_webz",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      }
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WATCH",
          "featureType": "INCIDENT",
          "name": "Ukrainian Drone Strikes on Bryansk Region — Bryansk, Russia",
          "casualties": {
            "killed": {
              "total": 0
            },
            "injured": {
              "total": 0
            }
          },
          "scopeOfIncident": "Regional",
          "locationDescription": "Bryansk region, Russia"
        },
        "geometry": {
          "coordinates": [
            34.36591,
            53.2789
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WATCH",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Terrorism Sample

Terrorism hazards cover attacks on civilian targets by non-state actors. The distinction from a combat hazard is the target: attacks against military or state targets are classified as `COMBAT`, attacks against civilian targets as `TERRORISM`. The sample below is an `ASSASSINATION`.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

**Sub-types** (`incident.properties.subType`): `BOMBING`, `SUICIDE_BOMBING`, `IED`, `VEHICLE_RAMMING`, `MASS_SHOOTING`, `KNIFE_ATTACK`, `HOSTAGE`, `ASSASSINATION`, `ARSON`, **`OTHER`** (default)

## Type-Specific Properties

**Incident properties specific to terrorism** are the standard casualty fields plus the quantitative counters below.

**Severity:** deaths, hostages, or five or more injuries grade `WARNING`; one to four injuries, damaged buildings, or an attack disrupted in progress grade `WATCH`; a failed or thwarted device with no casualties or damage grades `ADVISORY`. The sample below is an `ADVISORY` with an **observed** end — note that `endedAtKind` is omitted, which is how a reported (rather than projected) end is signalled.

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `deaths`, `injuries`, `civilian_injuries`, `hostages`, `perpetrators_killed`, `perpetrators_arrested`, `buildings_damaged`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Assassination of Charlie Kirk — Orem, United States — Utah Valley University, United States of…"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Terrorism incident was reported in Utah Valley University, United States of America\non 2026-09-16.\n\nEvent Summary*:\n• Terrorism has been reported in Utah Valley University, United States of America.\n• Affected areas include: Utah Valley University, United States of America.\n\nBased on 3 article(s) from: dailywire.com, yahoo.com, Google News UAE."
    }
  ],
  "severity": "ADVISORY",
  "category": "EVENT",
  "type": "TERRORISM",
  "incident": {
    "uuid": "cd433ee1-3497-4347-bc4c-96a10c23e027",
    "type": "TERRORISM",
    "sourceId": 3000,
    "sourceRecordId": "TERRORISM-UNI-OREM-2026-09",
    "properties": {
      "totalFatalities": null,
      "totalWounded": null,
      "civilianFatalities": null,
      "civilianWounded": null,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Terrorism",
      "reportDate": "2026-09-16T10:00:00Z",
      "action": "NEW_EVENT",
      "incidentDuration": 1,
      "createdTime": "2026-09-16T10:00:00Z",
      "scopeOfIncident": "Local",
      "name": "Assassination of Charlie Kirk — Orem, United States — Utah Valley University, United States of…",
      "status": "ACTIVE",
      "eventDate": "2026-09-16T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Utah Valley University, United States of America",
      "Country_Name": "United States of America",
      "Country_Code": "US",
      "Country_Code_3": "USA",
      "provinceDistrictTown": "Utah Valley University",
      "eventSummary": "Charlie Kirk was assassinated on a university campus in Utah, with his family alleging security failures contributed to his death.",
      "sourceName": "dailywire.com",
      "featureType": "INCIDENT",
      "bufferSize": 5000,
      "rawMessage": "[news article text truncated for brevity]",
      "subType": "ASSASSINATION",
      "severityBasis": {
        "base": "ADVISORY"
      }
    }
  },
  "uuid": "cd433ee1-3497-4347-bc4c-96a10c23e027",
  "comment": null,
  "createdAt": 1789553939,
  "startedAt": 1789542000,
  "updatedAt": 1789566618,
  "endedAt": 1789553939,
  "latitude": 40.27941,
  "longitude": -111.71789,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "United States of America",
    "admin0_iso2": "US",
    "admin0_iso3": "USA",
    "admin1": "Utah",
    "admin1_code": "US-UT",
    "continent": "North America",
    "subregion": "Northern America",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "TERRORISM-UNI-OREM-2026-09",
    "hazard_sub_type": "ASSASSINATION",
    "summary": "Charlie Kirk was assassinated on a university campus in Utah, with his family alleging security failures contributed to his death.",
    "is_ongoing": false,
    "start_date_iso": "2026-09-16",
    "end_date_iso": "2026-09-16",
    "location_level": "point",
    "location_specific": "Utah Valley University",
    "country": "United States of America",
    "article_count": 3,
    "quantitative": {},
    "enhancedAt": 1789566618,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "dailywire.com",
        "title": "Charlie Kirk's Family Reveals Chilling Warning Before His Assassination",
        "url": "https://www.dailywire.com/news/new-kirk-family-takes-legal-action-against-utah-valley-university-for-fatal-security-failures",
        "type": "kafka_webz",
        "published_at": "2026-09-16T10:00:00+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "yahoo.com",
        "title": "Erika Kirk alleges security failures against Utah Valley University | Morning in America",
        "url": "https://www.yahoo.com/news/videos/erika-kirk-alleges-security-failures-101355344.html",
        "type": "kafka_webz",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      },
      "..."
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "ADVISORY",
          "featureType": "INCIDENT",
          "name": "Assassination of Charlie Kirk — Orem, United States — Utah Valley University, United States of…",
          "casualties": {
            "killed": {
              "total": 0
            },
            "injured": {
              "total": 0
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Utah Valley University, United States of America"
        },
        "geometry": {
          "coordinates": [
            -111.71789,
            40.27941
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "ADVISORY",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Active Shooter Sample

Active shooter hazards cover active-shooter and mass-shooting incidents. The sample below is a `STANDOFF`. This is the lowest-volume type in the feed and the shortest-lived: where no end is detected, an active-shooter hazard leaves the feed after 24 hours rather than the 96 hours applied to most types.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

**Sub-types** (`incident.properties.subType`): `MASS_SHOOTING`, `DRIVEBY`, `STANDOFF`, `SNIPER`, **`SHOOTING`** (default), `OTHER`

## Type-Specific Properties

**Incident properties specific to active shooter** are the standard casualty fields plus the quantitative counters below.

**Severity:** deliberately hot. Any death, injury or hostage, or an **unresolved** situation (no suspect yet killed or arrested) grades `WARNING` even at zero reported casualties — the unresolved state is the hazard. A resolved incident with no casualties grades `WATCH`; shots-fired reports with no injuries, resolved, grade `ADVISORY`. The sample below shows a confidence cap: base `WARNING`, capped to `WATCH` with `capReason: geometry_unverified`, because the record is thinly corroborated and the independent verification pass could not confirm its geometry.

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `deaths`, `injuries`, `hostages`, `suspects_killed`, `suspects_arrested`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Police Standoff at Residence — Pennsauken, USA — 4400 Block of Bethel Avenue, United States of…"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Active Shooter incident was reported in 4400 block of Bethel Avenue, United States of America\non 2026-09-14.\n\nEvent Summary*:\n• Active Shooter has been reported in 4400 block of Bethel Avenue, United States of America.\n• Affected areas include: 4400 block of Bethel Avenue, United States of America.\n\nBased on 2 article(s) from: WCAU Philadelphia (NBC 10), WTXF Fox 29 Philadelphia."
    }
  ],
  "severity": "WATCH",
  "category": "EVENT",
  "type": "ACTIVESHOOTER",
  "incident": {
    "uuid": "836e3802-2cb0-4991-b81f-d017ff274733",
    "type": "ACTIVESHOOTER",
    "sourceId": 3000,
    "sourceRecordId": "ACTIVESHOOTER-UNI-PENNSAUKEN-2026-09",
    "properties": {
      "totalFatalities": null,
      "totalWounded": null,
      "civilianFatalities": null,
      "civilianWounded": null,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Active Shooter",
      "reportDate": "2026-09-16T10:16:10Z",
      "action": "NEW_EVENT",
      "incidentDuration": 1,
      "createdTime": "2026-09-16T10:16:10Z",
      "scopeOfIncident": "Local",
      "name": "Police Standoff at Residence — Pennsauken, USA — 4400 Block of Bethel Avenue, United States of…",
      "status": "ACTIVE",
      "eventDate": "2026-09-14T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "4400 block of Bethel Avenue, United States of America",
      "Country_Name": "United States of America",
      "Country_Code": "US",
      "Country_Code_3": "USA",
      "provinceDistrictTown": "4400 block of Bethel Avenue",
      "eventSummary": "Police responded to a reported shooting and barricade situation at a home in Pennsauken, New Jersey. A robot dog was deployed during the standoff.",
      "sourceName": "WCAU Philadelphia (NBC 10)",
      "featureType": "INCIDENT",
      "bufferSize": 25000,
      "rawMessage": "[news article text truncated for brevity]",
      "subType": "STANDOFF",
      "severityBasis": {
        "base": "WARNING",
        "cap": "WATCH",
        "capReason": "geometry_unverified"
      },
      "endedAtKind": "projected"
    }
  },
  "uuid": "836e3802-2cb0-4991-b81f-d017ff274733",
  "comment": null,
  "createdAt": 1789568792,
  "startedAt": 1789344000,
  "updatedAt": 1789576030,
  "endedAt": 1789430400,
  "latitude": 39.95622,
  "longitude": -75.05795,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "United States of America",
    "admin0_iso2": "US",
    "admin0_iso3": "USA",
    "admin1": "New Jersey",
    "admin1_code": "US-NJ",
    "continent": "North America",
    "subregion": "Northern America",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "ACTIVESHOOTER-UNI-PENNSAUKEN-2026-09",
    "hazard_sub_type": "STANDOFF",
    "summary": "Police responded to a reported shooting and barricade situation at a home in Pennsauken, New Jersey. A robot dog was deployed during the standoff.",
    "is_ongoing": true,
    "start_date_iso": "2026-09-14",
    "end_date_iso": null,
    "location_level": "city",
    "location_specific": "4400 block of Bethel Avenue",
    "country": "United States of America",
    "article_count": 2,
    "quantitative": {},
    "enhancedAt": 1789576030,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "WCAU Philadelphia (NBC 10)",
        "title": "Police surround Pennsauken home in apparent standoff",
        "url": "https://www.nbcphiladelphia.com/news/local/police-surround-pennsauken-home-in-apparent-standoff/4464036/",
        "type": "rss",
        "published_at": "2026-09-16T10:16:10+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "WTXF Fox 29 Philadelphia",
        "title": "Police deploy robot dog during reported barricade situation at home in Pennsauken",
        "url": "https://www.fox29.com/news/police-deploy-robot-dog-during-reported-barricade-situation-home-pennsauken",
        "type": "rss",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      }
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WATCH",
          "featureType": "INCIDENT",
          "name": "Police Standoff at Residence — Pennsauken, USA — 4400 Block of Bethel Avenue, United States of…",
          "casualties": {
            "killed": {
              "total": 0
            },
            "injured": {
              "total": 0
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "4400 block of Bethel Avenue, United States of America"
        },
        "geometry": {
          "coordinates": [
            -75.05795,
            39.95622
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WATCH",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Incident Sample

Incident hazards cover infrastructure and transport disruptions — roads, bridges, rail, pipelines, power, water, and industrial sites. Sub-types identify the infrastructure disrupted, so `sub_type` is the natural way to narrow this type, for example `sub_type=RAIL,ROAD_CLOSURE`. The sample below is an `OTHER` incident that carries the supply-chain fields.

These hazards are returned by the [`/osint-hazards-query`](/osint-hazards/requesting-osint-hazards) endpoint, which requires a specific role on your credentials.

**Sub-types** (`incident.properties.subType`): `ROAD_CLOSURE`, `BRIDGE`, `RAIL`, `PIPELINE`, `POWER`, `INDUSTRIAL`, `WATER`, **`OTHER`** (default)

## Type-Specific Properties

**There is no `PORT` or `AIRPORT` sub-type.** A strike that shuts a port or airport is typed by the event — a dockworkers' strike is `CIVILUNREST` / `STRIKE`, not an `INCIDENT`. To find port and airport disruptions, read `supplyChainInfrastructure` on each record.

**Supply-chain fields:** incident hazards are the type most likely to carry `supplyChainImpact`, `supplyChainInfrastructure` and `supplyChainDisruptionType`. `supplyChainImpact` is only ever `true` and is absent entirely from hazards with no supply-chain dimension; test for presence rather than comparing to `false`. See [Supply-Chain Fields](/osint-hazards/requesting-osint-hazards#supply-chain-fields) for the controlled vocabularies.

**Severity:** deaths, missing persons, 100 or more evacuated, or 10,000 or more households without power grade `WARNING`; injuries, any evacuation, or any households without power or water grade `WATCH`; closures with no human impact figures grade `ADVISORY`.

**Quantitative counters (`n2h.quantitative`, mirrored into `incident.properties`):** `deaths`, `injuries`, `missing`, `evacuated`, `households_without_power`, `households_without_water`.

## Sample Response

```json
{
  "name": [
    {
      "locale": "en",
      "value": "Incident: Building Collapse — Gaza — Palestine"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Infrastructure Incident incident was reported in Gaza, Palestine\non 2026-09-14.\n  Preliminary reports indicate 35 total victims comprised of 21 fatalities and 14 wounded.\n\nEvent Summary*:\n• Infrastructure Incident has been reported in Gaza, Palestine.\n• Reports indicate that at least 35 people have been affected.\n• Affected areas include: Gaza, Palestine.\n\nBased on 58 article(s) from: Al Jazeera English, aljazeera.... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "type": "INCIDENT",
  "incident": {
    "uuid": "7465a5c1-a8d6-4e83-9736-9eaeded358da",
    "type": "INCIDENT",
    "sourceId": 3000,
    "sourceRecordId": "INCIDENT-PAL-GAZA-2026-09",
    "properties": {
      "totalFatalities": 21,
      "totalWounded": 14,
      "civilianFatalities": 21,
      "civilianWounded": 14,
      "type": "ACTUAL",
      "recordOrigin": "live",
      "incidentType": "Infrastructure Incident",
      "reportDate": "2026-09-16T04:30:52Z",
      "action": "NEW_EVENT",
      "incidentDuration": 4,
      "createdTime": "2026-09-16T04:30:52Z",
      "scopeOfIncident": "Local",
      "name": "Incident: Building Collapse — Gaza — Palestine",
      "status": "ACTIVE",
      "eventDate": "2026-09-14T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Gaza, Palestine",
      "Country_Name": "Palestine",
      "Country_Code": "PS",
      "Country_Code_3": "PSE",
      "provinceDistrictTown": "Gaza",
      "eventSummary": "A building damaged by strikes collapsed in Gaza, killing at least 21 people as perilous living conditions persist.",
      "sourceName": "Al Jazeera English",
      "featureType": "INCIDENT",
      "bufferSize": 5000,
      "rawMessage": "[news article text truncated for brevity]",
      "subType": "OTHER",
      "severityBasis": {
        "base": "WARNING"
      },
      "endedAtKind": "projected",
      "deaths": 21,
      "injuries": 14,
      "missing": 100
    }
  },
  "uuid": "7465a5c1-a8d6-4e83-9736-9eaeded358da",
  "comment": null,
  "createdAt": 1789534400,
  "startedAt": 1789344000,
  "updatedAt": 1789588031,
  "endedAt": 1789689600,
  "latitude": 31.46989,
  "longitude": 34.39789,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "location": {
    "admin0": "Palestine",
    "admin0_iso2": "PS",
    "admin0_iso3": "PSE",
    "admin1": "Gaza Strip",
    "admin1_code": "PS-GZZ",
    "continent": "Asia",
    "subregion": "Western Asia",
    "location_type": "land",
    "source": "natural_earth_local"
  },
  "n2h": {
    "hazard_id": "INCIDENT-PAL-GAZA-2026-09",
    "hazard_sub_type": "OTHER",
    "summary": "A building damaged by strikes collapsed in Gaza, killing at least 21 people as perilous living conditions persist.",
    "is_ongoing": true,
    "start_date_iso": "2026-09-14",
    "end_date_iso": null,
    "location_level": "point",
    "location_specific": "Gaza",
    "country": "Palestine",
    "article_count": 58,
    "quantitative": {
      "deaths": 21,
      "missing": 100,
      "injuries": 14
    },
    "enhancedAt": 1789588031,
    "enhancer": "news2hazards@live",
    "sources": [
      {
        "name": "Al Jazeera English",
        "title": "Gaza residential building collapses, six families reportedly trapped",
        "url": "https://www.aljazeera.com/news/2026/9/16/gaza-residential-building-collapses-six-families-reportedly-trapped?traffic_source=rss",
        "type": "rss",
        "published_at": "2026-09-16T04:30:52+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "aljazeera.com",
        "title": "At least 10 dead, dozens missing in Gaza building collapse",
        "url": "https://www.aljazeera.com/video/newsfeed/2026/9/16/at-least-10-dead-dozens-missing-in-gaza-building-collapse",
        "type": "kafka_webz",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      },
      "..."
    ],
    "location_details": {
      "..."
    },
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "INCIDENT",
          "name": "Incident: Building Collapse — Gaza — Palestine",
          "casualties": {
            "killed": {
              "total": 21
            },
            "injured": {
              "total": 14
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Gaza, Palestine"
        },
        "geometry": {
          "coordinates": [
            34.39789,
            31.46989
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}
```

{% hint style="info" %}
Note: Coordinate arrays have been replaced with `[...]` for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The `n2h.sources` array and the `features` properties have been truncated with `"..."` to show only key fields, and article text has been elided. `n2h.extra` and `n2h.location_details` are reserved for internal use. The record shows the post-cutover shape of September 2026; see [Requesting OSINT Hazards](/osint-hazards/requesting-osint-hazards) for how pre-cutover records differ.
{% endhint %}


# Historical Hazards MCP

The DisasterAWARE Historical Hazards MCP server lets an AI assistant (Claude, ChatGPT, Cursor and other MCP-capable tools) answer questions about the historical hazard archive in plain language. You ask a question, and the assistant runs the queries, counts, rankings and lookups for you and explains the answer.

This guide describes the server as of October 2026.

## What's in the archive

* **About 680,000 historical hazard records** across 30 hazard types: earthquakes, floods, wildfires, cyclones, tornadoes, severe storms, hail, wind, winter storms, extreme temperature, smoke, volcanoes, tsunamis, landslides and more, plus man-made and security event types.
* **Deeply enhanced.** Hundreds of thousands of records carry detailed measurements gathered after the event from authoritative sources (NOAA, NWS, USGS, FEMA, NIFC and other agencies, satellites and monitoring networks). Every wildfire record, nearly every tornado record, and about two thirds of flood and severe-thunderstorm records are enhanced; so are the smoke events, the earthquakes USGS mapped with a ShakeMap, the named tropical cyclones, and the special marine warnings. Population and economic exposure is available on about 260,000 records. What the enhancements contain:
  * **Floods:** gauge peaks above flood stage and the NWS flood category reached, surveyed high-water marks and flood depths, modeled depths, NOAA storm-event deaths, injuries and damage, FEMA flood-insurance (NFIP) claims paid, FEMA individual assistance.
  * **Wildfires:** final burned acres, fire duration, biggest one-day growth, peak personnel, structures threatened and destroyed, suppression cost, evacuation orders and warnings, and the smoke each fire produced. Every wildfire record also says *what kind of record it is* (a confirmed incident, a satellite detection, a burned-area estimate, a prescribed burn, …).
  * **Smoke:** smoke events with peak air-quality index (AQI), peak PM2.5, smoke days, and the monitoring stations involved.
  * **Earthquakes:** USGS ShakeMap intensity and peak ground acceleration, depth, and observed deaths, injuries and damage where NOAA records them.
  * **Tropical cyclones:** peak wind and lowest pressure, track length, landfalls (where and how strong), and post-storm station measurements (storm tide, rainfall, gusts, pressure).
  * **Tornadoes:** EF rating, NWS damage-survey paths, length and width, fatalities and injuries, damage, and warning lead time.
  * **Hail, wind and severe storms:** measured, reported and radar-estimated hail sizes, measured and estimated wind gusts, damage-survey winds, and a severe-convective-storm classification with its perils (hail, wind, tornado).
  * **Exposure:** population, vulnerable population, buildings and capital value inside each hazard's exposure area, plus humanitarian needs estimates.
* The assistant can tell you, for any record, **where a maximum was observed** (which gauge, which station, which damage-survey path) and **where each number comes from**.

## Before you start

You sign in with your **DisasterAWARE account**. That account must have the MCP access role added to it, which is a separate permission from DisasterAWARE web or API access.

{% hint style="warning" %}
Without that role you can still sign in, but every question will be refused as not authorized. If that happens, ask your DisasterAWARE account administrator or PDC account representative to add the MCP access role to your credential, then sign in again.
{% endhint %}

## Connect your assistant

The server address is the same everywhere:

```
https://mcp.disasteraware.com/historical-hazards
```

Sign-in is through a DisasterAWARE sign-in page in your browser; you never paste a password or key into the assistant. Sessions renew automatically.

### Claude (claude.ai and the Claude desktop app)

1. Open **Settings → Connectors** and choose **Add custom connector** (menu names as of October 2026). Custom connectors require a Claude plan that supports them.
2. Name it (for example "DisasterAWARE Historical Hazards") and paste the server address above.
3. Click **Connect**, then sign in with your DisasterAWARE account on the page that opens.
4. In a chat, make sure the connector is switched on (the tools menu under the message box), then ask a question.

### Claude Code

```
claude mcp add --transport http disasteraware-historical https://mcp.disasteraware.com/historical-hazards
```

Then type `/mcp` in Claude Code, select the server, and sign in through the browser page it opens.

### ChatGPT (web)

1. Go to **Plugins** in the left sidebar → **Add** → **Create MCP App** (menu names as of October 2026; ChatGPT has renamed this area before).
2. Set **Connection** to **Server URL** and paste the server address; set **Authentication** to **OAuth**. Leave the client ID and secret empty; ChatGPT registers itself.
3. Click **Create** and sign in with your DisasterAWARE account.
4. You may see a notice that the server advertises no scopes or OIDC; it doesn't affect sign-in.

### Cursor

Add the server to `~/.cursor/mcp.json` (keep any servers already there):

```json
{
  "mcpServers": {
    "disasteraware-historical": {
      "url": "https://mcp.disasteraware.com/historical-hazards"
    }
  }
}
```

Then open **Cursor Settings → MCP**, click **Connect / Login** next to `disasteraware-historical`, and sign in. Ask questions in Agent chat and approve the tool calls when asked.

### Other MCP clients

Any client that supports remote MCP servers over Streamable HTTP with OAuth (dynamic client registration, PKCE) can connect with the same address. For automated agents and scheduled jobs that can't use a browser sign-in, contact your PDC account representative.

## What the assistant can do (the tools)

You don't call these yourself; the assistant picks them. Knowing them helps you ask better questions.

| Tool                            | What it does                                                                                                                                                                                           |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **get\_data\_coverage**         | What the archive contains: hazard types, years, how much is enhanced, every filter and measure available, and the known caveats. A good first call if you're unsure what to ask.                       |
| **query\_hazard\_events**       | Finds events with filters (type, place, dates, season, magnitude, thresholds, nearby a point, landfall location, and any enhanced measurement) and sorts them, e.g. "largest", "deepest", "costliest". |
| **aggregate\_hazards**          | Counts, totals, averages, percentiles, trends and rankings, grouped by year, month, decade, type, country, state, county, basin and more.                                                              |
| **hazard\_profile\_for\_place** | A hazard history for a country, state, county or radius around a point: which hazards occur, how often, in which decades and months, and the worst on record.                                          |
| **get\_hazard\_event**          | Everything about one event, including all its enhanced measurements and the lists behind them.                                                                                                         |
| **get\_event\_details**         | The *where* behind a number: the ranked list of gauges, high-water marks, stations, damage-survey paths or landfall crossings for one event.                                                           |
| **list\_metrics**               | Discovers every enhanced measurement available for a hazard type, with a description of each.                                                                                                          |

### Need the records themselves?

The MCP is built to answer questions. To bring the historical records into your own systems or analysis pipeline, use [`/historical-hazards-query`](/hazards/requesting-historical-hazards), which requires API access on your DisasterAWARE account (ask your administrator or PDC account representative).

## Example questions

Every question below has been answered by the MCP from the archive. Start simple, then combine filters, places, time windows and measures.

### Getting started

* What does the historical hazards archive contain, and how far back does it go for floods?
* What enhanced measurements are available for wildfires?
* Give me a hazard profile for Oklahoma.
* What hazards have affected the area within 50 km of Moore, Oklahoma since 2000?

### Counts, trends and rankings

* How many earthquakes of magnitude 7 or greater have there been since 2000, by year?
* How many confirmed wildfires were there each year from 2015 to 2024?
* Which five states had the most tornadoes in 2024?
* How many Atlantic hurricanes started in August through October, per decade since 1980?
* How many severe convective storm records with a hail peril were there in 2024, by hazard type?
* Show tornado counts by EF rating in Alabama in 2011.

### Biggest, deepest, worst

* What were the three largest earthquakes since 2000?
* What was the largest wildfire in California in 2020 by burned acres, and where does that acreage come from?
* Which tropical cyclone had the lowest central pressure since 2000?
* Which cyclone has the longest track on record?
* What was the strongest ShakeMap intensity recorded since 2015?
* What was the largest measured hail in Texas in 2023?
* What was the strongest measured wind gust in Kansas in 2022, and was it measured or estimated?

### Floods

* During Hurricane Harvey (Texas, August 25 to September 5, 2017), which flood reached the highest level above flood stage, and at which gauge?
* How many Texas floods in August and September 2017 reached Major flood stage?
* What was the deepest measured flood depth in Texas in 2017, and where was the highest high-water mark?
* How much did FEMA's flood insurance pay for building damage in Texas floods in 2017?
* Rank the top five states by flood-insurance building payments for 2017 floods.
* How much FEMA individual assistance was paid for Louisiana floods in 2016?
* How many people died directly in Texas floods in 2017, according to NOAA storm-event records?

### Wildfire, evacuation and smoke

* Which California fires since 2015 destroyed the most structures?
* What was the total suppression cost of California fires in 2020?
* Which fire burned the longest in 2023? Which had the biggest one-day growth on record?
* Which wildfire put the most people in evacuation zones? Which had the most evacuation orders?
* Which wildfire's smoke lasted the most days?
* What was the worst smoke event by AQI in California in 2020, and which monitoring station recorded it?
* What was the worst PM2.5 smoke event in Canada?

### Earthquakes

* What was the deadliest earthquake since 2000?
* Which earthquake since 2010 produced the strongest ground shaking (peak ground acceleration)?
* How many people were injured in earthquakes in 2023?
* Which 2023 earthquake had the most vulnerable people inside its exposure area?
* How many earthquakes affected Japan in 2011?

### Tropical cyclones

* How many storms have made landfall in Florida since 2000?
* Which cyclone made the most landfalls, and in which countries?
* What is the average peak wind of North Atlantic storms by decade?
* Which storm produced the highest storm tide at a post-storm station, and where?
* Which storm produced the most rainfall at a single station, and where?
* Which cyclone in 2023 had the most people exposed?

### Tornadoes, hail, wind and severe storms

* What was the longest tornado path in Oklahoma?
* What was the deadliest tornado since 2014, and what was its widest damage-survey path?
* What is the average warning lead time for EF4 and stronger tornadoes since 2010?
* How much tornado damage was there in Alabama in 2011?
* What was the 95th-percentile hail size in Texas in 2023?
* What was the biggest radar-estimated hail in Oklahoma in 2024?
* What was the highest damage-survey estimated wind in 2021?

### Putting it together

* Everything that happened in Texas during Hurricane Harvey (August 25 to September 5, 2017), by hazard type.
* For the Texas flood with the deepest measured depth in 2017, show the five highest high-water marks and where they were.
* Compare the hazard profiles of Florida and Louisiana: which hazards dominate each, and in which months?
* How many 2017 Texas flood records each had more than $1 million in flood-insurance building payments?
* For hurricanes that made landfall in the US since 2015, list each storm with its landfall state and wind at landfall.
* Show the trend in confirmed wildfires in Oregon by year since 2015, and the largest fire each year.

## Tips for accurate answers

* **Records are alerts, not unique events.** One real storm can produce several records (one per warning or area). Counts reflect alerting. Totals of damage, deaths and insurance payments automatically use each record's *own share*, so a total doesn't count the same loss twice; the assistant will say so when this applies.
* **"In Texas" means "in or affecting Texas".** The same rule as [`country_code`](/hazards/requesting-historical-hazards#filtering-by-country) on the REST API. Place filters also include offshore records whose nearest land is the place you named. Grouping by state counts only records inside each state, so a filtered total and a grouped row can differ slightly.
* **Count fires with confirmed incidents.** Wildfire records include satellite detections and fire-weather alerts; for "how many fires", ask for confirmed fires. Burned acres are the agency or perimeter size, not the alert area.
* **Smoke events are their own records** (type BIOMEDICAL, sub-type SMOKE). Wildfire records can also carry the smoke attributed to that fire.
* **Missing isn't zero.** A hail size or wind gust is blank when nothing was measured or reported; averages and percentiles cover only the records that have a value.
* **Coverage grows over time.** Detection networks, gauges and satellites improved over the decades, so rising counts partly reflect better detection. Tornado detail starts in 2014; exposure covers about 40% of history (most recent years).
* **Cyclone landfalls are tropical landfalls.** See [Cyclone landfalls](/hazards/requesting-historical-hazards#cyclone-landfalls) for the territory codes. Crossings after a storm became post-tropical are listed but not counted. US territories (Puerto Rico, Guam, Northern Mariana Islands, US Virgin Islands, American Samoa) use their own country codes.
* **Ask where a number came from.** The assistant can show the source of casualties, damage, burned acres and wind values, and the list behind any maximum.
* **Enhancement follows the event.** Measurements are gathered after an event from agency and observation sources, so the most recent events gain enhanced detail once those sources publish.

## Troubleshooting

| What you see                                                        | What to do                                                                                                                                                                       |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sign-in works, but every question is refused as not authorized      | Your account is missing the **MCP access role**. Ask your DisasterAWARE administrator or PDC account representative to add it to your credential, then disconnect and reconnect. |
| The assistant asks you to sign in again                             | Your session expired; sign in again. Sessions normally renew on their own.                                                                                                       |
| The first question after a while fails or times out ("bad gateway") | The service was starting up. Ask again; the second try is fast.                                                                                                                  |
| A question returns nothing                                          | Check the place code and dates; ask the assistant to call get\_data\_coverage to see which filters and types apply.                                                              |


# What are Products?

Products are links, documents, pictures, and other types of media associated with a hazard. For example, an event may have text documents related to it, including the official advisories from the reporting agency, e.g., the National Weather Service (NWS) or the United States Geological Society (USGS). Some products are reports created by an expert system or an analyst. For example, DisasterAWARE generates a product for each tropical storm advisory. Products are organized hierarchically into folders. The folders group the content thematically, e.g., Situation Reports, Situational Awareness, Messages, etc.


# Requesting Product Types

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/products/types" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

A product will come in one of the four following types:

| Types               | Definitions                                                                                                    |
| ------------------- | -------------------------------------------------------------------------------------------------------------- |
| **FOLDER\_PRODUCT** | These products are used to organize products into logical hierarchies in the DisasterAWARE client application. |
| **FILE\_PRODUCT**   | Products of this type have an associated multi-media file e.g. PDF, Word Document, associated with them.       |
| **TEXT\_PRODUCT**   | These products have a text field that contains a message.                                                      |
| **URL\_PRODUCT**    | These products are hyperlinks to external resources e.g. a web page.                                           |


# Requesting a Hazard’s Products

To request the list of products associated to a hazard:

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/hazards/{hazard-id}/products" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.
{% endhint %}

## Identifying the hazard

The `hazard-id` path parameter accepts either identifier. The response is identical for both.

| Form                     | Example                                                  | Notes                                                                               |
| ------------------------ | -------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **`uuid`** (recommended) | `/hazards/4a9408ab-9525-46ed-8f17-a45792bfebc2/products` | The `uuid` field present on every V2 hazard payload. Use this for new integrations. |
| Numeric `hazard_ID`      | `/hazards/503200/products`                               | A legacy V1 API construct. Still supported unchanged for existing integrations.     |

Note that each product object carries the hazard's numeric `hazard_ID` regardless of which identifier you queried with; the `uuid` field on a product is the product's own identifier, not the hazard's.

## Responses

| Status                | Meaning                                                                                                                                                             |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **200** with products | The hazard's products, as an array.                                                                                                                                 |
| **200** with `[]`     | The hazard exists but has no products. This is expected for hazards that never had an enterprise-side record, such as partner-sourced or externally minted hazards. |
| **400**               | The identifier is neither a uuid nor a number. Body: `{"error": "Invalid hazard identifier", "message": "Expected a numeric hazard_ID or a V2 uuid."}`              |
| **502**               | Transient error while resolving the uuid upstream. Safe to retry.                                                                                                   |
| **403**               | Invalid or expired token.                                                                                                                                           |

The [`/products/{product-id}`](/products-1/requesting-a-product) and [`/products/types`](/products-1/product-types) endpoints are unchanged.

## Response Fields

The response will include an array of product objects. Each element in the array will include the following properties:

| Properties                | Definitions                                                                                                                                                                                                                        |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **app\_IDs**              | The identifier for the application that created this product                                                                                                                                                                       |
| **comment\_Text**         | A human readable comment attached to the document.                                                                                                                                                                                 |
| **create\_Date**          | The time this product was created. The value is a unix timestamp.                                                                                                                                                                  |
| **data**                  | If this product is of type "text", this value will be the product's message. If the product is of type "url", this value will be the hyperlink associated with the product.                                                        |
| **filename**              | If this product is of type "file", this value will be the filename of the file that was assigned to the product.                                                                                                                   |
| **geo\_Locations**        | An optional location on the earth that has been assigned to the product. The value is in WKT.                                                                                                                                      |
| **hazard\_ID**            | The ID of the hazard that owns this product.                                                                                                                                                                                       |
| **is\_Hidden**            | This boolean flag indicates whether or not this products will be hidden from the user interface.                                                                                                                                   |
| **org\_ID**               | Users of a DisasterAWARE system must belong to an organization. The products automatically assigned to the organization of the user who created the product.                                                                       |
| **org\_IDs**              | An optional comma separated list of organizations who owns this product. Products can be assigned to one or more organizations. Products that are assigned to an organization(s) are only visible to members of that organization. |
| **organization\_acronym** | Deprecated. Safe to ignore.                                                                                                                                                                                                        |
| **parent\_ID**            | The ID of the folder product in which this product is contained. A value of zero indicates that this product is on the root of the hierarchy.                                                                                      |
| **product\_ID**           | the primary key of this product.                                                                                                                                                                                                   |
| **product\_Type**         | this product's type. For more information, please see the section on product's types.                                                                                                                                              |
| **product\_url**          | If this product is a file, this value will contain the location to use to request the source file.                                                                                                                                 |
| **security\_Flag**        | this product indicates whether or not this product has been assigned to one or more organizations. A value of "R" indicates it has been restricted to one or more organizations. Otherwise, the value will be "A".                 |
| **suffix**                | If this product is a file, this value represents the file extension of the source file e.g. 'txt', 'pdf', 'doc' etc...                                                                                                             |
| **timeline\_Date**        | If this product is displayed in a timeline, this value is used to display the time the author has decided to associate to this product. The value is a unix timestamp.                                                             |
| **title**                 | A string title for this product.                                                                                                                                                                                                   |
| **update\_Date**          | The time this product was last modified. The value is a unix timestamp.                                                                                                                                                            |
| **update\_User**          | The username of the user who last modified this product.                                                                                                                                                                           |
| **user\_ID**              | The username of the user who created this product.                                                                                                                                                                                 |
| **uuid**                  | The unique identifier for this product across all DisasterAWARE systems.                                                                                                                                                           |


# Requesting a Product

{% openapi src="/files/wYQaKpPZEdPb68ZWOF6w" path="/products/{product-id}" method="get" %}
[openapi.yaml](https://3664004773-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbwQ2AvqpbIy1hD3QFTQG%2Fuploads%2Fgit-blob-350a7f5e9fbbe067d99fdfb3f69984d2cf78e8c2%2Fopenapi.yaml?alt=media)
{% endopenapi %}

{% hint style="info" %}
See [Authorizing Requests](/authentication/authorizing-requests#get-accesstoken-and-refreshtoken) page to get your accessToken.

Below is an example request with path parameters *product-id=1153909*
{% endhint %}


