Account
The key, its client, limits and trading accounts.
#The key, its client, limits and switches
Responses
OK
Bad request (invalid_json)
No / invalid / revoked / expired API key
Refused (IP, scope, brand switch, kill switch, account, inactive client)
Not found (also every path while the Open API is off on this server)
Invalid request or refused by the order checks (margin, levels, size, market closed ...)
Rate limited (Retry-After)
Internal error; unknown_outcome = look the order up before sending it again
Temporarily unavailable (prices, balance, quotes, rate-limit store)
curl "https://api.your-brand.com/api/open/v1/account" \
-H "X-API-Key: $OCTOLIT_API_KEY"const res = await fetch("https://api.your-brand.com/api/open/v1/account", {
method: "GET",
headers: {
"X-API-Key": process.env.OCTOLIT_API_KEY,
},
});
if (!res.ok) throw new Error(`GET failed: ${res.status} ${await res.text()}`);
const data = await res.json();
console.log(data);import os, requests
r = requests.request(
"GET",
"https://api.your-brand.com/api/open/v1/account",
headers={"X-API-Key": os.environ["OCTOLIT_API_KEY"]},
timeout=10,
)
r.raise_for_status()
print(r.json())<?php
$ch = curl_init("https://api.your-brand.com/api/open/v1/account");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: " . getenv("OCTOLIT_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);using var http = new HttpClient();
using var req = new HttpRequestMessage(HttpMethod.Get, "https://api.your-brand.com/api/open/v1/account");
req.Headers.Add("X-API-Key", Environment.GetEnvironmentVariable("OCTOLIT_API_KEY"));
using var res = await http.SendAsync(req);
res.EnsureSuccessStatusCode();
Console.WriteLine(await res.Content.ReadAsStringAsync());var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder(URI.create("https://api.your-brand.com/api/open/v1/account"))
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
var res = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode() + " " + res.body());var body io.Reader
req, err := http.NewRequest("GET", "https://api.your-brand.com/api/open/v1/account", body)
if err != nil {
log.Fatal(err)
}
req.Header.Set("X-API-Key", os.Getenv("OCTOLIT_API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(out))var req = URLRequest(url: URL(string: "https://api.your-brand.com/api/open/v1/account")!)
req.httpMethod = "GET"
req.setValue(ProcessInfo.processInfo.environment["OCTOLIT_API_KEY"], forHTTPHeaderField: "X-API-Key")
let (data, response) = try await URLSession.shared.data(for: req)
print((response as! HTTPURLResponse).statusCode, String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val req = Request.Builder()
.url("https://api.your-brand.com/api/open/v1/account")
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.get()
.build()
client.newCall(req).execute().use { res ->
println("${res.code} ${res.body?.string()}")
} {
"client_id": 1042,
"key": {
"id": 1042,
"name": "Main",
"prefix": "pk_live_3f",
"scopes": [
"read"
],
"trading_account_ids": [
55
],
"ip_allowlist": [
"string"
],
"expires_at": "2026-11-11T09:31:00Z",
"created_at": "2026-11-11T09:30:00.000000Z"
},
"trading_account_ids": [
55
],
"limits": {
"requests_per_min": 1200,
"client_requests_per_min": 1,
"orders_per_sec": 10,
"account_orders_per_sec": 1,
"max_keys": 5
},
"websocket": true,
"trading_stopped": true,
"server_time": "2026-11-11T09:30:00.000000Z"
}#Trading accounts this key may use, with balance figures
Responses
OK
Bad request (invalid_json)
No / invalid / revoked / expired API key
Refused (IP, scope, brand switch, kill switch, account, inactive client)
Not found (also every path while the Open API is off on this server)
Invalid request or refused by the order checks (margin, levels, size, market closed ...)
Rate limited (Retry-After)
Internal error; unknown_outcome = look the order up before sending it again
Temporarily unavailable (prices, balance, quotes, rate-limit store)
curl "https://api.your-brand.com/api/open/v1/accounts" \
-H "X-API-Key: $OCTOLIT_API_KEY"const res = await fetch("https://api.your-brand.com/api/open/v1/accounts", {
method: "GET",
headers: {
"X-API-Key": process.env.OCTOLIT_API_KEY,
},
});
if (!res.ok) throw new Error(`GET failed: ${res.status} ${await res.text()}`);
const data = await res.json();
console.log(data);import os, requests
r = requests.request(
"GET",
"https://api.your-brand.com/api/open/v1/accounts",
headers={"X-API-Key": os.environ["OCTOLIT_API_KEY"]},
timeout=10,
)
r.raise_for_status()
print(r.json())<?php
$ch = curl_init("https://api.your-brand.com/api/open/v1/accounts");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: " . getenv("OCTOLIT_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);using var http = new HttpClient();
using var req = new HttpRequestMessage(HttpMethod.Get, "https://api.your-brand.com/api/open/v1/accounts");
req.Headers.Add("X-API-Key", Environment.GetEnvironmentVariable("OCTOLIT_API_KEY"));
using var res = await http.SendAsync(req);
res.EnsureSuccessStatusCode();
Console.WriteLine(await res.Content.ReadAsStringAsync());var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder(URI.create("https://api.your-brand.com/api/open/v1/accounts"))
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
var res = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode() + " " + res.body());var body io.Reader
req, err := http.NewRequest("GET", "https://api.your-brand.com/api/open/v1/accounts", body)
if err != nil {
log.Fatal(err)
}
req.Header.Set("X-API-Key", os.Getenv("OCTOLIT_API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(out))var req = URLRequest(url: URL(string: "https://api.your-brand.com/api/open/v1/accounts")!)
req.httpMethod = "GET"
req.setValue(ProcessInfo.processInfo.environment["OCTOLIT_API_KEY"], forHTTPHeaderField: "X-API-Key")
let (data, response) = try await URLSession.shared.data(for: req)
print((response as! HTTPURLResponse).statusCode, String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val req = Request.Builder()
.url("https://api.your-brand.com/api/open/v1/accounts")
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.get()
.build()
client.newCall(req).execute().use { res ->
println("${res.code} ${res.body?.string()}")
} {
"accounts": [
{
"id": 1042,
"name": "Main",
"currency": "USD",
"account_type": {
"id": 1042,
"name": "Main"
},
"demo": false,
"active": true,
"hidden": true,
"platform": "internal",
"tradable": true,
"balance_available": true,
"balance": 1.5,
"equity": 1.5,
"profit": 1.5,
"margin": 1.5,
"free_margin": 1.5,
"margin_level": 1.5,
"closed_profit": 1.5
}
]
}#One trading account
Path parameters
Responses
OK
Bad request (invalid_json)
No / invalid / revoked / expired API key
Refused (IP, scope, brand switch, kill switch, account, inactive client)
Not found (also every path while the Open API is off on this server)
Invalid request or refused by the order checks (margin, levels, size, market closed ...)
Rate limited (Retry-After)
Internal error; unknown_outcome = look the order up before sending it again
Temporarily unavailable (prices, balance, quotes, rate-limit store)
curl "https://api.your-brand.com/api/open/v1/accounts/1042" \
-H "X-API-Key: $OCTOLIT_API_KEY"const res = await fetch("https://api.your-brand.com/api/open/v1/accounts/1042", {
method: "GET",
headers: {
"X-API-Key": process.env.OCTOLIT_API_KEY,
},
});
if (!res.ok) throw new Error(`GET failed: ${res.status} ${await res.text()}`);
const data = await res.json();
console.log(data);import os, requests
r = requests.request(
"GET",
"https://api.your-brand.com/api/open/v1/accounts/1042",
headers={"X-API-Key": os.environ["OCTOLIT_API_KEY"]},
timeout=10,
)
r.raise_for_status()
print(r.json())<?php
$ch = curl_init("https://api.your-brand.com/api/open/v1/accounts/1042");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: " . getenv("OCTOLIT_API_KEY"),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);using var http = new HttpClient();
using var req = new HttpRequestMessage(HttpMethod.Get, "https://api.your-brand.com/api/open/v1/accounts/1042");
req.Headers.Add("X-API-Key", Environment.GetEnvironmentVariable("OCTOLIT_API_KEY"));
using var res = await http.SendAsync(req);
res.EnsureSuccessStatusCode();
Console.WriteLine(await res.Content.ReadAsStringAsync());var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder(URI.create("https://api.your-brand.com/api/open/v1/accounts/1042"))
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
var res = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode() + " " + res.body());var body io.Reader
req, err := http.NewRequest("GET", "https://api.your-brand.com/api/open/v1/accounts/1042", body)
if err != nil {
log.Fatal(err)
}
req.Header.Set("X-API-Key", os.Getenv("OCTOLIT_API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(out))var req = URLRequest(url: URL(string: "https://api.your-brand.com/api/open/v1/accounts/1042")!)
req.httpMethod = "GET"
req.setValue(ProcessInfo.processInfo.environment["OCTOLIT_API_KEY"], forHTTPHeaderField: "X-API-Key")
let (data, response) = try await URLSession.shared.data(for: req)
print((response as! HTTPURLResponse).statusCode, String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val req = Request.Builder()
.url("https://api.your-brand.com/api/open/v1/accounts/1042")
.header("X-API-Key", System.getenv("OCTOLIT_API_KEY"))
.get()
.build()
client.newCall(req).execute().use { res ->
println("${res.code} ${res.body?.string()}")
} {
"account": {
"id": 1042,
"name": "Main",
"currency": "USD",
"account_type": {
"id": 1042,
"name": "Main"
},
"demo": false,
"active": true,
"hidden": true,
"platform": "internal",
"tradable": true,
"balance_available": true,
"balance": 1.5,
"equity": 1.5,
"profit": 1.5,
"margin": 1.5,
"free_margin": 1.5,
"margin_level": 1.5,
"closed_profit": 1.5
}
}