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

# Outbound Shipments

> Integration sequence for carrier tracking and delivery

An outbound shipment is read-only. There is no create or cancel endpoint. Read ids from the outbound request's `outboundShipmentIds`, then use [List Outbound Shipments](/api-reference/outbound-shipments/list) and [Get Outbound Shipment](/api-reference/outbound-shipments/get). Each id is its own shipment.

The shipment is `processing` when it first appears. `carrier`, `trackingNumber`, and `trackingUrl` are present once a label exists.

## Statuses

Shipment `status` on list, get, and `outbound_shipment.status_changed`:

| Status       | What to do                                                                                                                                                           |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `processing` | First status on list and get. Tracking fields may be empty. This status does not send a webhook.                                                                     |
| `shipped`    | Webhook `fromStatus` is `processing`. [Get Outbound Shipment](/api-reference/outbound-shipments/get) includes `shippedAt`. Status stays `shipped` until `delivered`. |
| `delivered`  | Webhook `fromStatus` is `shipped` and the payload includes `deliveredAt`. Terminal.                                                                                  |
