create_risk_limit
POST
/admin/risk-limits
curl --request POST \ --url http://localhost:3001/admin/risk-limits \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{"instrument_id":"string","max_order_notional":0,"max_order_quantity":0,"max_position_notional":0,"max_position_quantity":0,"portfolio_id":"00000000-0000-0000-0000-000000000000","trading_state":null}'import requests
url = "http://localhost:3001/admin/risk-limits"
payload = { "instrument_id": "string", "max_order_notional": 0, "max_order_quantity": 0, "max_position_notional": 0, "max_position_quantity": 0, "portfolio_id": "00000000-0000-0000-0000-000000000000", "trading_state": None}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "http://localhost:3001/admin/risk-limits";
let payload = json!({ "instrument_id": "string", "max_order_notional": 0, "max_order_quantity": 0, "max_position_notional": 0, "max_position_quantity": 0, "portfolio_id": "00000000-0000-0000-0000-000000000000", "trading_state": json!(null) });
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap()); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
instrument_id
required
string
max_order_notional
number format: double
max_order_quantity
number format: double
max_position_notional
number format: double
max_position_quantity
number format: double
portfolio_id
required
string format: uuid
trading_state
string
Example generated
{ "instrument_id": "example", "max_order_notional": 1, "max_order_quantity": 1, "max_position_notional": 1, "max_position_quantity": 1, "portfolio_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "trading_state": "example"}Responses
Section titled “Responses”Created
Media typeapplication/json
object
created_at
required
string format: date-time
id
required
string format: uuid
instrument_id
required
string
max_order_notional
number format: double
max_order_quantity
number format: double
max_position_notional
number format: double
max_position_quantity
number format: double
portfolio_id
required
string format: uuid
trading_state
required
string
updated_at
required
string format: date-time
Example generated
{ "created_at": "2026-04-15T12:00:00Z", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "instrument_id": "example", "max_order_notional": 1, "max_order_quantity": 1, "max_position_notional": 1, "max_position_quantity": 1, "portfolio_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "trading_state": "example", "updated_at": "2026-04-15T12:00:00Z"}Invalid trading_state
Limit already exists for this portfolio/instrument