Digital UniverseDocumentation

Webhooks

Receive resource events with signature verification and safe redelivery handling.

Event envelope#

A subscription delivers a JSON envelope with a stable event ID, event type, timestamp, and resource reference. Fetch the current resource from the API when your workflow needs a complete representation.

JSON
{
  "id": "evt_example_024",
  "type": "service.deployment.completed",
  "occurredAt": "2026-10-15T10:00:00Z",
  "resource": {"project": "catalog", "service": "catalog"},
  "data": {"revision": "rev-024", "status": "ready"}
}

Verify before processing#

Verify the request signature against the raw request body using your subscription’s signing secret. Reject timestamps outside a short acceptance window. Compare signatures with a constant-time operation.

Handle duplicate deliveries#

Delivery is at least once. Store the event ID as an idempotency marker, acknowledge accepted events quickly, and process longer work asynchronously. Non-2xx responses trigger bounded redelivery with increasing delays.

ResponseDelivery behavior
200–299Acknowledged
400–499Recorded as rejected; investigate receiver configuration
500–599 or timeoutRetried within the subscription delivery window
Digital Universe DocumentationReference edition · v2.4

↑ ↓ to navigateEnter to openEsc to close