curl --request POST \
--url https://my.cloudtalk.io/api/agents/edit/{agentId}.json \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"firstname": "<string>",
"lastname": "<string>",
"email": "[email protected]",
"status_outbound": true,
"daily_price_limit": 100,
"call_number_id": 2
}
'import requests
url = "https://my.cloudtalk.io/api/agents/edit/{agentId}.json"
payload = {
"firstname": "<string>",
"lastname": "<string>",
"email": "[email protected]",
"status_outbound": True,
"daily_price_limit": 100,
"call_number_id": 2
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstname: '<string>',
lastname: '<string>',
email: '[email protected]',
status_outbound: true,
daily_price_limit: 100,
call_number_id: 2
})
};
fetch('https://my.cloudtalk.io/api/agents/edit/{agentId}.json', 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://my.cloudtalk.io/api/agents/edit/{agentId}.json",
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([
'firstname' => '<string>',
'lastname' => '<string>',
'email' => '[email protected]',
'status_outbound' => true,
'daily_price_limit' => 100,
'call_number_id' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://my.cloudtalk.io/api/agents/edit/{agentId}.json"
payload := strings.NewReader("{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://my.cloudtalk.io/api/agents/edit/{agentId}.json")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://my.cloudtalk.io/api/agents/edit/{agentId}.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}"
response = http.request(request)
puts response.read_body{
"responseData": {
"status": 200
}
}{
"responseData": {
"status": 404,
"message": "Not found."
}
}{
"responseData": {
"status": 406,
"message": "Invalid input data.",
"data": {
"email": [
"Please supply a valid email address."
]
}
}
}{
"responseData": {
"status": 500,
"message": "Something went wrong."
}
}Edit an agent
Updates the agent identified by agentId. firstname, lastname and email must be sent on every request, even when unchanged. The agent’s password cannot be changed here. Returns 404 if no agent has that ID.
Note the core API updates with POST, not PUT.
curl --request POST \
--url https://my.cloudtalk.io/api/agents/edit/{agentId}.json \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"firstname": "<string>",
"lastname": "<string>",
"email": "[email protected]",
"status_outbound": true,
"daily_price_limit": 100,
"call_number_id": 2
}
'import requests
url = "https://my.cloudtalk.io/api/agents/edit/{agentId}.json"
payload = {
"firstname": "<string>",
"lastname": "<string>",
"email": "[email protected]",
"status_outbound": True,
"daily_price_limit": 100,
"call_number_id": 2
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstname: '<string>',
lastname: '<string>',
email: '[email protected]',
status_outbound: true,
daily_price_limit: 100,
call_number_id: 2
})
};
fetch('https://my.cloudtalk.io/api/agents/edit/{agentId}.json', 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://my.cloudtalk.io/api/agents/edit/{agentId}.json",
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([
'firstname' => '<string>',
'lastname' => '<string>',
'email' => '[email protected]',
'status_outbound' => true,
'daily_price_limit' => 100,
'call_number_id' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://my.cloudtalk.io/api/agents/edit/{agentId}.json"
payload := strings.NewReader("{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://my.cloudtalk.io/api/agents/edit/{agentId}.json")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://my.cloudtalk.io/api/agents/edit/{agentId}.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"email\": \"[email protected]\",\n \"status_outbound\": true,\n \"daily_price_limit\": 100,\n \"call_number_id\": 2\n}"
response = http.request(request)
puts response.read_body{
"responseData": {
"status": 200
}
}{
"responseData": {
"status": 404,
"message": "Not found."
}
}{
"responseData": {
"status": 406,
"message": "Invalid input data.",
"data": {
"email": [
"Please supply a valid email address."
]
}
}
}{
"responseData": {
"status": 500,
"message": "Something went wrong."
}
}Authorizations
HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).
Path Parameters
Agent ID to edit
Body
First name
Last name
Does agent have outbound calls allowed?
Daily price limit for all calls in EUR. Usually allowed values are from 1 to 200 EUR. Leave empty for using default value.
1 <= x <= 200Default outbound number ID
x >= 1Response
No error
Show child attributes
Show child attributes