HTTP Protocol
- `POST` JSON payloads with `Content-Type: application/json`.
- Use HTTPS in production.
- Expect `202 Accepted` when the payload is accepted.
Integration Docs
Send full snapshot and merge updates, validate payloads, and watch map updates live.
Event-driven rules like status changes and geofence enter/exit fire directly from incoming updates. Time-based rules such as dwell time, missing updates, density spikes, and SLA breach should be treated as Beta until you run the internal rule sweep worker or cron trigger in production.
Replaces the entire state with the payload. Use this when you are sending a complete current snapshot.
{
"updateMode": "replace",
"eventGroups": [
{
"name": "Open",
"color": "#1F77B4",
"events": [
{
"id": "INC-1001",
"geoCode": { "latitude": 33.749, "longitude": -84.388 },
"eventCode": "INC-1001",
"status": "Open"
}
]
}
],
"summary": {
"open_events": 1,
"in_process": 0
}
}
curl -X POST "/webhook/maps/{webhookKey}" \
-H "Content-Type: application/json" \
-H "x-webhook-token: YOUR_TOKEN" \
-d '{...replace payload...}'
Upserts changed/new event IDs and optionally removes IDs listed in `removedIds` without replacing untouched events.
{
"updateMode": "merge",
"removedIds": ["INC-0998"],
"eventGroups": [
{
"name": "InProcess",
"color": "#0000FF",
"events": [
{
"id": "INC-1001",
"geoCode": { "latitude": 33.749, "longitude": -84.388 },
"status": "InProcess",
"driver": "Jane Doe"
}
]
}
],
"summary": {
"open_events": 0,
"in_process": 1
}
}
curl -X POST "/webhook/maps/{webhookKey}" \
-H "Content-Type: application/json" \
-H "x-webhook-token: YOUR_TOKEN" \
-d '{...merge payload...}'
Use these snippets for fast onboarding. The embed URL auto-syncs when your map is resolved.
Embed views are read-only and do not require the webhook token. Keep webhook tokens server-side and send
them only on POST /webhook/maps/{webhookKey} requests.
Resolve a map first (temporary URL or first accepted payload) to generate production-ready embed URLs.
Ready.
No response yet.
Connecting stream...