# Batch Modify Order Channel

### Description

This channel uses a two-tier status code structure:
- **Outer** `code` / `msg`: whether the batch order modification request as a whole was accepted
- **Inner** `args[i].code` / `args[i].msg`: the modification result of each individual order

An outer `code=0` does not mean every sub-order succeeded.

:::tip

The ACK response only indicates that the request has been successfully accepted. Please use the [WebSocket order](/docs/uta/websocket/private/Order-Channel) push channel to confirm the actual status of each order.

:::

- Isolated margin mode is not supported for batch order modification.

<div className="api-aligning">

```json title="Request Example"
{
    "args": [
        {
            "autoCancel": "yes",
            "clientOid": "1354237913333333333",
            "orderId": "1354237910333333333",
            "price": "5",
            "qty": "5"
        },
        {
            "autoCancel": "yes",
            "clientOid": "1354240301222222222",
            "orderId": "1354240301222222222",
            "price": "5",
            "qty": "2"
        }
    ],
    "id": "63210d1e-b400-47c7-afc6-323018afe71a",
    "op": "trade",
    "topic": "batch-modify"
}
```

### Request Parameters

| Parameter       | Type               | Required | Description                                                                                                                                                                                           | 
|:----------------|:-------------------|----------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| op              | String             | Yes      | Operation: <br/> `trade`                                                                                                                                                                              |
| id              | String             | Yes      | Request identifier                                                                                                                                                                                    |
| topic           | String             | Yes      | Topic<br/> `batch-modify`                                                                                                                                                                             |
| category        | String             | No       | Business line, **lowercase only**<br/>`spot` Spot trading<br/>`margin` Margin trading<br/> `usdt-futures` USDT Futures<br/>`coin-futures` Coin-M futures<br/>`usdc-futures` USDC Futures                                 |
| args            | List&lt;Object&gt; | Yes      | Channel list                                                                                                                                                                                          |
| &gt; orderId    | String             | No       | Order ID <br/>Either orderId or clientOid is required.<br/>If both orderId and clientOid are passed simultaneously, orderId takes higher priority, and the clientOid parameter will be ignored.       |
| &gt; clientOid  | String             | No       | Client order ID<br/>Either orderId or clientOid is required.<br/>If both orderId and clientOid are passed simultaneously, orderId takes higher priority, and the clientOid parameter will be ignored. |
| &gt; qty        | String             | No       | Order quantity<br/>- Spot<br/> For market buy orders, the unit is quote coin <br/>For limit and market sell orders, the unit is base coin <br/>- Futures<br/>The unit is base coin                    |
| &gt; price      | String             | No       | Order price<br/>This field is required when orderType is `limit`                                                                                                                                      |
| &gt; autoCancel | String             | No       | Will the original order be canceled if the order modification fails<br/>`yes`: Cancel <br/>`no`: Not cancel（default）<br/>When set to `yes`: if the matching engine fails to modify the order, the order is cancelled immediately; after cancellation, the counter will reject any further modification requests for that order (including in-flight and new requests). |
| &gt; symbol     | String             | No       | Symbol name, case-insensitive                                                                                                                                                                                           |

</div>


<div className="api-aligning">

```json title="Response Example"
{
  "event": "trade",
  "id": "63210d1e-b400-47c7-afc6-323018afe71a",
  "topic": "batch-modify",
  "args": [
    {
      "code": "25571",
      "msg": "The modification price and qty is the same as the original value. Please adjust and try again.",
      "orderId": "1354237913333333333",
      "clientOid": "1354237910333333333",
      "receiveTime": "1750034396998123",
      "pushTime": "1750034397076456"
    },
    {
      "code": "0",
      "msg": "Success",
      "orderId": "1354240301222222222",
      "clientOid": "1354240301222222222",
      "receiveTime": "1750034396999456",
      "pushTime": "1750034397077789"
    }
  ],
  "code": "0",
  "msg": "Success",
  "connId": "xxxxxxxxxx",
  "rateLimit": [
    {
      "limit": "10",
      "remaining": "9"
    }
  ],
  "ts": "1758602036638"
}
```

### Response Parameters

| Parameters     | Type               | Description               |
|:---------------|:-------------------|:--------------------------|
| event          | String             | Event<br/>`trade`/`error` |
| id             | String             | Request identifier        |
| topic          | String             | Topic<br/>`batch-modify`  |
| args           | List&lt;Object&gt; | Channel list              |
| &gt; orderId   | String             | Order ID                  |
| &gt; clientOid | String             | Client order ID           |
| &gt; receiveTime | String           | Gateway receive time <br/>Unix microsecond timestamp |
| &gt; pushTime  | String             | Gateway push time <br/>Unix microsecond timestamp |
| &gt; code      | String             | Code                      |
| &gt; msg       | String             | Message                   |
| code           | String             | Code                      |
| msg            | String             | Message                   |
| connId         | String             | Connection ID             |
| rateLimit      | Array              | Rate limit balance array  |
| &gt; limit     | String             | Rate limit quota for this dimension |
| &gt; remaining | String             | Remaining available quota |
| ts             | String             | Timestamp                 |

</div>

































