restore_order_from_hold
Releases a held order in ShipStation to resume normal processing. Specify the order ID to reactivate fulfillment workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | Order ID to restore |
Implementation Reference
- src/tools/order-tools.js:165-184 (registration)Registration of the 'restore_order_from_hold' tool in the orderTools array, including name, description, input schema, and handler function.{ name: "restore_order_from_hold", description: "Restore an order from on-hold status", schema: { orderId: z.number().describe("Order ID to restore") }, handler: async ({ orderId }) => { try { const result = await shipStationClient.restoreOrderFromHold({ orderId }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } } },
- src/tools/order-tools.js:168-170 (schema)Zod schema for the tool input: requires orderId as number.schema: { orderId: z.number().describe("Order ID to restore") },
- src/tools/order-tools.js:171-183 (handler)The main tool handler that calls the ShipStation API via shipStationClient and returns formatted response or error.handler: async ({ orderId }) => { try { const result = await shipStationClient.restoreOrderFromHold({ orderId }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } }
- src/api-client.js:76-78 (helper)ShipStationClient method that makes the POST request to /orders/restorefromhold endpoint to restore the order.async restoreOrderFromHold(data) { return this.request('POST', '/orders/restorefromhold', data); }