hold_order

Updated September 30, 20261 min read

Put an order on hold for review via POST /orders/{reference}/on-hold. Only an order with status open, partially_allocated or allocated can be held; an order that is already on hold is rejected. While the order is on hold, every update is rejected except cancel_order and release_order_hold. An active hold cannot be changed: to change its assignee, priority or notes, release it and hold the order again, which records a new MANUAL hold. Use hold_fulfillment_order instead to hold a single fulfillment order.

Parameters

NameTypeRequiredDescription
order_idstringYesCarriyo order ID or partner_order_reference.
tenantIdstringYes—
assigned_toobjectNoUser or team that should review the hold.
notesstringNoWhy the hold was placed.
prioritystringNoValues: LOW, NORMAL, HIGH, URGENT.
sla_hoursintegerNoHours from now by which the hold should be reviewed. Sets sla_timestamp.

Example agent prompt

"Put order ORD-2025-0001 on hold for the fraud team to review within 4 hours."

hold_order(
  tenantId="…",
  order_id="ORD-2025-0001",
  assigned_to={"type": "team", "id": "fraud-review"},
  priority="HIGH",
  sla_hours=4,
  notes="Billing and shipping address differ"
)