Glossary · Product

Delivery

A single dispatch lifecycle to a destination — includes all retry attempts.

A delivery is a single dispatch lifecycle to one destination — from initial dispatch through all retry attempts to final outcome (success, terminal failure, or DLQ).

A delivery has one source event but can have many attempts. Each attempt is one HTTP request; the delivery encompasses all of them.

Delivery lifecycle states

Every delivery moves through these states:

  • Queued — created and waiting for the next available worker
  • Scheduled — deferred via x-hooksbase-deliver-at header to a future time
  • In progress — currently being dispatched (an attempt is in progress)
  • Retrying — waiting for the next retry attempt
  • Succeeded — an attempt returned 2xx
  • Failed — all retries exhausted; a DLQ entry is recorded for recovery
  • Canceled — delivery processing was stopped before completion

A delivery is the unit of correlation. When a customer asks "did you deliver this event?", the answer is a single delivery's status — even though that delivery may have included a dozen attempts.

One event, one selected delivery path

A single ingested event creates a delivery for the destination selected by routing. Rules are evaluated in priority order; the first match wins, and unmatched events go to the default destination.

If you need true multi-consumer fan-out, use a downstream broker destination such as EventBridge, SQS/SNS, or your own HTTP fan-out service, and let Hooksbase track delivery into that handoff point.

Why this granularity matters

Delivery is the right unit for billing, observability, and replay: you replay a specific delivery record, not a vague "event." The relay's pricing, quotas, and reporting all key off delivery counts.

For the broader pattern: Routing, transforms, and replay for AI agents.

Related terms