Webhook delivery
Deliver webhooks from one authenticated, logged endpoint
Outbound webhook delivery is outbound HTTP with extra ways to fail: customer endpoints go down, DNS breaks, and every retry needs to be explicable. Backfire gives each attempt a predictable envelope and a log line you can point at when a customer asks what happened.
Where it goes wrong
Webhook senders usually grow their own retry queue, their own TLS handling and their own logging. The result is duplicated failure classification and no shared answer to "did we actually deliver it?".
What Backfire handles
- Any method and any body — JSON or base64 for binary payloads.
- Custom headers pass through, so signature headers arrive exactly as you set them.
- Per-attempt status, timing and byte counts are recorded, including 4xx and 5xx responses.
- Blocked or unresolvable targets fail fast and cost no trips, so bad configuration never burns balance.
The request
example
const res = await fetch('https://backfireapi.base44.app/functions/forward', {
method: 'POST',
headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
url: endpoint.url,
method: 'POST',
headers: { 'X-Signature': signature, 'Content-Type': 'application/json' },
body: event,
timeout_ms: 10000,
}),
});
const envelope = await res.json();
// upstream.status tells your retry policy exactly what the customer's server said
if (!envelope.ok || envelope.upstream.status >= 500) scheduleRetry();All use cases
Questions about this
Keep reading
Try it with 5,000 free trips.
No card, no subscription, and the balance never expires.

