Webhook infrastructure

Ship webhooks you don’t have to babysit.

Wiresify takes your outbound events, delivers them with signed payloads, exponential backoff and idempotency keys, and hands you a searchable log of every attempt. One endpoint to call. No queue to operate.

# send an event — we handle the rest curl https://api.getwiresify.com/v1/events \ -H "Authorization: Bearer $WIRESIFY_KEY" \ -H "Idempotency-Key: evt_8f21c0" \ --json "{ \"topic\": \"invoice.paid\", \"payload\": { \"amount\": 4900 } }" # => 202 Accepted, queued to 3 subscriptions

What you get

The unglamorous parts of event delivery, already built and already tested.

Retries that behave

Exponential backoff with jitter over 24 hours, per-subscription circuit breaking, and automatic pause on endpoints that stay down.

🔑

Signed payloads

Every request carries an HMAC-SHA256 signature and a timestamp, with key rotation that keeps both keys valid during the overlap window.

🔍

Searchable attempt log

Filter by topic, subscription, status code or body. Replay any single event or a whole time range with two clicks.

Ordering when you need it

Opt into per-key FIFO delivery so events for the same customer never overtake each other, without serialising your whole stream.

🌐

Static egress IPs

All deliveries leave from a small, published IP range so your customers can put Wiresify on their allowlists once and forget it.

Regional processing

Pin an account to EU or US processing. Payload bodies stay in the region you pick, including in the attempt log.

99.98%
Delivery API uptime, trailing 90d
41ms
Median ingest latency
24h
Retry window
30d
Attempt log retention

Drop it in front of what you already have

Point your existing publisher at one endpoint. Subscriptions, filtering and fan-out are configuration, not code.

Fan-out by topic

Publish invoice.paid once. Every subscription matching that topic pattern gets its own delivery, its own retry state and its own log.

Customer-managed endpoints

Embed the subscription management UI, or drive it through the API from your own dashboard. Your customers never see our brand unless you want them to.

Transform on the way out

Map your internal event shape to whatever a given consumer expects with a small declarative template, versioned per subscription.

Alerts that mean something

Get notified when a subscription’s failure rate crosses a threshold you set — not on every individual 500.

Questions we get a lot

Do you store the payload bodies?

Yes, for the retention period on your plan, because replay is not much use without them. You can enable body redaction per topic if you would rather we kept only metadata.

What happens if an endpoint is down for a day?

We keep retrying for 24 hours with widening gaps, then mark the delivery failed and leave it in the log. If the endpoint fails 20 consecutive deliveries we pause the subscription and notify you rather than hammering it.

Can we self-host?

There is a single-tenant deployment on the Scale plan that runs in your own cloud account. Fully self-hosted with no connection back to us is not something we support today.

How do you handle duplicate sends?

Send an Idempotency-Key header and we deduplicate for 24 hours. Delivery itself is at-least-once, so consumers should still be idempotent.

Start with the free tier

10,000 deliveries a month, no card. Move up when your traffic does.

Create an account