Skip to main content
Spotzee webhooks let enabled projects send signed event payloads to your HTTPS endpoint. You can create endpoints, subscribe them to event types, rotate signing secrets, and run a test delivery against your URL.
High-deliverability email event webhooks are restricted to Enterprise customers with that service enabled. Standard delivery projects can still manage endpoint configuration where available, but they do not receive the Enterprise email event stream.

What you can configure

  • Create, list, update, and delete webhook endpoints.
  • Subscribe an endpoint to one or more enabled event types from the catalogue.
  • Rotate the signing secret.
  • Send a test payload to your endpoint to verify reachability and signature handling.

Delivery behaviour

  • Live event deliveries use Spotzee-Signature: t=<unix-ts>,v1=<hex-hmac-sha256> with replay protection.
  • Test deliveries from the Spotzee UI use X-Spotzee-Signature: sha256=<hex> when the endpoint has a signing secret.
  • Failed endpoints may be disabled to prevent repeated delivery attempts to an unreachable URL.

Configure an endpoint

Create or rotate webhook endpoints from Settings → Webhook Endpoints in the Spotzee app, or via the Webhooks tag in the API reference. Each endpoint has:
  • A target URL (must be https://).
  • A list of subscribed event types from the catalogue.
  • A signing secret (issued on creation; rotate via POST /api/client/webhooks/{endpointId}/rotate-secret).
The public API returns the plaintext signing secret on creation and rotation. Store it securely: public read responses omit it. Authorised team members can reveal the stored secret in the Spotzee app.

Test a delivery

The webhook detail page in the Spotzee app exposes a Send test action that sends a test payload to your URL. A configured signing secret is required for the test signature. Use it to verify your receiver before relying on live event traffic. The test payload looks like this:
When a signing secret is configured, the test path emits an X-Spotzee-Signature: sha256=<hex> header. The hex value is the HMAC-SHA256 of the JSON-stringified body using your endpoint’s signing secret. Verify by recomputing the HMAC on your side:
Sign the raw request body, not a parsed-and-re-stringified version. JSON re-encoding can change byte-for-byte content and break the signature.
A 2xx test response succeeds. Responses of 429 or 503 show a warning without disabling the endpoint. Other non-2xx responses and connection failures trigger an attempt to disable it. Check the resulting status, fix the receiver, then re-enable the endpoint if needed.

Rotate the signing secret

Call POST /api/client/webhooks/{endpointId}/rotate-secret, or use Settings → Webhook Endpoints → Rotate in the Spotzee app, to get a fresh signing secret. The plaintext value is returned exactly once on the rotate response. Persist it immediately. The previous secret stops verifying deliveries the moment the rotate call returns. Plan the rotation for a brief window where missed test deliveries are acceptable.

Reference

Next steps

Errors

Status codes and the code catalogue.

Authentication

Choose the right key type for outgoing API calls.