● Reference
Webhooks
21 event types, one envelope, HMAC-SHA256 signed (Anvil-Signature). Acknowledge with a 2xx within 10 seconds; failed deliveries retry with exponential backoff for 72 hours.
{
"id": "evt_01JX4M...",
"type": "judgment.validated",
"created": "2026-06-11T17:42:09Z",
"livemode": false,
"data": { "judgment_id": "jdg_8kQ2", "status": "ready", "audit_ref": "aud_77fQ..." }
}
Subscribe
Register an endpoint with POST /v1/webhook_endpoints. Each endpoint gets its own signing secret (returned once, on create) and an enabled_events filter. Omit it (or pass ["*"]) to receive everything.
curl -X POST https://api.kineticanvil.com/v1/webhook_endpoints \
-H "Authorization: Bearer kx_test_xxxxxxxxxxxxxxxx" \
-H "Anvil-Version: 2026-07-05" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/md/webhooks",
"enabled_events": ["judgment.created", "packet.created"] }'
Event catalog
| Event | Fires when |
|---|---|
| ● matter.created | A matter was created. |
| ● matter.updated | A matter was updated. |
| ● matter.closed | A matter was closed. |
| ● party.created | A party was attached to a matter. |
| ● party.updated | A party was updated. |
| ● judgment.created | A judgment was recorded via intake. |
| ● judgment.updated | A judgment was updated. |
| ● judgment.validated | A judgment passed deterministic validation. |
| ● judgment.enforcement_set | An enforcement route was set on a judgment. |
| ● packet.created | An enforcement packet was created. |
| ● packet.exported | An enforcement packet was exported. |
| ● recovery_event.created | A recovery event was recorded on the ledger. |
| ● remittance_event.created | A remittance event was recorded on the ledger. |
| ● waterfall.calculated | A distribution waterfall was calculated. |
| ● job.created | A job was dispatched to the verb plane. |
| ● job.completed | A job finished successfully. |
| ● job.failed | A job failed. |
| ● job.canceled | A job was canceled. |
| ● webhook_endpoint.created | A webhook endpoint was registered. |
| ● webhook_endpoint.updated | A webhook endpoint was updated. |
| ● webhook_endpoint.deleted | A webhook endpoint was deleted. |
Event names are stable. New events ship additively with a changelog entry.