Outbound Deliveries
When a subscribed event occurs, COUNT sends an outbound HTTP request to your callbackUrl. This is not a COUNT API route you call — it is traffic to your server.
Request COUNT sends
| Item | Value |
|---|---|
| Method | POST |
| URL | Your stored callbackUrl |
| Body | JSON envelope (raw string used for signing) |
Content-Type |
application/json |
X-Webhook-Id |
Unique delivery id (UUID). |
X-Webhook-Event |
Event name, e.g. invoice.updated. |
X-Webhook-Signature |
Only if you configured signingSecret. Format: sha256=<hex> where hex is HMAC-SHA256 of the exact raw JSON body using your plaintext secret. |
Redirects are not followed. Use a stable HTTPS endpoint that returns 2xx for success.
Envelope JSON
JSON
{`{"id":"delivery-uuid","event":"customer.updated","apiVersion":"1","occurredAt":"2026-01-01T12:00:00.000Z","team":{"id":"team-uuid","name":"Workspace name"},"data":{},"previousData":{}}`}| Field | Description |
|---|---|
id |
Unique id for this delivery. |
event |
Same as the subscription event. |
apiVersion |
Payload version string. |
occurredAt |
ISO-8601 timestamp. |
team |
Workspace UUID and display name. |
data |
Resource payload. For delete events, typically { "id": "<resource-uuid>" }. |
previousData |
On *.updated events, prior field values when available. |
Verify X-Webhook-Signature using the raw request body bytes, not a re-parsed JSON string.
Was this section helpful?
On this page
- Outbound Deliveries