---
title: "New Order list - OCO (TRADE)"
method: POST
path: "/api/v3/orderList/oco"
tags: ["Trade"]
---

# New Order list - OCO (TRADE)

`POST /api/v3/orderList/oco`

Send in an one-cancels-the-other (OCO) pair, where activation of one order immediately cancels the other.

- An `OCO` has 2 orders called the above order and below order.
- One of the orders must be a `LIMIT_MAKER` order and the other must be `STOP_LOSS` or`STOP_LOSS_LIMIT` order.
- Price restrictions:
    - If the `OCO` is on the `SELL` side: `LIMIT_MAKER` price > Last Traded Price > stopPrice
    - If the `OCO` is on the `BUY` side: `LIMIT_MAKER` price < Last Traded Price < stopPrice
- OCOs add 2 orders to the unfilled order count, `EXCHANGE_MAX_ORDERS` filter, and the `MAX_NUM_ORDERS` filter.

Weight(IP): 1

## Query parameters

- `symbol` string, required
- `listClientOrderId` string
- `side` 'SELL' | 'BUY', required
- `quantity` number, double, required
- `aboveType` string, required
- `aboveClientOrderId` string
- `aboveIcebergQty` number, double
- `abovePrice` number, double
- `aboveStopPrice` number, double
- `aboveTrailingDelta` number, double
- `aboveTimeInForce` 'GTC' | 'IOC' | 'FOK'
- `aboveStrategyId` number, double
- `aboveStrategyType` integer
- `belowType` string, required
- `belowClientOrderId` string
- `belowIcebergQty` number, double
- `belowPrice` number, double
- `belowStopPrice` number, double
- `belowTrailingDelta` number, double
- `belowTimeInForce` 'GTC' | 'IOC' | 'FOK'
- `belowStrategyId` number, double
- `belowStrategyType` integer
- `newOrderRespType` 'ACK' | 'RESULT' | 'FULL'
- `selfTradePreventionMode` 'EXPIRE_TAKER' | 'EXPIRE_MAKER' | 'EXPIRE_BOTH' | 'NONE'
- `recvWindow` integer
- `timestamp` integer, required
- `signature` string, required

## Response `200`

New OCO details

- object
  - `orderListId` integer, required
  - `contingencyType` string, required
  - `listStatusType` string, required
  - `listOrderStatus` string, required
  - `listClientOrderId` string, required
  - `transactionTime` integer, required
  - `symbol` string, required
  - `orders` object[], required
    - `symbol` string, required
    - `orderId` integer, required
    - `clientOrderId` string, required
  - `orderReports` object[], required
    - `symbol` string, required
    - `orderId` integer, required
    - `orderListId` integer, required
    - `clientOrderId` string, required
    - `transactTime` integer, required
    - `price` string, required
    - `origQty` string, required
    - `executedQty` string, required
    - `cummulativeQuoteQty` string, required
    - `status` string, required
    - `timeInForce` string, required
    - `type` string, required
    - `side` string, required
    - `stopPrice` string, required
    - `workingTime` integer, required
    - `selfTradePreventionMode` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized Request

---

[API](https://skmtc.net/binance/apis/binance-public-spot-api.md) · [All operations](https://skmtc.net/binance/apis/binance-public-spot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/binance/binance-public-spot-api/revisions/0dd2f133e12d/schema)
