webhooks · 43 événements

43 événements, signés, replayables.

De transfer.created à saml.login_failed, chaque mouvement est observable. HMAC-SHA256 avec timestamp anti-replay, retry exponentiel sur 72 h, dead letter automatique et replay manuel depuis le dashboard.

DocumentationCatalog complet
catalog · auto-doc

Le catalog vit dans l'API.

Pollez GET /v1/webhooks/events pour récupérer la liste à jour, avec schémas JSON et exemples.

transfer
transfer.created
transfer.downloadedsignal
transfer.expired
transfer.deleted
transfer.cloned
transfer.scan_cleansignal
transfer.scan_infected
transfer.scan_quarantined
transfer.limit_reached
transfer.password_failed
transfer.geo_blocked
transfer.preview_openedbeta
transfer.email_sent
transfer.e2e_createdsignal
workspace
workspace.created
workspace.plan_changed
workspace.payment_succeeded
workspace.payment_failed
workspace.usage_limit_warning
workspace.usage_limit_reached
api_key
api_key.created
api_key.revoked
api_key.rotated
api_key.expired
api_key.suspicious_usagebeta
webhook
webhook.delivery_failed_final
webhook.endpoint_disabled
identity · sso
scim.user_provisioned
scim.user_deprovisioned
saml.login_succeeded
saml.login_failed
signature · hmac-sha256

Compatible Stripe-style.

Si vous avez déjà vérifié une signature Stripe, vous savez vérifier une signature Coffrify.

// Header reçu sur votre endpoint
X-Coffrify-Signature: t=1709558400,v1=abc123def456...

// Vérification
const signed = `${timestamp}.${rawBody}`
const expected = hmac('sha256', WEBHOOK_SECRET).update(signed).digest('hex')
const valid = timingSafeEqual(received_v1, expected)
                && (Date.now() / 1000) - timestamp < 300  // anti-replay 5 min
fiabilité

72 h pour livrer, 12 tentatives.

Retry exponentiel avec jitter, dead letter automatique au-delà, replay manuel depuis le dashboard.

Retry window
72 h
depuis le 1er échec
Tentatives max
12
backoff exponentiel + jitter
Timeout par tentative
15 s
abandon réseau
Replay
depuis le dashboard

Branchez votre stack. Observez tout.

Créer un endpoint