Multi-Tenant Webhook Testing
Test webhook delivery isolation for SaaS apps — one endpoint per tenant, inspectable payloads, and response simulation for each customer.
Quick Answer
For multi-tenant webhook testing, create a separate Requex endpoint for each test tenant. This gives you isolated payload inspection per customer, independent response simulation (test one tenant's 500 handling without affecting others), and a clear audit trail per tenant during development.
What is Multi-Tenant Webhook Testing?
If you're building a SaaS platform that sends webhooks to your customers — think payment notifications, data sync events, order updates — you need to test webhook delivery in a multi-tenant context. This means verifying that:
- Events for Tenant A are never delivered to Tenant B's endpoint.
- Each tenant's webhook payload contains only their data.
- Your delivery system handles per-tenant configuration (different URLs, authentication headers, retry settings) correctly.
- A delivery failure for one tenant doesn't block delivery to other tenants.
- Your system correctly handles each tenant's response — 200, 400, 500 — independently.
Why Per-Tenant Endpoint Isolation Matters
A single shared test endpoint for all tenants quickly becomes unusable. When you trigger 10 test events across 5 tenants, you get 50 entries in the same inspector — indistinguishable without scrolling through timestamps and payload content to figure out which event belongs to which tenant.
With one Requex endpoint per tenant, you always know exactly which events arrived at which endpoint, and you can verify isolation directly: Tenant A's endpoint should receive exactly N events and none should contain Tenant B's data.
Setting Up Per-Tenant Endpoints
Requex generates unlimited unique endpoints — each is a different UUID-based URL. For multi-tenant testing:
- Open Requex and generate an endpoint for your first test tenant. Label it (e.g., "Tenant A — staging").
- Open a new Requex tab (or use the "New webhook" option if logged in) to get a second unique endpoint for Tenant B.
- Configure your SaaS application's test webhook delivery system to use these URLs — one per test tenant.
- Trigger events in your system and verify each Requex endpoint receives exactly the events for its assigned tenant.
Routing Table Example
| Tenant | Test Webhook URL (Requex) | Simulated Response | Test Purpose |
|---|---|---|---|
| Tenant A (happy path) | /hook/aaa-111 | 200 OK | Baseline delivery verification |
| Tenant B (slow endpoint) | /hook/bbb-222 | 200 after 5s delay | Timeout handling test |
| Tenant C (failing endpoint) | /hook/ccc-333 | 500 Internal Error | Retry logic and isolation test |
| Tenant D (auth required) | /hook/ddd-444 | 200 (verify auth header) | Per-tenant auth credential test |
Staging Environment Patterns
In a staging environment, you typically have a small set of representative test tenants. The challenge is that staging tenants can't use real customer webhook URLs — those are production endpoints that must never receive staging events.
Requex endpoints are perfect staging replacements: they accept any event, respond with the configured status code, and log the full payload for verification. Store the Requex endpoint IDs in your staging configuration and swap them for real tenant URLs in production.
// staging config (webhook_urls.json)
{
"tenant_a_acme": "https://requex.me/hook/aaa-111",
"tenant_b_globex": "https://requex.me/hook/bbb-222",
"tenant_c_initech": "https://requex.me/hook/ccc-333"
}
// production config — same structure, real URLs
{
"tenant_a_acme": "https://acme.com/webhooks/events",
"tenant_b_globex": "https://api.globex.io/hook/inbound",
"tenant_c_initech": "https://initech.net/callbacks/platform"
}Per-Tenant Response Simulation
Each Requex endpoint has its own independent response configuration. This means you can simultaneously test:
- ✓Tenant A: 200 OK (verify normal delivery path)
- ✗Tenant B: 500 (verify your system retries independently, doesn't block Tenant A's queue)
- !Tenant C: 200 after 10 second delay (verify your timeout logic and that other tenants aren't affected)
This multi-state simultaneous testing is impossible with a single shared endpoint, and expensive to set up with real test servers. With Requex, configure each endpoint independently from the Settings tab with a one-time click.
Verifying Payload Isolation
After sending events to your staging tenants, verify isolation by checking each Requex endpoint:
- Tenant A's endpoint should contain only Tenant A's event payloads — no Tenant B or C data.
- Each payload's tenant ID, account ID, or scoped fields should match the expected tenant.
- No cross-tenant data leakage — customer names, IDs, amounts from other tenants must not appear.
- Event timestamps and ordering should match your expected delivery sequence.
Related Resources
Start Testing Webhooks Now
Generate your unique URL and test webhooks instantly. Free, no signup.
Open Webhook Tester →