Get effective account trading policy
curl --request GET \
--url https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy \
--header 'Authorization: Bearer <token>'import requests
url = "https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy', 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://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy",
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: Bearer <token>"
],
]);
$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://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"account_id": "<string>",
"observed_at": 123,
"advisory": true,
"status": "<string>",
"stage": "evaluation",
"manual_trading_blocked": true,
"opening_exposure_restricted": true,
"payout_pending": true,
"copy_follower_locked": true,
"copy_scope_blocked": true,
"fee_exempt": true,
"restriction": {
"restriction": "reduce_only",
"reason": "<string>",
"flagged_at": 123
},
"copy_stop": {
"stopped_at": 123,
"completed_at": 123,
"acknowledged_at": 123,
"reason": "<string>"
},
"competition": {
"opening_exposure_restricted": true,
"market_allowlist": [
"<string>"
]
},
"trading_halt": {
"platform": true,
"categories": [
"<string>"
]
},
"limits": {
"trades_per_minute": 123,
"trades_per_hour": 123,
"trades_per_day": 123,
"order_cooldown_ms": 123,
"max_open_positions": 123,
"max_position_value_usd": 123,
"min_order_notional_usd": 123,
"execution_delay_min_ms": 123,
"execution_delay_max_ms": 123,
"max_book_staleness_ms": 123,
"maintenance_margin_ratio_bps": 123,
"liquidation_fee_bps": 123,
"max_resting_orders": 123,
"risk_touch_window_ms": 123
},
"unlimited_trade_count_threshold": 123,
"slippage_tolerance_bps": {
"min": 123,
"max": 123,
"market_order_maximum_by_provider": {}
},
"account_rules": [
{
"id": "<string>",
"parameters": {}
}
],
"maximum_total_notional_usd": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}Accounts
Get effective account trading policy
Returns an advisory snapshot of effective account rules, configured trading limits, user restrictions, payout and copy locks, and trading halts. Read scope is sufficient. Placement and settlement recheck authority; this snapshot does not reserve capacity or guarantee an order will pass.
GET
/
v1
/
accounts
/
{account_id}
/
trading-policy
Get effective account trading policy
curl --request GET \
--url https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy \
--header 'Authorization: Bearer <token>'import requests
url = "https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy', 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://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy",
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: Bearer <token>"
],
]);
$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://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://developers.myfundedperpetuals.com/v1/accounts/{account_id}/trading-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"account_id": "<string>",
"observed_at": 123,
"advisory": true,
"status": "<string>",
"stage": "evaluation",
"manual_trading_blocked": true,
"opening_exposure_restricted": true,
"payout_pending": true,
"copy_follower_locked": true,
"copy_scope_blocked": true,
"fee_exempt": true,
"restriction": {
"restriction": "reduce_only",
"reason": "<string>",
"flagged_at": 123
},
"copy_stop": {
"stopped_at": 123,
"completed_at": 123,
"acknowledged_at": 123,
"reason": "<string>"
},
"competition": {
"opening_exposure_restricted": true,
"market_allowlist": [
"<string>"
]
},
"trading_halt": {
"platform": true,
"categories": [
"<string>"
]
},
"limits": {
"trades_per_minute": 123,
"trades_per_hour": 123,
"trades_per_day": 123,
"order_cooldown_ms": 123,
"max_open_positions": 123,
"max_position_value_usd": 123,
"min_order_notional_usd": 123,
"execution_delay_min_ms": 123,
"execution_delay_max_ms": 123,
"max_book_staleness_ms": 123,
"maintenance_margin_ratio_bps": 123,
"liquidation_fee_bps": 123,
"max_resting_orders": 123,
"risk_touch_window_ms": 123
},
"unlimited_trade_count_threshold": 123,
"slippage_tolerance_bps": {
"min": 123,
"max": 123,
"market_order_maximum_by_provider": {}
},
"account_rules": [
{
"id": "<string>",
"parameters": {}
}
],
"maximum_total_notional_usd": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}
}Authorizations
API key beginning with fp_live_ (live keys, served at developers.myfundedperpetuals.com) or fp_test_ (test keys, served at sandbox.myfundedperpetuals.com). A key presented on the other host is rejected with 401 and a message naming the correct host.
Path Parameters
Response
Effective account trading policy.
Show child attributes
Show child attributes