Duplicate Agent
Create a copy of an agent you can access.
POST
/
duplicate-agent
Duplicate an agent
curl --request POST \
--url https://app.phonely.ai/api/duplicate-agent \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"uid": "<string>",
"agentId": "<string>"
}
'import requests
url = "https://app.phonely.ai/api/duplicate-agent"
payload = {
"uid": "<string>",
"agentId": "<string>"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({uid: '<string>', agentId: '<string>'})
};
fetch('https://app.phonely.ai/api/duplicate-agent', 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://app.phonely.ai/api/duplicate-agent",
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([
'uid' => '<string>',
'agentId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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://app.phonely.ai/api/duplicate-agent"
payload := strings.NewReader("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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://app.phonely.ai/api/duplicate-agent")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.phonely.ai/api/duplicate-agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"agentId": "<string>",
"name": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Creates a new agent from an existing agent’s configuration. The API key must belong to the supplied user, and that user must have access to the source agent.
The response identifies the new agent by its
agentId and includes its name and owning user ID.Last modified on August 10, 2026
⌘I
Duplicate an agent
curl --request POST \
--url https://app.phonely.ai/api/duplicate-agent \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"uid": "<string>",
"agentId": "<string>"
}
'import requests
url = "https://app.phonely.ai/api/duplicate-agent"
payload = {
"uid": "<string>",
"agentId": "<string>"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({uid: '<string>', agentId: '<string>'})
};
fetch('https://app.phonely.ai/api/duplicate-agent', 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://app.phonely.ai/api/duplicate-agent",
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([
'uid' => '<string>',
'agentId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <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://app.phonely.ai/api/duplicate-agent"
payload := strings.NewReader("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<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://app.phonely.ai/api/duplicate-agent")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.phonely.ai/api/duplicate-agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uid\": \"<string>\",\n \"agentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"agentId": "<string>",
"name": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}
