curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"from_sequence_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/"
payload = { "from_sequence_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
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({from_sequence_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/', 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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/",
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([
'from_sequence_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/"
payload := strings.NewReader("{\n \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/")
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 \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"cta_label": "<string>",
"cta_url": "<string>",
"goal": "",
"language": "auto",
"message_prompts": {},
"personality_preset": "direct",
"personality_prompt": "",
"reply_drafting": true,
"reply_prompt": "",
"translate": false
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_key": "<string>",
"name": "<string>",
"research": true,
"updated_at": "2023-11-07T05:31:56Z",
"version": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Copy another sequence's agent setup
Give this sequence’s outbound agent the setup of another sequence’s agent: its personality, goal, call to action, language and translation choice, model, research switch, reply prompt and whether it drafts replies. This sequence’s per-step prompts stay as they are, because they belong to its own steps. Takes the id of the sequence to copy from and returns this sequence’s agent. The copy is written as a new version of the agent, so it can be undone from the agent’s version history.
curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"from_sequence_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/"
payload = { "from_sequence_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" }
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({from_sequence_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'})
};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/', 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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/",
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([
'from_sequence_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/"
payload := strings.NewReader("{\n \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/agent/copy-from/")
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 \"from_sequence_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"cta_label": "<string>",
"cta_url": "<string>",
"goal": "",
"language": "auto",
"message_prompts": {},
"personality_preset": "direct",
"personality_prompt": "",
"reply_drafting": true,
"reply_prompt": "",
"translate": false
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_key": "<string>",
"name": "<string>",
"research": true,
"updated_at": "2023-11-07T05:31:56Z",
"version": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Path Parameters
Body
Which sequence's agent setup to copy onto this sequence's agent.
The sequence whose agent setup is copied. Must be another of this workspace's.
Response
Successful Response
The sequence's outbound agent: the setup its agent-written steps and replies use.
Its personality, goal, call to action, language, per-step prompts, reply prompt and whether it drafts replies.
Show child attributes
Show child attributes
The agent's id, as the /outbound-agents/ routes address it.
The model it writes with: swift, core or deep.
Whether the first message to a contact may research them on the web.
The configuration's version; every change writes a new one.
Was this page helpful?