Copy Trading
Toggle copy config active state
Enables or disables a specific copy trading configuration without deleting it.
When disabled, new trades on the leader account are not copied to the follower. Existing positions are not affected.
Toggling is blocked while relevant positions are open.
POST
/
trade
/
copy
/
config
/
active
Toggle copy config active state
curl --request POST \
--url https://api.hyperprop.com/trade/copy/config/active \
--header 'Content-Type: application/json' \
--data '
{
"follower_account_id": "660e8400-e29b-41d4-a716-446655440001",
"group_name": "group_a",
"is_active": false,
"symbol": "ESH6"
}
'import requests
url = "https://api.hyperprop.com/trade/copy/config/active"
payload = {
"follower_account_id": "660e8400-e29b-41d4-a716-446655440001",
"group_name": "group_a",
"is_active": False,
"symbol": "ESH6"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
follower_account_id: '660e8400-e29b-41d4-a716-446655440001',
group_name: 'group_a',
is_active: false,
symbol: 'ESH6'
})
};
fetch('https://api.hyperprop.com/trade/copy/config/active', 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.hyperprop.com/trade/copy/config/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'follower_account_id' => '660e8400-e29b-41d4-a716-446655440001',
'group_name' => 'group_a',
'is_active' => false,
'symbol' => 'ESH6'
]),
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://api.hyperprop.com/trade/copy/config/active"
payload := strings.NewReader("{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.hyperprop.com/trade/copy/config/active")
.header("Content-Type", "application/json")
.body("{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperprop.com/trade/copy/config/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}"
response = http.request(request)
puts response.read_body{
"code": null,
"data": {
"follower_account_id": "2a9b1b83-7434-4510-94bc-aac7f92bfaf2",
"group_name": "150k group",
"id": "290eae9e-7a6c-4c19-8a68-232797189473",
"is_active": false,
"leader_account_id": "0b547750-8a5c-4396-9665-d9079511b822",
"ratio": 1,
"symbol": "*"
},
"error": null,
"success": true
}{
"code": "ERROR_CODE",
"data": null,
"error": "Error message describing what went wrong",
"success": false
}{
"code": "ERROR_CODE",
"data": null,
"error": "Error message describing what went wrong",
"success": false
}{
"code": "RATE_LIMITED",
"data": null,
"error": "Rate limit exceeded for order submissions. Max 10 requests per second per account. Retry after 0.1 seconds.",
"rate_limit": {
"limit": 10,
"remaining": 0,
"reset": 1711800125,
"retry_after": 0.1
},
"success": false
}Body
application/json
Request to enable/disable a specific config row
Response
Config activation updated
Related topics
Get copy trading configurationDelete a copy trading configCreate or update a copy trading configDelete all copy trading configsGet copy trading status and positions⌘I
Toggle copy config active state
curl --request POST \
--url https://api.hyperprop.com/trade/copy/config/active \
--header 'Content-Type: application/json' \
--data '
{
"follower_account_id": "660e8400-e29b-41d4-a716-446655440001",
"group_name": "group_a",
"is_active": false,
"symbol": "ESH6"
}
'import requests
url = "https://api.hyperprop.com/trade/copy/config/active"
payload = {
"follower_account_id": "660e8400-e29b-41d4-a716-446655440001",
"group_name": "group_a",
"is_active": False,
"symbol": "ESH6"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
follower_account_id: '660e8400-e29b-41d4-a716-446655440001',
group_name: 'group_a',
is_active: false,
symbol: 'ESH6'
})
};
fetch('https://api.hyperprop.com/trade/copy/config/active', 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.hyperprop.com/trade/copy/config/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'follower_account_id' => '660e8400-e29b-41d4-a716-446655440001',
'group_name' => 'group_a',
'is_active' => false,
'symbol' => 'ESH6'
]),
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://api.hyperprop.com/trade/copy/config/active"
payload := strings.NewReader("{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.hyperprop.com/trade/copy/config/active")
.header("Content-Type", "application/json")
.body("{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperprop.com/trade/copy/config/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"follower_account_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n \"group_name\": \"group_a\",\n \"is_active\": false,\n \"symbol\": \"ESH6\"\n}"
response = http.request(request)
puts response.read_body{
"code": null,
"data": {
"follower_account_id": "2a9b1b83-7434-4510-94bc-aac7f92bfaf2",
"group_name": "150k group",
"id": "290eae9e-7a6c-4c19-8a68-232797189473",
"is_active": false,
"leader_account_id": "0b547750-8a5c-4396-9665-d9079511b822",
"ratio": 1,
"symbol": "*"
},
"error": null,
"success": true
}{
"code": "ERROR_CODE",
"data": null,
"error": "Error message describing what went wrong",
"success": false
}{
"code": "ERROR_CODE",
"data": null,
"error": "Error message describing what went wrong",
"success": false
}{
"code": "RATE_LIMITED",
"data": null,
"error": "Rate limit exceeded for order submissions. Max 10 requests per second per account. Retry after 0.1 seconds.",
"rate_limit": {
"limit": 10,
"remaining": 0,
"reset": 1711800125,
"retry_after": 0.1
},
"success": false
}