refund_order
Refund specific line items, shipping, or both with options for restock behavior and customer notification.
Instructions
Issue a refund against an order — for specific line items (with quantities and optional restock behaviour), for shipping, or both. Returns the new refund's GID and total amount refunded. To refund a full order use cancel_order with refund=true instead (one-step). Use this tool when refunding partially: just one item, just shipping, an adjustment without item breakdown, or a return that needs explicit restock-to-location handling. The restockType per line item controls inventory behaviour: NO_RESTOCK (default — the items aren't coming back), CANCEL (restock as if cancelled), RETURN (restock with a return record at the given locationId). Pass notify: true to email the customer.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order GID or numeric ID to refund. | |
| refundLineItems | No | Specific line items to refund with quantities. Omit to do a refund without item-level breakdown (use for shipping-only or adjustment refunds). | |
| shipping | No | Refund part or all of shipping. Pass {fullRefund: true} to refund everything paid in shipping; or {amount: '5.00'} for a specific amount. | |
| currency | No | ISO currency code. Required for multi-currency stores; defaults to the order's currency otherwise. | |
| note | No | Internal note explaining the refund. | |
| notify | No | Email the customer a refund notification. |