# webhook_delivery_not_retryable

- HTTP status: 409
- Retry: No
- Execution: not started
- Admin needed: no

**Delivery cannot be retried.** Only a delivery whose status is `failed` or `retrying` can be retried by hand. A pending delivery is about to be attempted, and a succeeded one is done.

## What it means

The API returns HTTP 409 with `error.code` set to `webhook_delivery_not_retryable`. The default message is: "This delivery cannot be retried in its current status."

## Common causes

- The delivery is `pending` or `succeeded` (`details.status`).
- An attempt of this delivery is being made right now (`details.status` is `attempt_in_progress`). A retry then would send the same delivery twice at once.

## How to identify it

Check the response status (`409`) and `error.code` (`webhook_delivery_not_retryable`). Branch on `error.code`, not on the message text: messages can be reworded, codes do not change within v1. Log `error.request_id` (also sent as the `X-Request-Id` header) so support can find the request.

## How to fix it

- Retrieve the delivery list and retry only `failed` or `retrying` deliveries; for `attempt_in_progress`, wait a few seconds and read the delivery again.

## Retry guidance

Sending the request unchanged fails the same way. Fix the cause first (see How to fix it), then send it again.

## Did anything happen?

This request was refused before any call was placed and before anything was charged.

## Idempotency

Nothing was done and the refusal is not stored under the Idempotency-Key. Fix the cause, then send the same request (with the same key if you sent one).

## Who can fix it

The developer who sends the request can fix it; no administrator action is normally needed.

## When to contact support

If the error persists after the steps above, contact [support@relationsai.com](mailto:support@relationsai.com). See [Support](/resources/support) for what to include (the `request_id`, the time in UTC, the operation, and whether you used a test or live key) and what never to send (API keys, Authorization headers, webhook signing secrets, recording links, transcripts or customer data).

## Example error response

```json
{
  "error": {
    "code": "webhook_delivery_not_retryable",
    "message": "This delivery cannot be retried in its current status.",
    "details": {
      "status": "succeeded"
    },
    "request_id": "req_muidnqs65gyrzxl5mswtz3fe",
    "retry": "no",
    "doc_url": "https://docs.relationsai.com/errors/webhook_delivery_not_retryable"
  }
}
```

## Operations that can return this error

- [`POST /webhook-deliveries/{webhook_delivery_id}/retry`](/api/webhook-endpoints#retry-a-delivery): Retry a delivery

See all codes in the [error-code reference](/fundamentals/error-codes).
