Delivery Model
Webhook delivery is at least once. Your endpoint can receive the same event or delivery more than once after retries, network errors, worker restarts, or a manual replay. Use these headers to make handlers idempotent:x-kavenio-event-id: stable event id.x-kavenio-delivery-id: stable delivery id for this endpoint delivery.x-kavenio-event-type: event type, such aspost.published.x-kavenio-attempt: delivery attempt number.
x-kavenio-delivery-id or the event id plus event type before applying
side effects. If you have already processed that id, return a 2xx response.
Retries And Dead Letters
Kavenio treats any non-2xx response, timeout, DNS failure, or unsafe endpoint resolution as a failed attempt. Delivery workers retry with backoff until the maximum attempt count is reached. After the final failed attempt, the delivery is markeddead_lettered and appears in webhook delivery logs.
Repeated dead-letter outcomes increment the endpoint failure count. After the
threshold is reached, Kavenio pauses the endpoint by setting isActive to
false and disabledAt to the time it was paused. Fix the endpoint, then
reactivate it from webhook settings.