Skip to content
Free reference — no signup

Webhook payload explorer

What actually arrives at your endpoint. Copy any example as a signed curl command to test your handler right now, or open it in the signature verifier.

purchase

purchase

Fires on any event named exactly "purchase" — the most common webhook use case (Slack ping on every sale, sync to a CRM).

{
  "eventId": "3fae1c9e-3b7a-4b0e-9a1e-8e6b9c9d4a11",
  "eventType": "purchase",
  "time": "2026-08-02T14:03:11.000Z",
  "path": "/checkout/success",
  "userHash": "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
  "metadata": {
    "value": 49.99,
    "currency": "USD",
    "plan": "growth_engine"
  },
  "siteId": "3f9a2b7c-1234-4a5b-8c9d-0e1f2a3b4c5d",
  "workspaceId": "9c8b7a6f-5e4d-3c2b-1a09-f8e7d6c5b4a3"
}
Open in signature verifier →

signup

signup

Fires on a signup event — forward to a serverless function to create the lead in your CRM instead of exporting CSVs.

{
  "eventId": "7b2e9f1a-8c3d-4e5f-a6b7-c8d9e0f1a2b3",
  "eventType": "signup",
  "time": "2026-08-02T09:12:47.000Z",
  "path": "/signup",
  "userHash": "f9e8d7c6b5a4039281706f5e4d3c2b1a0908f7e6d5c4b3a29180706f5e4d3c2",
  "metadata": {
    "source": "organic",
    "plan": "free"
  },
  "siteId": "3f9a2b7c-1234-4a5b-8c9d-0e1f2a3b4c5d",
  "workspaceId": "9c8b7a6f-5e4d-3c2b-1a09-f8e7d6c5b4a3"
}
Open in signature verifier →

trial_started

any custom event

eventType isn't a fixed enum — it's whatever you named the event in your track() call. metadata carries whatever custom properties you sent.

{
  "eventId": "c4d5e6f7-a8b9-4c0d-8e1f-2a3b4c5d6e7f",
  "eventType": "trial_started",
  "time": "2026-08-02T18:41:03.000Z",
  "path": "/onboarding/step-3",
  "userHash": "0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
  "metadata": {
    "trial_days": 14,
    "referral_code": "FOUNDING25"
  },
  "siteId": "3f9a2b7c-1234-4a5b-8c9d-0e1f2a3b4c5d",
  "workspaceId": "9c8b7a6f-5e4d-3c2b-1a09-f8e7d6c5b4a3"
}
Open in signature verifier →

Every field is documented in full at /docs/webhooks. The curl commands above sign with the demo secret demo_webhook_secret — swap in your real signing secret from your webhook's dashboard settings.

Have questions about integration or security? Drop us a line directly.