Get Risk Profile
curl --request GET \
--url https://api.example.com/api/graph/v1/user/risk-profileimport requests
url = "https://api.example.com/api/graph/v1/user/risk-profile"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/user/risk-profile', 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://api.example.com/api/graph/v1/user/risk-profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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 := "https://api.example.com/api/graph/v1/user/risk-profile"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/graph/v1/user/risk-profile")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/user/risk-profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"preset": "<string>",
"resolved": {
"per_trade_risk_pct": 123,
"max_portfolio_heat_pct": 123,
"max_positions": 123,
"daily_loss_limit_pct": 123,
"weekly_loss_limit_pct": 123,
"min_pop_gate": 123,
"min_edge_ratio": 123,
"options_dte_floor_swing": 123,
"consecutive_loss_pause": 123,
"max_position_size_multiplier": 123
},
"overrides": {},
"hard_caps": {},
"risk_budget": {
"daily_dollars_at_risk_cap": 5000,
"max_percent_equity_at_risk": 5,
"daily_loss_cap": 2000
},
"mode_allowlist": {
"autonomous": true,
"supervised": true,
"monitor": true,
"manual": true
},
"round_trip": {
"global_cap_per_session": 10
},
"onboarding_stage": "operator",
"cooling_off": {
"default_cool_off_minutes": 15,
"consecutive_loss_threshold": 2,
"consecutive_loss_lockout_minutes": 30
},
"funded": {},
"supervised_confirm_window_seconds": 30
}User
Get Risk Profile
Get the user’s resolved risk profile (preset + overrides merged).
GET
/
api
/
graph
/
v1
/
user
/
risk-profile
Get Risk Profile
curl --request GET \
--url https://api.example.com/api/graph/v1/user/risk-profileimport requests
url = "https://api.example.com/api/graph/v1/user/risk-profile"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/user/risk-profile', 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://api.example.com/api/graph/v1/user/risk-profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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 := "https://api.example.com/api/graph/v1/user/risk-profile"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/graph/v1/user/risk-profile")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/user/risk-profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"preset": "<string>",
"resolved": {
"per_trade_risk_pct": 123,
"max_portfolio_heat_pct": 123,
"max_positions": 123,
"daily_loss_limit_pct": 123,
"weekly_loss_limit_pct": 123,
"min_pop_gate": 123,
"min_edge_ratio": 123,
"options_dte_floor_swing": 123,
"consecutive_loss_pause": 123,
"max_position_size_multiplier": 123
},
"overrides": {},
"hard_caps": {},
"risk_budget": {
"daily_dollars_at_risk_cap": 5000,
"max_percent_equity_at_risk": 5,
"daily_loss_cap": 2000
},
"mode_allowlist": {
"autonomous": true,
"supervised": true,
"monitor": true,
"manual": true
},
"round_trip": {
"global_cap_per_session": 10
},
"onboarding_stage": "operator",
"cooling_off": {
"default_cool_off_minutes": 15,
"consecutive_loss_threshold": 2,
"consecutive_loss_lockout_minutes": 30
},
"funded": {},
"supervised_confirm_window_seconds": 30
}Response
200 - application/json
Successful Response
Show child attributes
Show child attributes
Dollar-denominated risk caps for Trade Manager blocking rules.
Show child attributes
Show child attributes
Which Trade Manager submission modes the user is allowed to use.
Show child attributes
Show child attributes
Global round-trip limits per trading session.
Show child attributes
Show child attributes
Anti-tilt guard configuration (spec §6.5).
Show child attributes
Show child attributes