> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OverboxShipmentPurchaseInput

> An overbox label to buy.

**carrier** `[OverboxCarrier!](/docs/api-reference/v3/reference/shipping/overbox-carrier)` *required*

The first-mile carrier to buy the label on. Must be one `overboxServices` lists for the service.

**idempotencyKey** `String!` *required*

Unique key for this purchase (max 400 characters). Retrying with the same key returns the overbox the first call bought instead of buying another, even when the first call failed with `OVERBOX_NOT_RECORDED` or timed out; a retry while that first call is still running fails with `PURCHASE_IN_PROGRESS`, and the same key with a different request fails with `IDEMPOTENCY_KEY_REUSED`. Always retry a purchase with its own key: if the first call stopped after the label was bought, a retry five minutes later recovers that label instead of buying another. Start a new key only for a new purchase.

**parcel** `[OverboxParcelInput!](/docs/api-reference/v3/reference/shipping/overbox-parcel-input)` *required*

The outer box.

**fields**

**height** `[DimensionInput!](/docs/api-reference/v3/reference/catalog/dimension-input)` *required*

The box's height.

**fields**

**unit** `[DimensionUnit!](/docs/api-reference/v3/reference/catalog/dimension-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the length.

**length** `[DimensionInput!](/docs/api-reference/v3/reference/catalog/dimension-input)` *required*

The box's length.

**fields**

**unit** `[DimensionUnit!](/docs/api-reference/v3/reference/catalog/dimension-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the length.

**weight** `[WeightInput!](/docs/api-reference/v3/reference/catalog/weight-input)` *required*

The packed box's total weight.

**fields**

**unit** `[WeightUnit!](/docs/api-reference/v3/reference/catalog/weight-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the weight.

**width** `[DimensionInput!](/docs/api-reference/v3/reference/catalog/dimension-input)` *required*

The box's width.

**fields**

**unit** `[DimensionUnit!](/docs/api-reference/v3/reference/catalog/dimension-unit)` *required*

The unit the value is expressed in.

**value** `Float!` *required*

The numeric magnitude of the length.

**service** `[OverboxService!](/docs/api-reference/v3/reference/shipping/overbox-service)` *required*

The consolidator to ship the box to. Must be one `overboxServices` lists.

**shipFromLocationId** `ID`

The `Location` the box ships from. It sets the label's from-address and limits the parcels sealed inside to that location's. Omit to ship from your account address and seal parcels from every location.

**shipmentIds** `[ID!]`

The labeled packages to seal into this box (max 200): `CarrierShipmentTracker` ids for labels bought with `purchaseCarrierShipment`, or `Tracker` ids for labels bought in Redo's shipping app. Each must be a label bought on this consolidator, not voided, and not already sealed in another overbox; otherwise nothing is bought and the purchase fails with `SHIPMENT_NOT_FOUND` or `SHIPMENT_NOT_ELIGIBLE`, naming the id. Omit or send an empty list to seal the parcels labeled for this consolidator from the same ship-from location since its previous overbox.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.