PATCH
https://api.cryptohopper.com/v1/hopper/{id}/signal/{signal_id}
Replaces the hopper's config for a signal subscription. Settings you leave out are reset, except blocked_coins, which keeps its stored list when omitted (send an empty list to clear it).
OAuth scope:
read manage About scopes
Other config keys: pause, percentage_higher_bid, percentage_lower_ask, bid_percentage with bid_percentage_type, ask_percentage with ask_percentage_type, and allow_all_coins. allow_all_coins is only accepted when the hopper has no strategy (signals only) and a Hero subscription; otherwise the rest is saved without it and an error is returned. Not available for arbitrage, market maker, copy trading, grid and AI bots.
Example request
curl -X PATCH "https://api.cryptohopper.com/v1/hopper/HOPPER_ID/signal/SIGNAL_ID" \
-H "access-token: YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"config":{"buy_amount":50,"percentage_profit":3,"max_open_positions":5,"market_order":1,"follow_sell_signals":1,"use_signal_config":0,"blocked_coins":["DOGE","SHIB"]}}'
const response = await fetch('https://api.cryptohopper.com/v1/hopper/HOPPER_ID/signal/SIGNAL_ID', {
method: 'PATCH',
headers: {
"access-token": "YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"config": {
"buy_amount": 50,
"percentage_profit": 3,
"max_open_positions": 5,
"market_order": 1,
"follow_sell_signals": 1,
"use_signal_config": 0,
"blocked_coins": [
"DOGE",
"SHIB"
]
}
})
});
const data = await response.json();
import requests
response = requests.patch(
"https://api.cryptohopper.com/v1/hopper/HOPPER_ID/signal/SIGNAL_ID",
headers={
"access-token": "YOUR_ACCESS_TOKEN"
},
json={
"config": {
"buy_amount": 50,
"percentage_profit": 3,
"max_open_positions": 5,
"market_order": 1,
"follow_sell_signals": 1,
"use_signal_config": 0,
"blocked_coins": [
"DOGE",
"SHIB"
]
}
},
)
data = response.json()
$ch = curl_init('https://api.cryptohopper.com/v1/hopper/HOPPER_ID/signal/SIGNAL_ID');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'access-token: YOUR_ACCESS_TOKEN',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'buy_amount' => 50,
'percentage_profit' => 3,
'max_open_positions' => 5,
'market_order' => 1,
'follow_sell_signals' => 1,
'use_signal_config' => 0,
'blocked_coins' => [
'DOGE',
'SHIB',
],
],
]),
]);
$data = json_decode(curl_exec($ch), true);
Parameters
Headers
| Name | Type | Required | Description |
|---|---|---|---|
access-token |
string | Required | The OAuth access token of the user. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
signal_id |
string | Required | Signaller ID of a signaller the hopper is subscribed to. |
id |
string | Required | Hopper ID. |
Response
{
"data": "Signal subscription configuration has been saved."
}