For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create Multiple Shipments

Adds shipments to multiple orders in a single request. Each entry in the array carries its own order_id.

This consumes a single rate limit token for the whole request rather than one token per order.

The response contains a results array with one entry per shipment, in the order submitted. Individual entries can fail while the request itself returns 200, so these results should be inspected.

post
Authorizations
ORDERDESK-API-KEYstringRequired

Your API key, found under Store Settings on the API tab. This should be kept server-side.

ORDERDESK-STORE-IDstringRequired

Your store ID, found under Store Settings on the API tab.

Bodyall of[]
order_idintegerRequired

Order Desk's internal ID for the order this shipment belongs to.

Example: 925086
tracking_numberstringOptional

Carrier-assigned tracking number. Use n/a if no tracking number is applicable.

Example: 1Z999AA10123456784
carrier_codestringOptional

Carrier code such as USPS or FedEx, when available.

Example: UPS
shipment_methodstringOptional

Shipping service name, such as First Class International.

Example: UPS Ground
weightnumber · doubleOptional

Final shipment weight.

Example: 2.4
costnumber · doubleOptional

Your cost to send the shipment.

Example: 9.5
statusstringOptional

Current shipment status, used by the EasyPost webhook.

tracking_urlstringOptional

If omitted, Order Desk attempts to determine it from the tracking number format and carrier code.

Responses
200

The batch was processed. Inspect results for the outcome of each shipment.

application/json
statusstring · enumRequired

Either success or error.

Possible values:
messagestringOptional

Describes the result. Always present when an error occurs.

execution_timestringOptional

Time taken to process the request.

Example: 0.1524 seconds
order_idintegerOptionalExample: 925086
statusstring · enumOptional

Outcome for this individual shipment.

Possible values:
messagestringOptionalExample: Shipment Added
post/batch-shipments
curl "https://app.orderdesk.me/api/v2/batch-shipments" \
  -X POST \
  -H "ORDERDESK-STORE-ID: your-store-id" \
  -H "ORDERDESK-API-KEY: your-api-key" \
  -H "Content-Type: application/json" \
  -d '[{"order_id": 925086, "tracking_number": "1Z999AA10123456784", "carrier_code": "UPS", "shipment_method": "UPS Ground", "weight": 2.4, "cost": 9.5}, {"order_id": 925087, "tracking_number": "9400111899223197428490", "carrier_code": "USPS", "shipment_method": "Priority Mail", "weight": 1.1, "cost": 7.75}]'
{
  "status": "success",
  "message": "text",
  "execution_time": "0.1524 seconds",
  "results": [
    {
      "order_id": 925086,
      "status": "success",
      "message": "Shipment Added"
    }
  ]
}

Last updated

Was this helpful?