SnapPDF
webhooks

Webhooks

Subscribe to events, handle them in your backend, verify signatures with our SDK helpers.

Signature header

SnapPDF-Signature: t=1745000000,v1=aa11bb22cc33...

Compute HMAC-SHA256(secret, "{timestamp}.{rawBody}") and compare with constant-time equality. SDKs do this for you — see snap.webhooks.verifySignature(...).

Event types

EventFires when
operation.completedAsync job finished successfully. Payload includes the output URL.
operation.failedAsync job errored. Payload includes the error envelope.
usage.warning_80You have used 80% of your monthly quota.
usage.limit_reached100% usage — subsequent calls return 429 quota_exceeded.
key.createdA new API key was issued via the dashboard or API.
key.revokedAn API key was revoked.
billing.subscription_updatedPlan changed — new limits in effect immediately.
billing.payment_failedStripe charge failed. Access may be suspended in 3 days.

Retry policy

We deliver once, then retry on non-2xx responses at 5s, 1m, 5m, 30m, 2h, 12h — six attempts over 24 hours. After that we stop and emit a webhook.delivery_failed event you can inspect in the dashboard.