Create Shipment
Records a shipment against an order. Add one shipment per parcel, as an order containing several shipments represents a partial fulfillment.
If no tracking number is available, use n/a rather than an empty value.
If tracking_url is omitted, Order Desk attempts to determine it from the tracking number format and the carrier code.
To add shipments to many orders at once, use the POST /batch-shipments endpoint instead.
Your API key, found under Store Settings on the API tab. This should be kept server-side.
Your store ID, found under Store Settings on the API tab.
Order Desk's internal order ID. This is not your source_id.
736745Carrier-assigned tracking number. Use n/a if no tracking number is applicable.
1Z999AA10123456784Carrier code such as USPS or FedEx, when available.
UPSShipping service name, such as First Class International.
UPS GroundFinal shipment weight.
2.4Your cost to send the shipment.
9.5Current shipment status, used by the EasyPost webhook.
If omitted, Order Desk attempts to determine it from the tracking number format and carrier code.
The shipment was recorded.
Either success or error.
Describes the result. Always present when an error occurs.
Time taken to process the request.
0.1524 secondsThe request was rejected. message names the problem.
Authentication failed. See the Authentication guide, and note that an invalid store ID blocks your store rather than simply failing the request.
No record matches that ID in your store.
You are sending too fast. Wait X-Retry-After seconds. See
the Rate Limits guide.
The request could not be completed.
curl "https://app.orderdesk.me/api/v2/orders/736745/shipments" \
-X POST \
-H "ORDERDESK-STORE-ID: your-store-id" \
-H "ORDERDESK-API-KEY: your-api-key" \
-H "Content-Type: application/json" \
-d '{"tracking_number": "1Z999AA10123456784", "carrier_code": "UPS", "shipment_method": "UPS Ground", "weight": 2.4, "cost": 9.5}'
{
"status": "success",
"message": "Shipment Added",
"execution_time": "0.1524 seconds"
}Last updated
Was this helpful?

