Gateway event. A sign-in reached a checkpoint nobody's call was waiting for (LinkedIn asked for a code after a CAPTCHA, or a queued sign-in). Answer it as a connect's 202.
Header Parameters
base64url(HMAC-SHA256(raw body, your webhook's signing secret)), the secret being the whsec_… shown in the console. Verify it over the raw bytes before parsing, and refuse the event when it does not match.
The event id, also event_id in the body: the same on every retry of the event. Deduplicate on it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/CheckpointAccount status Webhook
An account's status changed (both channels). `OK`: working. `CREDENTIALS`: the session ended, reconnect it. `STOPPED` with `reason`: held (`restricted`: a person must look; `proxy_drift` / `proxy_down`: wait, `OK` follows; `paused`, WhatsApp only). `DELETED`: the account is gone (a LinkedIn account only when it was deleted from the console, not by your own `DELETE`). WhatsApp also sends `CREATION_SUCCESS`, `RECONNECTED`, `CONNECTING` (a drop that lasted), `ERROR` and `SYNC_SUCCESS`. A mailbox sends `CREATION_SUCCESS`, `RECONNECTED`, `OK`, `CONNECTING`, `CREDENTIALS`, `ERROR`, `STOPPED` and `DELETED`, with `gateway: { state, event, reason }` (the mail engine's state, what reported it, its error code). A status is sent only when it changes; keep the newest `emitted_at`.
Email: mail bounced Webhook
Swarmhit's own: `gateway.mail_bounced`, a delivery report for a mail sent from the mailbox. `action: failed` is final, `delayed` a warning. `response` carries the server's status and words; classifying them is yours.