curl --request GET \
--url http://195.138.37.5:4410/api/v2/private/get_open_orders \
--header 'Authorization: Bearer <token>'import requests
url = "http://195.138.37.5:4410/api/v2/private/get_open_orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://195.138.37.5:4410/api/v2/private/get_open_orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4410",
CURLOPT_URL => "http://195.138.37.5:4410/api/v2/private/get_open_orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://195.138.37.5:4410/api/v2/private/get_open_orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://195.138.37.5:4410/api/v2/private/get_open_orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://195.138.37.5:4410/api/v2/private/get_open_orders")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"order_id": "1cc1c718-49e0-4ea5-8902-f3f22968c350",
"instrument_id": 310001,
"instrument_name": "TREE-USD",
"product_group": "TIER_3",
"side": "sell",
"price": 0.0717,
"amount": 83698,
"filled_amount": 0,
"average_price": 0,
"order_state": "open",
"order_type": "limit",
"post_only": true,
"reject_post_only": false,
"reduce_only": false,
"creation_timestamp": 1778270370643,
"last_update_timestamp": 1778270370643
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}Get Open Orders
Returns all currently-open orders belonging to the authenticated portfolio. Orders are returned regardless of instrument or order type; filtering by instrument kind and order type is not currently supported.
Each order includes instrument_id, product_group, and the post_only, reject_post_only, and reduce_only flags. instrument_id is the numeric instrument id. product_group is the Starbase routing group (BTC, ETH, TIER_2, or TIER_3). post_only and reject_post_only correspond to the SBE postOnly and postOnlyReject bits and are mutually exclusive. reduce_only reflects per-order reduce-only from classic JSON-RPC or FIX (it cannot be set per order in SBE).
The portfolio is resolved from the authenticated session. There is no parameter to query another portfolio’s orders. MMP-flagged orders are visible via this endpoint. Orders placed via Mass Quote (MassQuoteRequest) are not currently returned.
This endpoint is rate-limited per portfolio. Exceeding the limit returns HTTP 429.
curl --request GET \
--url http://195.138.37.5:4410/api/v2/private/get_open_orders \
--header 'Authorization: Bearer <token>'import requests
url = "http://195.138.37.5:4410/api/v2/private/get_open_orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://195.138.37.5:4410/api/v2/private/get_open_orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4410",
CURLOPT_URL => "http://195.138.37.5:4410/api/v2/private/get_open_orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://195.138.37.5:4410/api/v2/private/get_open_orders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://195.138.37.5:4410/api/v2/private/get_open_orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://195.138.37.5:4410/api/v2/private/get_open_orders")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"order_id": "1cc1c718-49e0-4ea5-8902-f3f22968c350",
"instrument_id": 310001,
"instrument_name": "TREE-USD",
"product_group": "TIER_3",
"side": "sell",
"price": 0.0717,
"amount": 83698,
"filled_amount": 0,
"average_price": 0,
"order_state": "open",
"order_type": "limit",
"post_only": true,
"reject_post_only": false,
"reduce_only": false,
"creation_timestamp": 1778270370643,
"last_update_timestamp": 1778270370643
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}Authorizations
API key passed as a Bearer token. The authenticated session determines the portfolio that operations are applied to.
Response
List of open orders for the authenticated portfolio. May be empty.
The JSON-RPC version (2.0)
2.0 Array of open orders for the authenticated portfolio. May be empty.
Hide child attributes
Hide child attributes
Exchange-assigned order identifier (UUID-style string). Stable for the lifetime of the order.
"1cc1c718-49e0-4ea5-8902-f3f22968c350"
Numeric identifier of the instrument the order was placed against. Same value as instrument_id on get_instruments and instrumentId in the SBE schema.
310001
Human-readable instrument symbol the order was placed against.
"TREE-USD"
Order side.
buy, sell Limit price of the order (in quote-currency units).
0.0717
Original order quantity, in base-currency units.
83698
Quantity filled so far, in base-currency units.
0
Order state. Currently always open for entries returned by this endpoint, since only open orders are listed.
open Order type, derived from the price field.
limit, market Starbase routing group resolved from the base symbol of the instrument's currency pair (for example BTC, ETH, TIER_2, or TIER_3). Same classification as product_group on get_instruments.
"TIER_3"
Volume-weighted average fill price across all executions on this order. Zero if the order has no fills yet.
0
Time-in-force policy.
GTC, IOC, FOK, GTD Whether the order was submitted as post-only: if it would take liquidity, the price is amended to the best bid/ask instead of rejecting. Corresponds to SBE postOnly. Mutually exclusive with reject_post_only.
Whether the order was submitted as post-only reject: if it would take liquidity, the order is rejected rather than price-amended. Corresponds to SBE postOnlyReject. Mutually exclusive with post_only.
Whether the order is reduce-only (intended only to reduce an existing position). Per-order reduce-only originates from classic JSON-RPC or FIX; it cannot be set per order in SBE.
Order submission time in milliseconds since the Unix epoch.
1778270370643
Time of the most recent change to the order, in milliseconds since the Unix epoch.
1778270370643
Client-supplied label for the order, if any.
Whether the order was placed via API.
Iceberg display quantity, if applicable.
Realised profit/loss attributable to this order, if any.
Commission accrued by this order so far, if any.
The id that was sent in the request
Was this page helpful?