Testing
Prove signing and delivery before you touch Live. Prefer Test env, disposable bins, and local forwarders.
sk_test_ and the Test switch until a real customer HTTPS URL is ready. Live delivers for real.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
Create a bin URL
Open a request bin (for example webhook.site). Copy the unique HTTPS URL.
- 2
Add it as a Test endpoint
Subscribe to one event type. Copy the
whsec_if you plan to verify offline. - 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:
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