Skip to main content
POST
/
v3
/
trade
/
order
cURL
curl --request POST \
  --url https://api.woox.io/v3/trade/order \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --header 'x-api-signature: <x-api-signature>' \
  --header 'x-api-timestamp: <x-api-timestamp>' \
  --data '
{
  "symbol": "SPOT_BTC_USDT",
  "side": "",
  "type": "",
  "clientOrderId": "1954766344355779056",
  "orderTag": "",
  "positionSide": "",
  "price": "",
  "quantity": "",
  "amount": "",
  "reduceOnly": "",
  "visibleQuantity": "",
  "marginMode": "",
  "bidAskLevel": "",
  "postOnlyAdjusted": ""
}
'
import requests

url = "https://api.woox.io/v3/trade/order"

payload = {
"symbol": "SPOT_BTC_USDT",
"side": "",
"type": "",
"clientOrderId": "1954766344355779056",
"orderTag": "",
"positionSide": "",
"price": "",
"quantity": "",
"amount": "",
"reduceOnly": "",
"visibleQuantity": "",
"marginMode": "",
"bidAskLevel": "",
"postOnlyAdjusted": ""
}
headers = {
"x-api-key": "<x-api-key>",
"x-api-signature": "<x-api-signature>",
"x-api-timestamp": "<x-api-timestamp>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-api-signature': '<x-api-signature>',
'x-api-timestamp': '<x-api-timestamp>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
symbol: 'SPOT_BTC_USDT',
side: '',
type: '',
clientOrderId: '1954766344355779056',
orderTag: '',
positionSide: '',
price: '',
quantity: '',
amount: '',
reduceOnly: '',
visibleQuantity: '',
marginMode: '',
bidAskLevel: '',
postOnlyAdjusted: ''
})
};

fetch('https://api.woox.io/v3/trade/order', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.woox.io/v3/trade/order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'symbol' => 'SPOT_BTC_USDT',
'side' => '',
'type' => '',
'clientOrderId' => '1954766344355779056',
'orderTag' => '',
'positionSide' => '',
'price' => '',
'quantity' => '',
'amount' => '',
'reduceOnly' => '',
'visibleQuantity' => '',
'marginMode' => '',
'bidAskLevel' => '',
'postOnlyAdjusted' => ''
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>",
"x-api-signature: <x-api-signature>",
"x-api-timestamp: <x-api-timestamp>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.woox.io/v3/trade/order"

payload := strings.NewReader("{\n \"symbol\": \"SPOT_BTC_USDT\",\n \"side\": \"\",\n \"type\": \"\",\n \"clientOrderId\": \"1954766344355779056\",\n \"orderTag\": \"\",\n \"positionSide\": \"\",\n \"price\": \"\",\n \"quantity\": \"\",\n \"amount\": \"\",\n \"reduceOnly\": \"\",\n \"visibleQuantity\": \"\",\n \"marginMode\": \"\",\n \"bidAskLevel\": \"\",\n \"postOnlyAdjusted\": \"\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-api-signature", "<x-api-signature>")
req.Header.Add("x-api-timestamp", "<x-api-timestamp>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.woox.io/v3/trade/order")
.header("x-api-key", "<x-api-key>")
.header("x-api-signature", "<x-api-signature>")
.header("x-api-timestamp", "<x-api-timestamp>")
.header("Content-Type", "application/json")
.body("{\n \"symbol\": \"SPOT_BTC_USDT\",\n \"side\": \"\",\n \"type\": \"\",\n \"clientOrderId\": \"1954766344355779056\",\n \"orderTag\": \"\",\n \"positionSide\": \"\",\n \"price\": \"\",\n \"quantity\": \"\",\n \"amount\": \"\",\n \"reduceOnly\": \"\",\n \"visibleQuantity\": \"\",\n \"marginMode\": \"\",\n \"bidAskLevel\": \"\",\n \"postOnlyAdjusted\": \"\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.woox.io/v3/trade/order")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-api-signature"] = '<x-api-signature>'
request["x-api-timestamp"] = '<x-api-timestamp>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"symbol\": \"SPOT_BTC_USDT\",\n \"side\": \"\",\n \"type\": \"\",\n \"clientOrderId\": \"1954766344355779056\",\n \"orderTag\": \"\",\n \"positionSide\": \"\",\n \"price\": \"\",\n \"quantity\": \"\",\n \"amount\": \"\",\n \"reduceOnly\": \"\",\n \"visibleQuantity\": \"\",\n \"marginMode\": \"\",\n \"bidAskLevel\": \"\",\n \"postOnlyAdjusted\": \"\"\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "timestamp": 123,
  "data": {
    "orderId": 123,
    "price": "<string>",
    "quantity": "<string>",
    "amount": "<string>",
    "clientOrderId": 123,
    "bidAskLevel": 123
  }
}
Limit: 5 requests per 1 symbol per 1 second

Headers

x-api-key
string
required

api-key

Example:

"abcdef123456"

x-api-signature
string
required

api-signature

Example:

"signaturestring"

x-api-timestamp
string
required

api-timestamp

Example:

"1718943200000"

Body

application/json
symbol
string
required

Symbol name

Example:

"SPOT_BTC_USDT"

side
string
required

BUY/SELL

Example:

""

type
string
required

LIMIT/MARKET/IOC/FOK/POST_ONLY/ASK/BID/AC/RPI where AC/RPI are only available to market makers.

Example:

""

clientOrderId
integer

Valid input ranges from 0 to 9223372036854775807

Example:

"1954766344355779056"

orderTag
string

Optional tag for this order, max string length: 64

Example:

""

positionSide
string

Position side; The default is BOTH in the one way mode; Can only be LONG or SHORT in the hedge mode. Only applicable to perpetual instruments.

Example:

""

price
string

Only applicable to LIMIT/IOC/FOK/POST_ONLY orders; MARKET/ASK/BID orders will ignore this field

Example:

""

quantity
string

Either quantity or amount is required; If both are passed, the request will be rejected

Example:

""

amount
string

Only applicable to MARKET/ASK/BID orders on spot instruments; Either quantity or amount is required; If both are passed, the request will be rejected

Example:

""

reduceOnly
boolean

Only applicable to perpetual instruments; Whether the order can only reduce in position size; valid options are true/false

Example:

""

visibleQuantity
string

The order quantity visible on orderbook

Example:

""

marginMode
string

CROSS / ISOLATED

Example:

""

bidAskLevel
string

[1..5](only effective if type = ASK / BID)

Example:

""

postOnlyAdjusted
boolean

Only applicable to POST_ONLY orders; Whether the order should be adjusted to the best bid/ask if it would cross the book and execute immediately as a taker

Example:

""

Response

200 - application/json
success
boolean

true

timestamp
integer

timestamp

data
object