CAD Webhooks
Required scope: cad_incidents
When events occur for linked CAD incidents, Prepared sends webhook payloads to your configured endpoint. All events are sent as HTTP POST requests with a JSON body.
Event Types
Prepared sends the following event types to CAD integrations:
| Event Type | Description |
|---|---|
note_created | A note was added to the incident (AI summary, media link, etc.) |
location_updated | The caller's location was updated |
Common Fields
All webhook payloads include these fields:
| Field | Type | Description |
|---|---|---|
event_type | string | The type of event (note_created, location_updated) |
incident_id | uuid | Prepared incident ID |
cad_partner_incident_id | string | Your CAD incident ID (as provided when creating the incident) |
created_at | datetime | When the event occurred |
note_created
Sent when Prepared adds a note to the incident. Notes include AI summaries, media links, and incident URLs.
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
id | uuid | ✓ | Unique identifier for this note |
incident_id | uuid | ✓ | Prepared incident ID |
cad_partner_incident_id | string | Your CAD incident ID | |
created_at | datetime | When the note was created | |
event_type | string | ✓ | Always "note_created" |
subtype | string | Type of note (see below) | |
note | string | The note content | |
metadata | object | Additional data specific to the note type |
Note Subtypes
| Subtype | Description |
|---|---|
media_link | URL to a media file (audio recording, photo, video) |
insight_summary | AI-generated summary of the call |
incident_link | URL to the Prepared chatroom |
responder_link | URL to Prepared's OnScene chatroom |
Example Payload
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"incident_id": "550e8400-e29b-41d4-a716-446655440001",
"cad_partner_incident_id": "550e8400-e29b-41d4-a716-446655440002",
"created_at": "2024-01-15 10:30:00 UTC",
"event_type": "note_created",
"subtype": "insight_summary",
"note": "Caller reports a vehicle accident at the intersection. Two vehicles involved, no injuries reported. Caller is waiting at the scene.",
"metadata": {
"confidence": 0.95
}
}
location_updated
Sent when Prepared receives an updated location for the caller.
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
id | uuid | ✓ | Unique identifier for this location update |
incident_id | uuid | ✓ | Prepared incident ID |
cad_partner_incident_id | string | Your CAD incident ID | |
created_at | datetime | When the location was captured | |
event_type | string | ✓ | Always "location_updated" |
type | string | ✓ | Location type (currently only "caller") |
latitude | number | ✓ | Latitude coordinate |
longitude | number | ✓ | Longitude coordinate |
source | string | Source of the location data |
Location Sources
| Source | Description |
|---|---|
prepared | Prepared livestream link |
rapid_sos | RapidSOS location service |
indigital | Indigital location service |
ani_ali | Traditional 911 ANI/ALI |
Example Payload
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"incident_id": "550e8400-e29b-41d4-a716-446655440001",
"cad_partner_incident_id": "550e8400-e29b-41d4-a716-446655440002",
"created_at": "2024-01-15 10:30:15 UTC",
"event_type": "location_updated",
"type": "caller",
"latitude": 37.7749,
"longitude": -122.4194,
"source": "prepared"
}
Handling Webhooks
Your webhook endpoint should:
- Validate the authentication using the method you agreed with Prepared (e.g. Bearer token in Authorization header)
- Return
200immediately to acknowledge receipt - Process the event asynchronously