Webhooks
Subscribe to webhooks from your organisation’s settings to receive events at a URL you control, instead of polling. Each delivery is an HTTP POST with a JSON body, retried on failure.
Verifying a delivery
Every request carries two headers:
X-Webhook-Signature— an HMAC-SHA256 hex digest of the raw request body, keyed with your webhook’s signing secret.X-Webhook-Timestamp— when the event occurred (ISO 8601).
Recompute the signature over the exact bytes you received and compare before trusting the payload:
Events
report_export_completed
Fired when a report export finishes building (see the Create a report export endpoint). The payload carries a short-lived, signed download_url — fetch it promptly. The event covers every report export in your organisation; filter on report_export.exportable or creator if you only want some of them.

