Skip to main content

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

TypeDescription
hurricaneTropical cyclone (named storms)
tornadoTornado or tornado outbreak
floodRiver, flash, or coastal flooding
wildfireWildland or urban-interface fire
earthquakeSeismic event
hailHailstorm (common in commercial trucking)
winter_stormBlizzard, ice storm, or extreme cold
otherAny event not covered above

Severity Levels

SeverityDescription
minorLimited geographic impact, few expected claims
moderateRegional impact, moderate claim volume expected
majorMulti-state impact, significant loss potential
catastrophicWidespread 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 event
  • totalIncurred — sum of reserve amounts across all tagged claims

Query parameters:

ParameterTypeDescription
activebooleanFilter by active/inactive status
severitystringFilter by severity level
pagenumberPage number (default 1)
limitnumberResults 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

OperationRequired Roles
List eventsadjuster, underwriter, org_admin, superadmin, auditor
Get eventadjuster, underwriter, org_admin, superadmin
Create eventunderwriter, org_admin, superadmin
Update eventunderwriter, org_admin, superadmin
Tag claimadjuster, underwriter, org_admin
Remove tagadjuster, underwriter, org_admin