Testing

Prove signing and delivery before you touch Live. Prefer Test env, disposable bins, and local forwarders.

Send test event

In the dashboard open Events → Send test event (or Overview empty state → Send sample event). Pick an event type, edit the example JSON, send, and jump to the linked delivery. This is the fastest path to a populated Deliveries table.

webhook.site / request bins

  1. 1

    Create a bin URL

    Open a request bin (for example webhook.site). Copy the unique HTTPS URL.

  2. 2

    Add it as a Test endpoint

    Subscribe to one event type. Copy the whsec_ if you plan to verify offline.

  3. 3

    Emit and inspect

    Send test event or CLI trigger. Confirm headers and body in the bin UI, then compare with the Outemit delivery detail.

Localhost and CLI

Test endpoints may target http://localhost. Run your receiver locally, or use the CLI forwarder:

bash
bun cli/outemit.mjs listen --forward http://127.0.0.1:3000/webhooks --port 4242
# Endpoint URL in Test: http://localhost:4242/

Need a public URL for a receiver behind NAT? Put a tunnel in front of the listen port, then paste the tunnel HTTPS URL into the endpoint (still in Test until go-live).

Bootstrap keys

Local dashboard development can use a bootstrap API key from Settings when session auth is not wired. Prefer magic-link / OAuth for normal use. Never commit sk_* or whsec_ values.

Pre-live checklist

  • Receiver verifies signatures with 5-minute tolerance
  • Receiver dedupes on webhook-id
  • Endpoint is HTTPS and reachable from the public internet
  • Event catalog names match what you emit
  • You switched the dashboard to Live and created sk_live_ deliberately