curl --request GET \
--url https://test.deribit.com/api/v2/private/get_broker_clients \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/get_broker_clients",
"params": {}
}
'import requests
url = "https://test.deribit.com/api/v2/private/get_broker_clients"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/get_broker_clients",
"params": {}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({jsonrpc: '2.0', id: 1, method: 'private/get_broker_clients', params: {}})
};
fetch('https://test.deribit.com/api/v2/private/get_broker_clients', 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://test.deribit.com/api/v2/private/get_broker_clients",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'private/get_broker_clients',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"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://test.deribit.com/api/v2/private/get_broker_clients"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://test.deribit.com/api/v2/private/get_broker_clients")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/get_broker_clients")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"client_id": 1,
"client_name": "Acme Trading Ltd",
"company_name": "Acme Trading Ltd",
"broker_code": "ACME01",
"main_user_id": "***456",
"links": [
{
"client_link_id": 1,
"user_id": "***456",
"name": "Main Trader",
"note": "Primary trading account",
"state": "connected",
"confirmations_required": 1
},
{
"client_link_id": 2,
"user_id": "***789",
"name": "Sub Trader",
"note": "",
"state": "pending",
"confirmations_required": 1
}
]
},
{
"client_id": 2,
"client_name": "Beta Capital",
"company_name": "Beta Capital GmbH",
"broker_code": "BETA01",
"links": [
{
"client_link_id": 3,
"user_id": "***012",
"name": "Portfolio Manager",
"note": "",
"state": "connected",
"confirmations_required": 2
}
]
}
]
}private/get_broker_clients
Broker Method Returns a list of clients registered under the broker account. Each client record includes:
client_id— a numeric identifier that groups one or more linked users under a single client name. Use this value in other Broker Voice API calls (e.g.private/execute_broker_trade) to identify the client group.links— an array of individual user connections belonging to that client. Each link contains aclient_link_idthat uniquely identifies a single user within the client group.
How to obtain client_id and client_link_id
Call this endpoint without parameters to retrieve all clients. Locate the client by name or company, read client_id from the top-level object, and read client_link_id from the relevant entry in the links array. Use these two values together in subsequent Broker Voice API calls to specify which user within a client should be the counterparty.
A link state of connected means the user has accepted the broker invitation and is ready to trade. Links in pending state have not yet been accepted; links in rejected state are inactive.
Optionally filter by a specific client_id to return only that client’s record, or set include_subaccounts to true to include clients managed by broker sub-accounts.
Scope: block_trade:read
curl --request GET \
--url https://test.deribit.com/api/v2/private/get_broker_clients \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/get_broker_clients",
"params": {}
}
'import requests
url = "https://test.deribit.com/api/v2/private/get_broker_clients"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/get_broker_clients",
"params": {}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({jsonrpc: '2.0', id: 1, method: 'private/get_broker_clients', params: {}})
};
fetch('https://test.deribit.com/api/v2/private/get_broker_clients', 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://test.deribit.com/api/v2/private/get_broker_clients",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'private/get_broker_clients',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"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://test.deribit.com/api/v2/private/get_broker_clients"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://test.deribit.com/api/v2/private/get_broker_clients")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/get_broker_clients")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/get_broker_clients\",\n \"params\": {}\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"client_id": 1,
"client_name": "Acme Trading Ltd",
"company_name": "Acme Trading Ltd",
"broker_code": "ACME01",
"main_user_id": "***456",
"links": [
{
"client_link_id": 1,
"user_id": "***456",
"name": "Main Trader",
"note": "Primary trading account",
"state": "connected",
"confirmations_required": 1
},
{
"client_link_id": 2,
"user_id": "***789",
"name": "Sub Trader",
"note": "",
"state": "pending",
"confirmations_required": 1
}
]
},
{
"client_id": 2,
"client_name": "Beta Capital",
"company_name": "Beta Capital GmbH",
"broker_code": "BETA01",
"links": [
{
"client_link_id": 3,
"user_id": "***012",
"name": "Portfolio Manager",
"note": "",
"state": "connected",
"confirmations_required": 2
}
]
}
]
}Query Parameters
If provided, returns only the client with this ID. Omit to return all clients.
If true, includes clients managed by broker sub-accounts. Default: false.
Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
Numeric identifier for the client group. Used in Broker Voice API calls to reference this client.
Name of the client.
Company name of the client.
Broker-assigned code used in invitation links for this client.
Array of individual user connections belonging to this client.
Hide child attributes
Hide child attributes
Numeric identifier for an individual user within the client group. Used together with client_id in Broker Voice API calls.
Obscured user ID of the linked user.
Display name for this link.
Connection state of the link: connected (user accepted the invitation and is active), pending (invitation sent, not yet accepted), or rejected (link is inactive).
connected, pending, rejected Number of broker confirmations required for block trades involving this link.
Optional note attached to this link.
ID of the broker sub-account managing this link, if applicable.
Obscured user ID of the main account linked to this client, if any.
ID of the broker sub-account that manages this client, if applicable.
Legal Entity Identifier (LEI) of the client, if provided.
Business Registration Number (BRN) of the client, if provided.
The id that was sent in the request
Was this page helpful?