> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0xarchive.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a past delivery again JSON Schema

> Send a past delivery again JSON Schema contract. Includes route metadata, request parameters, response statuses, examples, and JSON fields for implementation.

Source OpenAPI: 0xArchive API 1.6.1; 168 paths; 190 component schemas.

Queue a delivery that has already been attempted for another attempt. The delivery and event identifiers are unchanged, so a receiver that already processed the event can deduplicate on the event identifier. The record is reset in place: the retry window and the attempt counter start again from now, and the previous attempt's status, error and timing are cleared, so the log entry then describes the repeat rather than the original failure. If the delivery's endpoint is switched off the request is refused rather than queued, because nothing would be sent. A repeat delivery is a real signed delivery, so it counts against today's delivery budget, and it is refused on a plan without webhook delivery or once that budget is spent. Authenticate with an API key or a signed-in dashboard session. Costs no credits.

## Route Metadata

| Field                | Value                                    |
| -------------------- | ---------------------------------------- |
| Method               | `POST`                                   |
| Path                 | `/v1/webhooks/deliveries/{id}/redeliver` |
| operationId          | `redeliverWebhookDelivery`               |
| Tag                  | Webhooks - Deliveries                    |
| Family               | Webhooks                                 |
| Deprecated or legacy | no                                       |

## Request Parameters

### Path Parameters

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery path parameters",
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "description": "Delivery identifier.",
      "type": "string",
      "format": "uuid",
      "example": "3c1f0a52-8d6b-4f0e-9b1a-6f2c4d8e9a10",
      "x-parameter-location": "path"
    }
  }
}
```

## Response Contracts

### Status 200

The delivery was queued for another attempt

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 200",
  "description": "API response containing a delivery queued for another attempt.",
  "type": "object",
  "properties": {
    "data": {
      "description": "A past delivery queued for another attempt. The identifiers are unchanged, because the delivery is re-queued in place.",
      "type": "object",
      "required": [
        "attempts",
        "delivery_id",
        "event_id",
        "event_type",
        "next_attempt_at",
        "state"
      ],
      "properties": {
        "attempts": {
          "description": "Attempt counter, restarted from zero.",
          "type": "integer",
          "format": "int32",
          "example": 0
        },
        "delivery_id": {
          "description": "Delivery identifier, the same one that was asked for.",
          "type": "string",
          "format": "uuid"
        },
        "event_id": {
          "description": "Event identifier, unchanged, so a receiver that already processed this event can deduplicate on it.",
          "type": "string",
          "format": "uuid"
        },
        "event_type": {
          "description": "Event type being delivered again.",
          "type": "string",
          "example": "market.liquidation"
        },
        "next_attempt_at": {
          "description": "When the attempt is due, which is immediately.",
          "type": "string",
          "format": "date-time"
        },
        "state": {
          "description": "Always `pending` immediately after a repeat delivery is queued.",
          "type": "string",
          "enum": [
            "pending"
          ],
          "example": "pending"
        }
      }
    },
    "note": {
      "description": "What the repeat delivery rewrites on the delivery record, and what it does not.",
      "type": "string"
    },
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}
```

### Status 400

Invalid request

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 400",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 400,
  "error": "Failed to deserialize query string: limit: invalid digit found in string",
  "error_code": "invalid_query_params",
  "request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}
```

### Status 401

Authentication required

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 401",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}
```

### Status 404

Resource not found

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 404",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 404,
  "error": "Resource not found"
}
```

### Status 409

Nothing was queued, either because the delivery's endpoint is switched off or because today's delivery budget is already spent.

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 409",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    }
  }
}
```

##### OpenAPI example: budgetSpent

```json theme={"theme":"github-dark"}
{
  "code": 409,
  "error": "The account is at today's limit of 5000 webhook deliveries. This redelivery counts against that limit, so it would not be sent. The daily allowance resets at 2026-09-21 00:00 UTC.",
  "request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}
```

##### OpenAPI example: endpointSwitchedOff

```json theme={"theme":"github-dark"}
{
  "code": 409,
  "error": "This delivery's endpoint is disabled, so nothing would be sent. Re-enable it with POST /v1/webhooks/endpoints/3c1f0a52-8d6b-4f0e-9b1a-6f2c4d8e9a10/enable, then redeliver.",
  "request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}
```

### Status 429

Rate limit exceeded

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "redeliverWebhookDelivery response 429",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 429,
  "error": "Rate limit exceeded"
}
```
