> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rendr.delivery/llms.txt.
> For full documentation content, see https://docs.rendr.delivery/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rendr.delivery/_mcp/server.

# Rebook a Delivery

Create a new delivery based on an existing delivery. Unlike [Re-Delivery](/api/deliveries/redeliver), Rebook is not restricted to deliveries in a specific status — it can be applied to any delivery regardless of its current state. All fields from the original delivery are copied to the new record automatically — you only need to provide the fields you want to override.

The new delivery reference will be automatically prefixed with `RB-` to distinguish it from the original.

***

## Endpoint

```
POST {{domain}}/{{tenant_id}}/deliveries/{{delivery_id_or_reference}}/rebook
```

**Authentication:** Bearer token required via the `Authorization` header.

***

## Path Parameters

| Parameter                  | Description                                                                         |
| -------------------------- | ----------------------------------------------------------------------------------- |
| `delivery_id_or_reference` | The Rendr `delivery_id` or your own `reference` of the original delivery to rebook. |

***

## Request Payload

At minimum, `ready_for_pickup_at` is required. Any additional fields provided will override the values copied from the original delivery.

```json title="POST /{{tenant_id}}/deliveries/{{delivery_id_or_reference}}/rebook"
{
    "ready_for_pickup_at": "2023-10-03T11:30:00+10:00",
    "use_dynamic_RFP": true
}
```

## Request Fields

| Field                  | Type              | Required | Description                                                                                                                         |
| ---------------------- | ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `ready_for_pickup_at`  | String (ISO 8601) | Yes      | The earliest date and time the rebooked delivery order will be ready for carrier collection.                                        |
| `use_dynamic_RFP`      | Boolean           | No       | When `true`, Rendr will dynamically adjust the pickup time based on real-time carrier availability.                                 |
| *(any delivery field)* | —                 | No       | Any field from the standard Create Delivery payload can be included to override the corresponding value from the original delivery. |

The behaviour on creation follows the same rules as a standard delivery. If `book_delivery_now: true` is set, the rebooked delivery will be submitted for booking immediately and transition to `booked`. Otherwise it will be created in `requested` state and await booking. Ensure `ready_for_pickup_at` reflects an accurate pickup time, as the carrier will be allocated based on this value.