GET /v1/messages on a timer wastes quota and adds latency to every reply. Webhooks invert the flow: Gork POSTs a signed JSON event to your HTTPS endpoint the moment something happens — a new inbound email, a confirmed send, a bounce, a complaint, or an unsubscribe.
How it works
1
Register an endpoint
Subscribe a URL to the events you care about, via the console (Settings → Webhooks) or
POST /v1/webhooks.2
Verify the signature
Every delivery carries an
X-Gork-Signature HMAC-SHA256 header. Reject anything that fails verification — see Verify Requests.3
Return 2xx fast
Acknowledge receipt with any
200–299 status, then do the slow work (LLM inference, DB writes) asynchronously. Deliveries time out after 10 seconds; anything else is retried — see Retries.Setup
subscribedEvents to subscribe to the defaults — ["email.received", "email.sent", "email.bounced"] — or pass an explicit list. Endpoints must be HTTPS URLs. The creation response returns the signing secret exactly once; it is never included in GET /v1/webhooks listings.
Next steps
Event Types
The five live events and their payload schemas.
Retries
5 attempts, backoff schedule, and the deliveries log.
Verify Requests
HMAC verification in Node.js and Python.