Hold shipments
Changed onHolds one or more shipments until a given date. A shipment on hold has the on_hold status, and you can't purchase a label for it while it's on hold. On the hold_until_date, the shipment is released automatically and returns to the pending status. You can hold up to 500 shipments at once.
hold_until_date is a date-only value: any time component you send is ignored, and the date must be later than today.
Shipments that cannot be held — because they are not found, are cancelled, or have a purchased label — are reported in errors, and the remaining shipments are still held. If only some of the shipments were held, the response status is 207. If none of them could be held, the response status is 404 when at least one shipment was not found, or 400 otherwise, and shipment_ids is empty.
To hold a single shipment, use Hold a shipment.
Request
- Base URLhttps://api.shipstation.com
- URLhttps://api.shipstation.com/v2/shipments/hold
- AuthAPI key in header api-key
Request body
Example request
{
"shipment_ids": [
"se-202902255",
"se-202902256"
],
"hold_until_date": "2026-10-15"
}Response
The request was a success.
Example response
{
"shipment_ids": [
"se-202902255",
"se-202902256"
],
"hold_until_date": "2026-10-15T00:00:00Z",
"errors": [
{
"message": "Body of request cannot be null.",
"field_name": "inventory_warehouse_id",
"field_value": "invalid-id"
}
],
"request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009"
}Changes
- warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status
- warning
- breaking
the
/request property's minLength was increased from0to1 - breaking
added the pattern
^se(-[a-z0-9]+)+$to the request property/ - breaking
the
/request property type changed from no type tostring - breaking
the
/response's property type changed from no type toobjectfor status - breaking
the
/response's property type changed from no type toobjectfor status - breaking
the
/response's property type changed from no type toobjectfor status - breaking
the
/response's property type changed from no type toobjectfor status - breaking
the
/response's property type changed from no type tostringfor status - breaking
the
/response's property type changed from no type tostringfor status - warning
removed from the
/request propertyallOflist - warning
the
/request property's maxLength was set to25 - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
the
/response's property pattern^se(-[a-z0-9]+)+$was added for the status - info
the
/response's property pattern^se(-[a-z0-9]+)+$was added for the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status
- breaking