---
search:
  tags:
    - shipments
    - POST
seo:
  description: >-
    Submits a shipment draft for carrier booking. Reference for the POST
    /shipments/{id}/book endpoint in the Bookogsend Customer API.
sidebar:
  label: Book shipment
  badge: POST
title: Book shipment
type: openapi-operation
---
Submits a shipment draft for carrier booking.

## Prerequisites

- The shipment must be `PENDING`.
- It must have no linked payments, quotations, proforma data, or automatic returns.
- The service must support carrier booking. `OTHER` cannot be booked.
- The stored shipment must meet current service requirements and have an available price greater than zero.

## Behavior

- Booking revalidates the draft and recalculates its price. For parcel-shop delivery, it also revalidates the stored shop ID and refreshes the shop details.
- `200` with `PROCESSING` confirms queue dispatch. Read the shipment for the completed booking result.
- `409 PRICE_CHANGED` keeps the draft `PENDING`, updates its price, and returns `errors.price`. Review the price and use a new idempotency key to accept it. The previous key replays the conflict.
- `409 SERVICE_NO_LONGER_AVAILABLE` queues no booking.
- Retry a `503` dispatch failure with the same idempotency key.

## Permission

SHIPMENTS_WRITE

See [Troubleshooting](/docs/api/reference/troubleshooting#common-errors) for authentication, access, rate-limit, and service errors.

`POST /shipments/{id}/book`
