Catastrophe Events
OpenInsure's catastrophe (CAT) event module enables carriers to declare weather and natural disaster events, tag affected claims, and track aggregate exposure in real time. When a hurricane, wildfire, or hail storm hits, the claims team needs a single view of all related claims with running totals for reserves, paid losses, and claim counts.
CAT Event Lifecycle
Event Declared
│
▼
┌───────────┐
│ active │ ◄── Claims being tagged, exposure tracked
└─────┬─────┘
│
▼ (endDate set, isActive = false)
┌───────────┐
│ closed │ ◄── Event concluded, final exposure tallied
└───────────┘
A CAT event is declared when the carrier identifies a weather or disaster event that may generate multiple claims. The event remains active while claims continue to come in. Once the event window closes, the event is deactivated and serves as a historical grouping for loss analysis and reinsurance reporting.
Event Types
| Type | Description |
|---|---|
hurricane | Tropical cyclone (named storms) |
tornado | Tornado or tornado outbreak |
flood | River, flash, or coastal flooding |
wildfire | Wildland or urban-interface fire |
earthquake | Seismic event |
hail | Hailstorm (common in commercial trucking) |
winter_storm | Blizzard, ice storm, or extreme cold |
other | Any event not covered above |
Severity Levels
| Severity | Description |
|---|---|
minor | Limited geographic impact, few expected claims |
moderate | Regional impact, moderate claim volume expected |
major | Multi-state impact, significant loss potential |
catastrophic | Widespread destruction, potential treaty-level reinsurance event |
API Endpoints
Declare a CAT Event
POST /v1/cat-events
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Hurricane Maria - Gulf Coast 2026",
"eventType": "hurricane",
"severity": "major",
"affectedStates": ["TX", "LA", "MS"],
"startDate": "2026-08-15T00:00:00Z",
"estimatedExposure": 12500000,
"description": "Category 3 hurricane making landfall near Galveston, TX"
}
Response (201):
{
"id": "cat_01J8...",
"orgId": "550e8400-...",
"name": "Hurricane Maria - Gulf Coast 2026",
"eventType": "hurricane",
"severity": "major",
"affectedStates": ["TX", "LA", "MS"],
"startDate": "2026-08-15T00:00:00Z",
"endDate": null,
"estimatedExposure": "12500000",
"isActive": true,
"createdBy": "usr_01J8...",
"createdAt": "2026-08-15T06:00:00Z"
}
Required roles: underwriter, org_admin, superadmin.
List CAT Events
GET /v1/cat-events?active=true&severity=major&page=1&limit=25
Returns paginated CAT events for the caller's organization with aggregate claim statistics. Each event in the response includes:
claimCount— number of claims tagged to the eventtotalIncurred— sum of reserve amounts across all tagged claims
Query parameters:
| Parameter | Type | Description |
|---|---|---|
active | boolean | Filter by active/inactive status |
severity | string | Filter by severity level |
page | number | Page number (default 1) |
limit | number | Results per page (default 25, max 100) |
Available to: adjuster, underwriter, org_admin, superadmin, auditor.
Get CAT Event Details
GET /v1/cat-events/:id
Returns the full event record with a list of all tagged claims and aggregate totals.
{
"id": "cat_01J8...",
"name": "Hurricane Maria - Gulf Coast 2026",
"eventType": "hurricane",
"severity": "major",
"affectedStates": ["TX", "LA", "MS"],
"startDate": "2026-08-15T00:00:00Z",
"isActive": true,
"claimCount": 23,
"totalIncurred": 4850000,
"claims": [
{
"claimId": "clm_01J8...",
"claimNumber": "PROP-2026-000187",
"status": "investigating",
"reserveAmount": 350000,
"paidAmount": 0,
"lossDate": "2026-08-15T00:00:00Z",
"taggedAt": "2026-08-16T09:30:00Z"
}
]
}
The totalIncurred is computed as the sum of reserveAmount across all tagged claims. This updates automatically as adjusters set and revise reserves.
Update a CAT Event
PATCH /v1/cat-events/:id
Content-Type: application/json
{
"severity": "catastrophic",
"affectedStates": ["TX", "LA", "MS", "AL"],
"endDate": "2026-08-20T00:00:00Z",
"isActive": false,
"estimatedExposure": 28000000
}
Common update scenarios:
- Escalate severity as the scope of damage becomes clear
- Expand affected states as the event path is confirmed
- Set end date when the weather event concludes
- Deactivate when no further claims are expected
- Update estimated exposure as reserves develop
Claim Tagging
Claims are associated with CAT events through a tagging system. A claim can be tagged to multiple events (e.g., a property damaged by both flooding and wind in the same hurricane). Tagging creates an audit trail entry on the claim.
Tag a Claim to a CAT Event
POST /v1/claims/:id/cat-tag
Content-Type: application/json
{
"catEventId": "cat_01J8..."
}
Response (201):
{
"id": "tag_01J8...",
"claimId": "clm_01J8...",
"catEventId": "cat_01J8..."
}
The system validates that both the claim and the CAT event exist within the caller's organization. Duplicate tags (same claim + same event) return a 409 Conflict.
A cat_tagged claim event is recorded in the audit trail with the CAT event name for traceability.
Available to: adjuster, underwriter, org_admin.
Remove a CAT Tag
DELETE /v1/claims/:id/cat-tag/:catEventId
Removes the association between a claim and a CAT event. A cat_untagged claim event is recorded in the audit trail.
Exposure Tracking
CAT event exposure is tracked at two levels:
Estimated exposure is set when the event is declared and updated manually as the situation develops. This represents the carrier's total in-force exposure in the affected geography — the theoretical maximum loss.
Incurred exposure is calculated automatically from the reserves on tagged claims. As adjusters set and revise reserves, the totalIncurred figure on the CAT event updates in real time (computed at query time, not stored).
This two-level approach gives management both a top-down estimate and a bottom-up actual to compare against.
Reinsurance Integration
CAT events with catastrophic severity are candidates for treaty reinsurance recovery. The estimatedExposure and totalIncurred fields feed into the bordereaux reporting pipeline (see the Reinsurance documentation) for treaty-level loss notifications to reinsurers.
Access Control
| Operation | Required Roles |
|---|---|
| List events | adjuster, underwriter, org_admin, superadmin, auditor |
| Get event | adjuster, underwriter, org_admin, superadmin |
| Create event | underwriter, org_admin, superadmin |
| Update event | underwriter, org_admin, superadmin |
| Tag claim | adjuster, underwriter, org_admin |
| Remove tag | adjuster, underwriter, org_admin |