Webhooks, duplicates & cancelling
A webhook per alert, retried next run if it fails, de-duplicated by alert id on your side, and a monitor you cancel when the person leaves.
Configuring a webhook
Set channels.webhookUrl when you create the monitor (POST /v1/monitors); email delivery is channels.email. The URL must be https on a public host. Put a secret token in the URL and verify it on receipt.
{ "product": "sex-offender", "type": "person", "label": "Jordan Rivera — resident 48213",
"person": { "firstName": "Jordan", "lastName": "Rivera", "dob": "1988-04-12" },
"channels": { "webhookUrl": "https://example.com/hooks/offendersearch?token=YOUR_SECRET" } }Delivery and retries
- Monitors are evaluated once a day. Each alert is delivered once per channel: one
POSTwithtype: "monitor.alert"and the alert body. - If neither email nor webhook succeeded, the alert stays pending and both are tried again on the next run, the following day. There is no faster retry schedule.
X-Offendersearch-Signature: sha256=<hex>is the HMAC-SHA256 of the raw body when a signing secret is configured; deliveries are not signed today and no secret is issued, so authenticate with the token in your URL and read the alert back fromGET /v1/monitors/{monitorId}/alertswhen you need certainty. Delivery carries the current status.
Duplicate alerts
- Key your processing on the alert's id; a redelivery after a failed run carries the same id.
- An alert names its event (
new,changed,removed) and the record (personRef, andexternalIdfor criminal records). The same record changing twice produces two alerts with different ids. - Alert history is the source of truth:
GET /v1/monitors/{monitorId}/alertsreturns every alert whatever happened to its delivery (newest first, up to 200).
Cancelling
DELETE /v1/monitors/{monitorId} cancels a monitor: evaluation stops now and it is not charged on any invoice prepared after the cancel (monitors are billed flat per active monitor, $3 person or $10 location, counted at invoice time; there is no proration). Its alerts stay readable. Cancelling twice is harmless. See Billing.