# Shipment items

Allocate basket positions to shipments. Base method: `sale.shipmentitem.*`. Scope: `sale`.

## Operations

- [List](./shipment-items/list.md): `GET /v1/shipment-items`
- [Get](./shipment-items/get.md): `GET /v1/shipment-items/:id`
- [Create](./shipment-items/create.md): `POST /v1/shipment-items`
- [Update](./shipment-items/update.md): `PATCH /v1/shipment-items/:id`
- [Delete](./shipment-items/delete.md): `DELETE /v1/shipment-items/:id`
- [Search](./shipment-items/search.md): `POST /v1/shipment-items/search`
- [Fields](./shipment-items/fields.md): `GET /v1/shipment-items/fields`
- [Aggregate: Shipment items](./shipment-items/aggregate.md): `POST /v1/shipment-items/aggregate`
- [Batch](./shipment-items/batch.md): `POST /v1/shipment-items/batch`

## Behavior

Lists include system shipment positions and old orphan rows. Use `filter[orderDeliveryId]` to select one shipment; a listed old row does not guarantee a readable get by ID.

Create requires `orderDeliveryId`, `basketId`, `quantity`. Shipment and basket IDs belong to the same order; Bitrix24 decides access and whether system shipment operations are allowed. PATCH cannot reassign `basketId` or `orderDeliveryId`. Fractional quantities are forwarded without rounding; excessive unallocated quantities return a business refusal. PATCH changes only supplied fields. `reservedQuantity` is readonly.

## Related routes

Use [orders](/docs/entities/orders) for an order with nested shipments; use [CRM deliveries](/docs/entities/crm-deliveries) for read-only shipments of a CRM item. These routes manage individual shipments and positions.
