Skip to content
API PlatformDevelopers
POST/v1/webhooks/deliveries/{delivery_id}/retrybeta

Retry a delivery now

Needs
Manage webhook endpoints (webhooks:write)
Plan
Any plan with API access
Limits
60 a minute per key
Dry run
Yes — every check runs with ?dry_run=true, nothing changes
Undo
Nothing to undo; your receiver gets the event again.

Re-sends one failed or expired delivery right away, skipping the backoff. Your receiver gets the same event again (same Webhook-Id), so it must handle duplicates.

Try it

Path

The delivery id.

Protects against doing it twice if you retry: a retry with the same key gets the first answer back instead of running again.

Test mode (dry run): nothing will change
Turns test mode off for this page only. It switches back when you leave the page.

Code and response

curl -X POST 'https://mcp.wa-api.cloud/v1/webhooks/deliveries/del_01J8Z7C2E5H9K4M6P8R1S3V5XB/retry?dry_run=true' \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

The code reads your key from $API_KEY.

Parameters

Parameters
FieldTypeWhat it is
delivery_idrequiredstring · pathThe delivery id.pattern ^del_[0-9A-HJKMNP-TV-Z]{26}$

Headers

Headers
FieldTypeWhat it is
AuthorizationrequiredheaderBearer $API_KEY — your API key.
Api-VersionheaderThe API version to use, e.g. 2026-10-01. Default: the version your key is pinned to.one of: 2026-10-01 · pattern ^\d{4}-\d{2}-\d{2}$
Idempotency-KeyrequiredheaderRequired here. Any unique string (8–128 characters), e.g. your order id plus the step. Kept 24 hours. Not needed with dry_run=true.pattern ^[A-Za-z0-9._:-]+$ · 8–128 characters

Response 202

The new attempt.

Response fields
FieldTypeWhat it is
retried_fromrequiredstring
deliveryrequiredobject
idrequiredstring
endpoint_idrequiredstring
event_idrequiredstring or null
statusrequiredstringpending | succeeded | failed | expired
attemptrequirednumber
response_statusrequirednumber or null
latency_msrequirednumber or null
created_atrequiredstring or null
dry_runbooleantrue when this was a dry run: every check ran and nothing changed.

Errors

Errors are application/problem+json. Branch on code.

StatusCodeWhen
400invalid_input

A field is missing or has the wrong format. errors[] points at each field. Also returned when the Idempotency-Key header is missing, or was used before with a different body.

401unauthenticated

The Authorization header is missing, the key is unknown, expired or revoked.

403entitlement_required

The workspace's plan does not include API access (api_access).

403insufficient_scope

The key does not have the permission this operation needs.

404not_found

No delivery with this id.

409conflict

Only failed or expired deliveries can be retried. Also returned while a request with the same Idempotency-Key is still running.

429rate_limited

The key or workspace went over its rate limit. Wait for Retry-After seconds.

503upstream_unavailable

A service behind the API is briefly unavailable. Safe to retry with backoff.

504timeout

The change did not finish in time. Retry with the same Idempotency-Key: it never runs twice.

Examples

Retry after fixing your server

Response 202

{
  "retried_from": "del_01J8Z7C2E5H9K4M6P8R1S3V5XB",
  "delivery": {
    "id": "del_01J8Z9D3F6J0M5N7Q9S2T4W6YC",
    "endpoint_id": "ep_01J8Z6Q4M9W2X7K3B5N1R0T8YA",
    "event_id": "evt_01J8Z7BZQ4F6G8J2K5N7Q9S1VC",
    "status": "pending",
    "attempt": 3,
    "response_status": null,
    "latency_ms": null,
    "created_at": "2026-09-23T03:02:11Z"
  }
}

Operation path

The same operation is also at POST /v1/ops/webhooks_retry_delivery, with every field in the JSON body.