Event callbacks — webhooks when work finishes

Use when the user asks about streaming, async delivery, webhooks, or push notifications instead of polling enrichment endpoints.

There is no SSE / streaming response on paid enrich routes — each call returns complete JSON when it finishes. Event callbacks are the supported push surface: your HTTPS endpoint receives POSTs when product events fire.

Setup (humans)

Wizard: /connect?action=event-callbacks (admin 411_… bearer required; usage keys get 403).

Setup (API)

Catalog (free, no auth):

curl -sS https://411data.io/api/v1/event-callbacks/catalog

Create subscription (admin bearer, up to 20 active):

curl -sS -X POST https://411data.io/api/v1/event-callbacks/subscriptions \
  -H 'Authorization: Bearer 411_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "label": "CRM sync",
    "event_types": ["lead.session_completed", "lead.enrichment_applied"],
    "callback_url": "https://your-app.example/hooks/411data",
    "http_method": "POST",
    "auth_mode": "hmac_bearer"
  }'

Save signing_secret from the response once (ech_… prefix). Verify X-411data-Signature: sha256=<hmac> per /developers.

Test delivery:

curl -sS -X POST \
  "https://411data.io/api/v1/event-callbacks/subscriptions/{id}/test" \
  -H 'Authorization: Bearer 411_…' \
  -H 'Content-Type: application/json' \
  -d '{"event_type":"enrich.completed"}'

Event types (v1)

event_type When it fires
lead.session_completed POST /api/v1/enrich/lead-session finishes
lead.enrichment_applied Lead backfill persisted to audit store
enrich.completed Single-record enrich matched
enrich.job_completed POST /api/v1/enrich/jobs finishes (virtual true-up or CDP upto settle)
enrich.no_match Bill-on-match refund (no usable rows)
leads.search_completed POST /api/v1/leads/search returns (catalog route; offline by default)
chat.tool_completed Enrich Agent tool call finishes
chat.turn_completed Enrich Agent turn finishes
chat.session_saved Demo transcript persisted
support.ticket_created Support ticket opened (POST /api/v1/support/tickets)

Typical patterns