GetHook's account and API key model maps perfectly to multi-tenant architectures. Complete data isolation, custom domains, and white-labeled brand settings per tenant.
The HTTP webhook protocol has no persistence, no retries, and no observability — and it shows.
In a multi-tenant system, events from Tenant A must never be visible to or deliverable to Tenant B. This requires strict account-level filtering on every query — easy to get wrong.
Tenant A wants webhooks signed with their own secret. Tenant B wants delivery to a different endpoint. Tenant C has a custom retry policy. Managing per-tenant configuration at scale requires a flexible data model.
Enterprise customers expect to see your brand, not a third-party webhook provider. They want events delivered from your domain with your logo — not from gethook.to.
From raw HTTP POST to guaranteed delivery — set up in under 10 minutes.
When a new tenant is created in your system, call the GetHook API to provision a source, destination, and API key. Each tenant gets a unique ingest URL under your domain.
POST /v1/sources
{ "name": "tenant-acme-corp", "auth_mode": "hmac", "verification_config": { "secret": "per-tenant-secret" } }
# Returns: { "path_token": "src_acme_abc123" }Set up your custom domain (hooks.yourapp.com) and brand settings once. All tenants receive events from your domain. Each tenant sees your company name, logo, and colors.
POST /v1/brand-settings
{ "company_name": "YourApp", "logo_url": "https://…", "primary_color": "#0066FF" }
POST /v1/custom-domains
{ "domain": "hooks.yourapp.com", "type": "inbound" }Every API query is scoped to the authenticated API key's account. There is no cross-tenant data leakage possible — the data model enforces isolation at the database level.
GET /v1/events Authorization: Bearer hk_tenant_a_key # Returns ONLY events for Tenant A's account # Tenant B's events are never visible
Every event, source, destination, and route is filtered by account_id. Cross-tenant data access is architecturally impossible, not just policy-enforced.
Each tenant gets their own API keys. Revoking a tenant's key immediately cuts off their access without affecting other tenants.
Deliver inbound and outbound webhooks under your own domain. Tenants see hooks.yourapp.com — not gethook.to.
Company name, logo, primary color, and support email are configurable per account. Your brand, your experience.
Each tenant configures their own ingest endpoints, destination URLs, and routing rules. Configuration changes for one tenant never affect another.
The Postgres-backed model scales horizontally. Provisioning a new tenant is a few API calls — no infrastructure changes required.
Use GetHook as the outbound webhook backbone for your product. Send signed events to your customers' endpoints without building retry, signing, or delivery infrastructure yourself.
Fan-out a single buyer action to all relevant sellers, logistics partners, and platform services — with per-seller signing secrets, independent retry, and complete delivery logs.
Guaranteed delivery for Stripe, Paddle, and PayPal webhooks — with automatic retry, HMAC verification, and a full audit trail built in.
Up and running in minutes. No credit card required. Connect your first source and see events flowing in real time.