---
title: "Batch Update Order Status"
method: POST
path: "/v1/merchant/orders/update"
tags: ["Merchant API"]
---

# Batch Update Order Status

`POST /v1/merchant/orders/update`

## Request

- Base URL: `http://{{base_url}}`
- URL: `http://{{base_url}}/v1/merchant/orders/update`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/extensiv/apis/integration-manager-api-formerly-cartrover/docs/v1/merchant/orders/update/post.ts> (a function with typed inputs; its response is checked against the schema)

Batch updates the status up to 100 orders at a time and returns a success response for each individual order.

This endpoint can be called multiple times for a single order (with different tracking numbers) to add multiple shipment records to a single order, even if both shipments aren't on the same day.

Pass a numeric array of orders to update, each containing the following fields:

### Order Status Fields

| Field | Data Type | Length | Required? | Description |
| --- | --- | --- | --- | --- |
| cust_ref | String |  | Y | cust_ref of order to update |
| order_status | ENUM |  | Y | at_wms or shipped |
| shipments | Array | 0 or more | Only if order status is shipped |  |

### Shipment Fields

| Field | Data Type | Required? | Length | Description |
| --- | --- | --- | --- | --- |
| carrier | String | Recommended | 45 | Carrier reported by WMS |
| method | String |  | 45 | Ship Method reported by WMS |
| tracking_no | String | Y | 45 | Primary tracking # |
| tracking_no_secondary | String |  | 45 | Optional secondary tracking # |
| sscc_barcode | String |  | 45 | Required for EDI Bulk Orders |
| bill_of_lading | String |  | 45 |  |
| total_cost | Float |  | 2 decimal places | Shipping cost with all fees |
| package_weight_lbs | Float |  | 2 decimal places | Actual shipment weight |
| dim_weight_lbs | Float |  | 2 decimal places | Optional dimensional weight |
| zone | String |  | 4 | Ship-to zone |
| delivery_surcharge_type | String |  | 45 | Defined by WMS |
| whs_location | String |  | 45 | Identify which warehouse shipped package |
| box_length_in | Float |  | 2 decimal places | Length in Inches |
| box_width_in | Float |  | 2 decimal places | Width in Inches |
| box_height_in | Float |  | 2 decimal places | Height in Inches |
| date | Timestamp |  |  | Shipping date |
| tracking_url | String |  |  | URL to track shipment |
| invoice_number | String |  | 45 | Set the order's invoice #. Only one allowed per order. This will overwrite any previous invoice # |
| custom_1 | String |  | 45 | Defined by WMS |
| items | Array |  |  | Optional array of items if providing package contents |

### Item Fields

| Field | Data Type | Required? | Length | Description |
| --- | --- | --- | --- | --- |
| item | String | Y | 45 | Product SKU - Must match SKU on original order |
| quantity | Int | Y |  | Quantity of item in package |
| carton_code | String |  | 45 | Carton code/barcode (eg: SSCC-18) |
| carton_num | String |  | 45 | Carton number (eg: 1, 2, 3, etc) |
| box_length_in | Float |  | 2 decimal places | Length in Inches |
| box_width_in | Float |  | 2 decimal places | Width in Inches |
| box_height_in | Float |  | 2 decimal places | Height in Inches |
| package_weight_lbs | Float |  | 2 decimal places | Carton weight in lbs |
| lot_code | String |  | 45 | Item Lot / Batch Code |
| custom_1 | String |  | 45 | Custom Field |

## Headers

- `Content-Type` string

## Request body `*/*`

- string

## Response `200`

OK

- object

---

[API](https://skmtc.dev/extensiv/apis/integration-manager-api-formerly-cartrover.md) - [All operations](https://skmtc.dev/extensiv/apis/integration-manager-api-formerly-cartrover/llms.txt) - [OpenAPI document](https://skmtc.dev/extensiv/apis/integration-manager-api-formerly-cartrover/revisions/125e6deac675?raw)
