curl --request POST \
--url https://gateway.architect.exchange/orders/place-order \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"p": "<string>",
"q": 1,
"s": "<string>",
"aid": "<string>",
"cid": 1,
"po": true,
"tag": "<string>"
}
'import requests
url = "https://gateway.architect.exchange/orders/place-order"
payload = {
"p": "<string>",
"q": 1,
"s": "<string>",
"aid": "<string>",
"cid": 1,
"po": True,
"tag": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
p: '<string>',
q: 1,
s: '<string>',
aid: '<string>',
cid: 1,
po: true,
tag: '<string>'
})
};
fetch('https://gateway.architect.exchange/orders/place-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://gateway.architect.exchange/orders/place-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([
'p' => '<string>',
'q' => 1,
's' => '<string>',
'aid' => '<string>',
'cid' => 1,
'po' => true,
'tag' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://gateway.architect.exchange/orders/place-order"
payload := strings.NewReader("{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://gateway.architect.exchange/orders/place-order")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.architect.exchange/orders/place-order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"oid": "<string>"
}Place order
curl --request POST \
--url https://gateway.architect.exchange/orders/place-order \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"p": "<string>",
"q": 1,
"s": "<string>",
"aid": "<string>",
"cid": 1,
"po": true,
"tag": "<string>"
}
'import requests
url = "https://gateway.architect.exchange/orders/place-order"
payload = {
"p": "<string>",
"q": 1,
"s": "<string>",
"aid": "<string>",
"cid": 1,
"po": True,
"tag": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
p: '<string>',
q: 1,
s: '<string>',
aid: '<string>',
cid: 1,
po: true,
tag: '<string>'
})
};
fetch('https://gateway.architect.exchange/orders/place-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://gateway.architect.exchange/orders/place-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([
'p' => '<string>',
'q' => 1,
's' => '<string>',
'aid' => '<string>',
'cid' => 1,
'po' => true,
'tag' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://gateway.architect.exchange/orders/place-order"
payload := strings.NewReader("{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://gateway.architect.exchange/orders/place-order")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.architect.exchange/orders/place-order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"p\": \"<string>\",\n \"q\": 1,\n \"s\": \"<string>\",\n \"aid\": \"<string>\",\n \"cid\": 1,\n \"po\": true,\n \"tag\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"oid": "<string>"
}Authorizations
User session token
Body
Order side; buying ("B") or selling ("S")
B, S Order price in USD as decimal string; e.g. "1.2345"
Order quantity in contracts; e.g. 100, 1000
x >= 0Order symbol; e.g. XAU-PERP, EURUSD-PERP
Order time in force; e.g. "GTC", "IOC". "DAY" is accepted but deprecated and will be removed in a future release — use "GTC" instead.
GTC, IOC, DAY Optional account ID. If omitted, the account is inferred from the connection: the user's default account, or the session account for an account-scoped session.
Optional client order ID; 64 bit integer
x >= 0Post-only ("maker-or-cancel"): false (default) lets the order take;
true makes it maker-only. When post-only, reprice_behavior selects
what happens if the order would cross on entry (default: reject).
Reprice behavior for an aggressive post-only order. Meaningful only when
post_only is true; ignored otherwise. Defaults to Reject (the order
is rejected if it would cross on entry).
rej, bo, tbl Self-trade prevention behavior. Defaults to CancelIncoming.
The short aliases xi, xr, and xb are also accepted for CancelIncoming,
CancelResting, and CancelBoth, respectively.
CancelIncoming: cancel the incoming aggressor order; resting orders remain on the book.CancelResting: cancel resting orders that would self-match; allow the incoming aggressor order.CancelBoth: cancel both the resting orders and the incoming aggressor order.
CancelIncoming, CancelResting, CancelBoth Optional order tag; maximum 10 alphanumeric characters
Response
Order placed successfully
Order ID of the placed order; e.g. "ORD-1234567890"