Pallet Contents¶
Retrieve the packed pallet contents for a shipment after optimization has produced it, typically within a few minutes of submission. Each pallet lists the items it carries, grouped by SKU, purchase order, and line item.
Note
Availability: this endpoint returns the ALPHA built pallets. For Air,
TruckLTL and OceanLCL these come from the selected pallet optimization.
For OceanFCL and TruckFTL they are the pallets built from your
order_items and loaded into the containers.
pre_builts and loose_boxes are never returned. A shipment carrying only
those gets a 400 (see Error Responses).
Avoid polling where possible: subscribe to the packing_instructions.ready
webhook event (see Events) and fetch once it fires.
Polling: If you do poll, expect 400 responses until optimization results exist (see Error Responses). Use exponential backoff, keep the interval compatible with API rate limits, and avoid tight loops.
Endpoint¶
Authentication Requirements¶
Requires a valid API key. See Authentication.
Query Parameters¶
|
Parameter |
Type |
Description |
|---|---|---|
|
|
String |
Required. Your shipment reference or Alpha ID. Whitespace-only values are rejected. |
Success Response (200 OK)¶
Returns a JSON array of packed pallets. Each pallet contains its identifiers and a grouped list of its contents.
|
Field |
Type |
Description |
|---|---|---|
|
|
String |
Sequential label assigned by the optimization engine (e.g. |
|
|
String |
The pallet type code from the lane configuration (e.g. |
|
|
Array |
Items on the pallet, grouped by |
|
|
String |
Product code of the grouped item. |
|
|
String |
Purchase order the item belongs to. |
|
|
String |
Line item number within the purchase order. |
|
|
Integer |
Total quantity of the item across all steps on the pallet. |
Example response
[
{
"pallet_index": "AP1",
"pallet_code": "EUR",
"contents": [
{
"sku": "PRD-001",
"purchase_order": "PO-1",
"line_item_number": "L1",
"quantity": 150
},
{
"sku": "PRD-002",
"purchase_order": "PO-2",
"line_item_number": "L2",
"quantity": 30
}
]
}
]
Example (curl)
curl -sS -H "Authorization: Api-Key YOUR_KEY" \
"BASE_URL/api/v1/orders/pallet-contents/?order=YOUR_REF"
Replace BASE_URL with your environment base URL (see API Base URLs).
Error Responses¶
Errors return JSON. Typical cases:
|
HTTP |
Meaning |
What to do |
|---|---|---|
|
|
No matching order for |
Fix the identifier or confirm the order belongs to your tenant |
|
|
Order exists but optimization results not generated yet |
Wait and retry. Contact support if it exceeds ~10 minutes |
|
|
Optimization built no ALPHA pallets for this shipment |
Do not retry. This shipment has no pallet contents |
|
|
Bad or missing API key |
Fix |
Order not found (400)¶
{
"order": [
"No order found matching the provided reference."
]
}
Shipments that belong to other API customers are invisible. You see the same message as for a typo, by design.
Results not ready yet (400)¶
{
"order": [
"Optimization results not available yet, please try after a couple of minutes. If not ready within 10 minutes, reach out to our support team"
]
}
Optimization may still be running. Retry after a short pause.
No ALPHA pallets (400)¶
{
"order": [
"No ALPHA pallets are available in this shipment"
]
}
Optimization finished and built no pallets, typically a container shipment carrying only
pre_builts and/or loose_boxes. Retrying will not change this.
Invalid or missing API key (403)¶
No JSON body is guaranteed. Ensure the Authorization: Api-Key … header is present
and valid.