Properties
| Name | Type | Description |
|---|---|---|
| symbol | string | Symbol name |
| clientAlgoOrderId | integer | Client algo order Id as assigned by the user |
| algoOrderTag | string | An optional tag for this order, max string length: 64 |
| side | string | BUY/SELL, not required for POSITIONAL_TP_SL or TP_SL order |
| positionSide | string | BOTH for one way mode; LONG or SHORT for hedge mode; Only applicable to perpetual instruments |
| quantity | string | Order quantity, not required for POSITIONAL_TP_SL order |
| visibleQuantity | string | The order quantity shown on orderbook; for POSITIONAL_TP_SL order, visibleQuantity applies directly to the child orders |
| marginMode | string | CROSS / ISOLATED |
| algoType | string | STOP_BRACKET: bracket order with stop market or stop limit order as the initial order and an attached POSITIONAL_TP_SL or TP_SL order |
| type | string | LIMIT/MARKET |
| price | string | Order price, only applicable if LIMIT order |
| reduceOnly | boolean | Only applicable to perpetual instruments; whether the LIMIT/MARKET order can only reduce in position size; only support false for STOP_BRACKET orders |
| triggerPrice | string | Trigger price of the initial stop order |
| triggerPriceType | string | Trigger price type of the initial stop order, currently only support MARKET_PRICE (i.e. last price) |
| childOrders | array | Attached TP/SL orders, only support 1 set of POSITIONAL_TP_SL or TP_SL |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/woox/main/json-schema/woox-stop-bracket-stop-bracket-schema.json",
"title": "Stop bracket",
"x-generated": "2026-10-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/woox-openapi.json#/components/schemas/stop_bracket_stop_bracket",
"allOf": [
{
"$ref": "#/$defs/common_algo_common_algo"
},
{
"type": "object",
"required": [
"type",
"price",
"childOrders"
],
"properties": {
"algoType": {
"type": "string",
"description": "STOP_BRACKET: bracket order with stop market or stop limit order as the initial order and an attached POSITIONAL_TP_SL or TP_SL order"
},
"type": {
"type": "string",
"description": "LIMIT/MARKET"
},
"price": {
"type": "string",
"description": "Order price, only applicable if LIMIT order"
},
"reduceOnly": {
"type": "boolean",
"description": "Only applicable to perpetual instruments; whether the LIMIT/MARKET order can only reduce in position size; only support false for STOP_BRACKET orders"
},
"triggerPrice": {
"type": "string",
"description": "Trigger price of the initial stop order"
},
"triggerPriceType": {
"type": "string",
"description": "Trigger price type of the initial stop order, currently only support MARKET_PRICE (i.e. last price)"
},
"childOrders": {
"type": "array",
"description": "Attached TP/SL orders, only support 1 set of POSITIONAL_TP_SL or TP_SL",
"items": {
"type": "object",
"properties": {
"algoType": {
"type": "string",
"description": "POSITIONAL_TP_SL/TP_SL"
},
"childOrders": {
"type": "array",
"description": "Details of the TP/SL information, can contain at most 1 TAKE_PROFIT and 1 STOP_LOSS",
"items": {
"type": "object",
"properties": {
"algoType": {
"type": "string",
"description": "TAKE_PROFIT/STOP_LOSS"
},
"side": {
"type": "string",
"description": "Required to be SELL if side of the initial order is BUY; Required to be BUY if side of the initial order is SELL"
},
"triggerPrice": {
"type": "string",
"description": "Trigger price of the TP/SL"
},
"triggerPriceType": {
"type": "string",
"description": "Trigger price type, currently only support MARKET_PRICE (i.e. last price)"
},
"type": {
"type": "string",
"description": "CLOSE_POSITION for POSITIONAL_TP_SL; MARKET for TP_SL"
}
},
"required": [
"algoType",
"side",
"triggerPrice",
"type"
]
}
}
},
"required": [
"algoType",
"childOrders"
]
}
}
}
}
],
"$defs": {
"common_algo_common_algo": {
"type": "object",
"required": [
"symbol",
"algoType"
],
"properties": {
"symbol": {
"type": "string",
"description": "Symbol name"
},
"clientAlgoOrderId": {
"type": "integer",
"description": "Client algo order Id as assigned by the user"
},
"algoOrderTag": {
"type": "string",
"description": "An optional tag for this order, max string length: 64"
},
"side": {
"type": "string",
"description": "BUY/SELL, not required for POSITIONAL_TP_SL or TP_SL order"
},
"positionSide": {
"type": "string",
"description": "BOTH for one way mode; LONG or SHORT for hedge mode; Only applicable to perpetual instruments"
},
"quantity": {
"type": "string",
"description": "Order quantity, not required for POSITIONAL_TP_SL order"
},
"visibleQuantity": {
"type": "string",
"description": "The order quantity shown on orderbook; for POSITIONAL_TP_SL order, visibleQuantity applies directly to the child orders"
},
"marginMode": {
"type": "string",
"description": "CROSS / ISOLATED"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/woox-stop-bracket-stop-bracket"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.