curl --request GET \
--url http://localhost:8000/executors/{executor_id} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "http://localhost:8000/executors/{executor_id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('http://localhost:8000/executors/{executor_id}', 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 => "8000",
CURLOPT_URL => "http://localhost:8000/executors/{executor_id}",
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: Basic <encoded-value>"
],
]);
$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://localhost:8000/executors/{executor_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:8000/executors/{executor_id}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/executors/{executor_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"account_name": "master_account",
"connector_name": "binance_perpetual",
"created_at": "2024-01-15T10:30:00Z",
"cum_fees_quote": 1.25,
"executor_id": "abc123...",
"executor_type": "position_executor",
"filled_amount_quote": 5000,
"is_active": true,
"is_trading": true,
"net_pnl_pct": 2.5,
"net_pnl_quote": 125.5,
"side": "BUY",
"status": "RUNNING",
"timestamp": 1705315800,
"trading_pair": "BTC-USDT"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get Executor
Get detailed information about a specific executor.
Checks active executors in memory first, then falls back to database for completed executors.
Returns full executor information including:
- Current status and PnL
- Full configuration
- Executor-specific custom information
curl --request GET \
--url http://localhost:8000/executors/{executor_id} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "http://localhost:8000/executors/{executor_id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('http://localhost:8000/executors/{executor_id}', 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 => "8000",
CURLOPT_URL => "http://localhost:8000/executors/{executor_id}",
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: Basic <encoded-value>"
],
]);
$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://localhost:8000/executors/{executor_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:8000/executors/{executor_id}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/executors/{executor_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"account_name": "master_account",
"connector_name": "binance_perpetual",
"created_at": "2024-01-15T10:30:00Z",
"cum_fees_quote": 1.25,
"executor_id": "abc123...",
"executor_type": "position_executor",
"filled_amount_quote": 5000,
"is_active": true,
"is_trading": true,
"net_pnl_pct": 2.5,
"net_pnl_quote": 125.5,
"side": "BUY",
"status": "RUNNING",
"timestamp": 1705315800,
"trading_pair": "BTC-USDT"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
Response
Successful Response
Detailed response for a single executor.
Unique executor identifier
Type of executor
Account name
Connector name
Trading pair
Current status (RUNNING, TERMINATED, etc.)
Whether the executor is active
Whether the executor has open trades
Net PnL in quote currency
Net PnL percentage
Cumulative fees in quote currency
Volume traded, in quote currency. For an executor that places orders the amount it filled IS its volume. An LP executor reports the same thing rather than the capital it deposited — depositing trades nothing — deriving it from the fees it earned, which are a fixed fraction of the swaps that crossed its range, and is 0 while it has earned none.
Trade side (BUY/SELL) if applicable
Creation timestamp (Unix)
Creation timestamp (ISO format)
How the executor was closed (if applicable)
Close timestamp (Unix)
ID of the controller that spawned this executor
Number of ERROR-level log entries captured
Most recent error message, if any
Full executor configuration
Executor-specific custom information
Was this page helpful?

