Send Test Webhook
Quickly send a test webhook to your local or staging URL. Use our examples or generate payloads from your WebhookStash history.
Why send test webhooks?
When building webhook handlers, you need to test with realistic payloads. Waiting for real events is slow and unpredictable. Sending test webhooks lets you verify your handler logic, error handling, and response codes instantly. WebhookStash makes this easy with captured payloads you can replay, or generate custom ones on the fly.
Send a test webhook to localhost
Use cURL to send a POST request with a JSON payload to your local development server:
curl -X POST http://localhost:3000/webhook \
-H "Content-Type: application/json" \
-d '{
"event": "test.webhook",
"user_email": "[email protected]",
"meta": {
"source": "cli",
"timestamp": "2025-11-10T12:00:00Z"
}
}'Stream webhooks to localhost using the CLI, or use cURL to test with example data.
Send a test webhook to staging
For staging environments, include authentication headers and use your staging domain:
curl -X POST https://staging.your-app.com/webhook \
-H "Content-Type: application/json" \
-H "X-Webhook-Signature: sha256=5d41402abc4b2a76b9719d911017c592" \
-d '{
"event": "test.webhook",
"order_id": "ORD-2024-001",
"amount": 2000,
"currency": "usd",
"status": "completed"
}'Replay from WebhookStash
Instead of manually crafting payloads, capture real webhooks with WebhookStash and replay them:
- Pick any captured event from your WebhookStash dashboard
- Replay from backend to public/staging endpoints for integrity
- Use the CLI for localhost tests without exposing sensitive data
- Use authenticated API for full payload replays when you control the data
Test webhook signature verification
Many webhook providers (Stripe, Shopify, GitHub) sign their requests. When replaying from WebhookStash, the original signature headers are preserved, so you can test your verification logic:
curl -X POST http://localhost:3000/webhook \
-H "Content-Type: application/json" \
-H "Stripe-Signature: t=1699564800,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd" \
-d '{"id": "evt_test123", "type": "payment_intent.succeeded"}'Common use cases
- Unit testing — Send payloads to automated test runners
- Error handling — Test with malformed or unexpected data
- Rate limiting — Send multiple webhooks rapidly to test throttling
- CI/CD integration — Automate webhook testing in your pipeline
FAQs
Can I customize headers and method?
Yes. Use cURL or your HTTP client to set method, headers, and body. WebhookStash captures and displays them for debugging.
How does WebhookStash keep my data secure?
Only authenticated project owners can access webhook data. Data is encrypted in transit and at rest. Use the CLI for localhost testing or authenticated API replays for staging/production.
Related guides: Webhook Tester Online • Test Stripe Webhooks • Webhook Debugger for Shopify • Inspect Slack Webhooks • Send Test Webhook