Webhooks

Replay a finished delivery: reset it to PENDING and re-fire the signed POST.

404 if the delivery isn't visible to the caller; 409 if a delivery for the request is still in flight (a replay must not stack on it). The delivery is re-validated (SSRF) and re-signed at send time, and the receiver dedupes on X-Hedra-Webhook-Id, so a replay is safe.

The webhook id is stable across the original and every replay, because it identifies the event. Every attempt of a replayed cycle therefore also carries X-Hedra-Webhook-Redelivery: true — without it a receiver doing exactly what our guidance says (dedupe on the id) would silently discard the replay, which is the one case where the duplicate is the point.

post/webhooks/deliveries/{job_id}/redeliver

Request

  • Base URL
    https://api.hedra.com/v3
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Path parameters

job_idstring required

The job's id (job_<uuid>).

Response

Successful Response

job_idstring required

The job whose terminal event this delivers.

job_accessibleboolean required

Whether GET /v3/jobs/{job_id} works for the caller — false when the job belongs to a different owner than the authenticating key.

modelstring required

The resolved model id the job ran on.

event_type'job.completed' | 'job.failed'

The terminal events an outbound webhook announces.

One delivery carries exactly one of these, chosen from the job's final status when the delivery fires.

status'PENDING' | 'DELIVERING' | 'DELIVERED' | 'FAILED' required

Where a delivery stands: queued, in flight, or its terminal outcome.

source'per_job' | 'default' required

Which URL resolution created this delivery.

attemptsinteger required

Delivery attempts so far, cumulative across replays.

redelivery_countinteger

How many operator replays this delivery has had; 0 means every attempt was automatic.

last_response_statusinteger nullable

HTTP status of the most recent attempt; null when it never got a response.

webhook_urlstring required

The destination endpoint.

created_atstring date-time required

ISO-8601 instant the delivery was registered.

last_attempt_atstring date-time nullable

ISO-8601 instant of the most recent attempt; null before the first one.

Changes