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

# Retrieve a shipment

> Get one shipment by reference for the authenticated workspace.

Look up a shipment by its `SHP-` reference. Unknown references, and shipments that belong to another workspace, return `404`.

<ParamField path="path.shipment" type="string" required>
  Shipment reference, for example `SHP-12345`.
</ParamField>

```bash theme={null}
curl https://api.kasiye.com/v1/shipments/SHP-12345 \
  -H "Authorization: Bearer shp_your_key"
```

The shipment is wrapped in `data`:

<ResponseField name="data.reference" type="string" required>
  Unique `SHP-` reference.
</ResponseField>

<ResponseField name="data.customer" type="object" required>
  `id`, `name`, `email`, and optional `id_number`.
</ResponseField>

<ResponseField name="data.pickup" type="object" required>
  `address`, `lat`, and `lng`.
</ResponseField>

<ResponseField name="data.dropoff" type="object" required>
  `address`, `lat`, and `lng`.
</ResponseField>

<ResponseField name="data.weight_kg" type="number" required>
  Package weight in kilograms.
</ResponseField>

<ResponseField name="data.distance_km" type="number" required>
  Quoted distance.
</ResponseField>

<ResponseField name="data.fees" type="object" required>
  `distance`, `weight`, `base`, `total`, and `currency`.
</ResponseField>

<ResponseField name="data.status" type="string" required>
  Delivery status. See [Shipment statuses](/guides/statuses).
</ResponseField>

<ResponseField name="data.payment_status" type="string" required>
  Payment status.
</ResponseField>

<ResponseField name="data.created_at" type="string" required>
  ISO 8601 timestamp.
</ResponseField>

<ResponseField name="data.updated_at" type="string" required>
  ISO 8601 timestamp.
</ResponseField>
