curl --request POST \
--url https://api.kraken.com/0/private/CancelStrategy \
--header 'API-Key: <api-key>' \
--header 'API-Sign: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": 1781169958000,
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
'import requests
url = "https://api.kraken.com/0/private/CancelStrategy"
payload = {
"nonce": 1781169958000,
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'API-Key': '<api-key>',
'API-Sign': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({nonce: 1781169958000, strategy_id: 'ASMBA64-R23M2-J7JRJV'})
};
fetch('https://api.kraken.com/0/private/CancelStrategy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/private/CancelStrategy"
payload := strings.NewReader("{\n \"nonce\": 1781169958000,\n \"strategy_id\": \"ASMBA64-R23M2-J7JRJV\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
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))
}{
"error": [],
"result": {
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
}Cancel Strategy
Cancel a pending or open strategy by strategy_id. Cancellation stops further child-order scheduling. An already-submitted child order may still fill while cancellation completes, and those fills are kept. The strategy normally finishes as cancelled with reason: userRequested; if the in-flight order completes the requested volume, it can finish as closed. Poll QueryStrategies for the terminal status and final execution totals. Terminal strategies are returned by GetClosedStrategies.
API Key Permissions Required: Orders and trades - Cancel & close orders
curl --request POST \
--url https://api.kraken.com/0/private/CancelStrategy \
--header 'API-Key: <api-key>' \
--header 'API-Sign: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": 1781169958000,
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
'import requests
url = "https://api.kraken.com/0/private/CancelStrategy"
payload = {
"nonce": 1781169958000,
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'API-Key': '<api-key>',
'API-Sign': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({nonce: 1781169958000, strategy_id: 'ASMBA64-R23M2-J7JRJV'})
};
fetch('https://api.kraken.com/0/private/CancelStrategy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/private/CancelStrategy"
payload := strings.NewReader("{\n \"nonce\": 1781169958000,\n \"strategy_id\": \"ASMBA64-R23M2-J7JRJV\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
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))
}{
"error": [],
"result": {
"strategy_id": "ASMBA64-R23M2-J7JRJV"
}
}Authorizations
The "API-Key" header should contain your API key.
Authenticated requests should be signed with the "API-Sign" header, using a signature generated with your private key, nonce, encoded payload, and URI path.
Body
Was this page helpful?