curl --request POST \
--url https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"scope": "account",
"provider": "kommo",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expected_revision": "<string>",
"affected_workflow_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"confirm": true
}
'import requests
url = "https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token"
payload = {
"scope": "account",
"provider": "kommo",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expected_revision": "<string>",
"affected_workflow_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"confirm": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
scope: 'account',
provider: 'kommo',
connection_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
expected_revision: '<string>',
affected_workflow_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
confirm: true
})
};
fetch('https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token', 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.getnexor.ai/api/public/crm-account/kommo/rotate-token",
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([
'scope' => 'account',
'provider' => 'kommo',
'connection_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'expected_revision' => '<string>',
'affected_workflow_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'confirm' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.getnexor.ai/api/public/crm-account/kommo/rotate-token"
payload := strings.NewReader("{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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))
}HttpResponse<String> response = Unirest.post("https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Rotate kommo webhook token
Account-wide operation, including tasks that inherit defaults and future tasks. Use only in explicit account context. First inspect get_crm_account_configuration and explain all affected_workflows. Writes require their exact IDs, the revision, and explicit confirm=true. Locked tasks or changed configuration reject the whole action. Never drop an affected task to bypass authorization. Replace the Kommo webhook receiving token after explicit consent. The previous URL stops accepting events once committed. The new URL contains a secret. Preserves routes and imported records; does not run an import. Review the returned configuration and configure external senders with the new URL.
curl --request POST \
--url https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"scope": "account",
"provider": "kommo",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expected_revision": "<string>",
"affected_workflow_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"confirm": true
}
'import requests
url = "https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token"
payload = {
"scope": "account",
"provider": "kommo",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expected_revision": "<string>",
"affected_workflow_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"confirm": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
scope: 'account',
provider: 'kommo',
connection_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
expected_revision: '<string>',
affected_workflow_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
confirm: true
})
};
fetch('https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token', 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.getnexor.ai/api/public/crm-account/kommo/rotate-token",
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([
'scope' => 'account',
'provider' => 'kommo',
'connection_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'expected_revision' => '<string>',
'affected_workflow_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'confirm' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.getnexor.ai/api/public/crm-account/kommo/rotate-token"
payload := strings.NewReader("{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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))
}HttpResponse<String> response = Unirest.post("https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getnexor.ai/api/public/crm-account/kommo/rotate-token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"scope\": \"account\",\n \"provider\": \"kommo\",\n \"connection_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"expected_revision\": \"<string>\",\n \"affected_workflow_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"confirm\": true\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
API key for authentication. Keys are prefixed with nxr_live_.
Body
Response
Saved configuration, provider catalog or safe execution evidence as described by this operation. Execution can be unavailable or skipped.
The response is of type object.