curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/restore/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/restore/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/restore/', 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}/restore/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/sequences/{sequence_id}/restore/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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}/restore/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/restore/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"contacts_held_elsewhere": 123,
"sequence": {
"audience_table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"audience_view_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_mapping": {
"company_domain_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_deliverability_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_deliverability_results": [
"valid"
],
"linkedin_url_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"created_at": "2023-11-07T05:31:56Z",
"edges": [
{
"branch": "default",
"from_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"launched_at": "2023-11-07T05:31:56Z",
"multithreading": {},
"name": "<string>",
"opt_out_footer_text": "<string>",
"pause_reason": "<string>",
"sending_window": {},
"status": "draft",
"status_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"step_count": 123,
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "message",
"agent_prompt_key": "<string>",
"agent_subject": false,
"authoring": "written",
"body_segments": [
{
"kind": "text",
"builtin": "sender_first_name",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"options": [
"<string>"
],
"required": true,
"text": ""
}
],
"condition_kind": "has_email",
"condition_window_days": 45,
"position": 0,
"prompt": "",
"reply_to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"requires_approval": false,
"subject_segments": [
{
"kind": "text",
"builtin": "sender_first_name",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"options": [
"<string>"
],
"required": true,
"text": ""
}
],
"title": "<string>",
"wait_amount": 0,
"wait_unit": "days"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"audience_table_name": "<string>",
"bcc_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"connection_requests_sent": 123,
"connections_accepted": 123,
"contacts_added": 123,
"contacts_blocked": 123,
"contacts_done": 123,
"contacts_failed": 123,
"contacts_finished": 123,
"contacts_in_progress": 123,
"contacts_not_started": 123,
"continuous_enrolment": false,
"deleted_at": "2023-11-07T05:31:56Z",
"email_approval_mode": "<string>",
"emails_sent": 123,
"hold": {
"contacts": 123,
"reason": "linkedin_verify_account",
"long_offline": false,
"sender_name": "<string>",
"until": "2023-11-07T05:31:56Z",
"window_open": true
},
"is_favorite": false,
"last_synced_at": "2023-11-07T05:31:56Z",
"last_viewed_at": "2023-11-07T05:31:56Z",
"linkedin_approval_mode": "<string>",
"linkedin_check_max_seconds": 123,
"linkedin_check_min_seconds": 123,
"linkedin_messages_sent": 123,
"opportunity_values": {},
"outbound_agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plain_text_only": true,
"positive": 123,
"positive_rate": 123,
"replies": 123,
"reply_rate": 123,
"sender_profile_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sender_profile_names": [
"<string>"
],
"senders_ready": true,
"sending_priority": "new_contacts",
"sending_window_problem": {
"field": [
"<string>"
],
"message": "<string>"
},
"spending_limit_tenths": 123
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Restore a sequence from Trash
Take a sequence out of Trash. A launched one comes back paused, and only Resume starts it again; a draft comes back a draft. Its contacts are taken back where they stood, in the background, unless another sequence took them meanwhile (contacts_held_elsewhere counts them: they stay stopped), they replied, or their row left the audience.
Fails while a live sequence has its name: rename one of the two first.
curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/restore/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/restore/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/restore/', 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}/restore/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/sequences/{sequence_id}/restore/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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}/restore/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/restore/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"contacts_held_elsewhere": 123,
"sequence": {
"audience_table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"audience_view_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_mapping": {
"company_domain_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_deliverability_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email_deliverability_results": [
"valid"
],
"linkedin_url_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"created_at": "2023-11-07T05:31:56Z",
"edges": [
{
"branch": "default",
"from_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"launched_at": "2023-11-07T05:31:56Z",
"multithreading": {},
"name": "<string>",
"opt_out_footer_text": "<string>",
"pause_reason": "<string>",
"sending_window": {},
"status": "draft",
"status_column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"step_count": 123,
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "message",
"agent_prompt_key": "<string>",
"agent_subject": false,
"authoring": "written",
"body_segments": [
{
"kind": "text",
"builtin": "sender_first_name",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"options": [
"<string>"
],
"required": true,
"text": ""
}
],
"condition_kind": "has_email",
"condition_window_days": 45,
"position": 0,
"prompt": "",
"reply_to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"requires_approval": false,
"subject_segments": [
{
"kind": "text",
"builtin": "sender_first_name",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"options": [
"<string>"
],
"required": true,
"text": ""
}
],
"title": "<string>",
"wait_amount": 0,
"wait_unit": "days"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"audience_table_name": "<string>",
"bcc_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"connection_requests_sent": 123,
"connections_accepted": 123,
"contacts_added": 123,
"contacts_blocked": 123,
"contacts_done": 123,
"contacts_failed": 123,
"contacts_finished": 123,
"contacts_in_progress": 123,
"contacts_not_started": 123,
"continuous_enrolment": false,
"deleted_at": "2023-11-07T05:31:56Z",
"email_approval_mode": "<string>",
"emails_sent": 123,
"hold": {
"contacts": 123,
"reason": "linkedin_verify_account",
"long_offline": false,
"sender_name": "<string>",
"until": "2023-11-07T05:31:56Z",
"window_open": true
},
"is_favorite": false,
"last_synced_at": "2023-11-07T05:31:56Z",
"last_viewed_at": "2023-11-07T05:31:56Z",
"linkedin_approval_mode": "<string>",
"linkedin_check_max_seconds": 123,
"linkedin_check_min_seconds": 123,
"linkedin_messages_sent": 123,
"opportunity_values": {},
"outbound_agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plain_text_only": true,
"positive": 123,
"positive_rate": 123,
"replies": 123,
"reply_rate": 123,
"sender_profile_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sender_profile_names": [
"<string>"
],
"senders_ready": true,
"sending_priority": "new_contacts",
"sending_window_problem": {
"field": [
"<string>"
],
"message": "<string>"
},
"spending_limit_tenths": 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
Query Parameters
Report the sequence as it would come back, and restore nothing.
Response
Successful Response
A sequence taken out of Trash, and the contacts it could not take back.
Contacts another sequence took while this one was in Trash. They stay stopped here (Stopped in Trash). One who replied, bounced or left the audience stops for that instead, and is not counted. A draft holds nobody, so it takes every contact back and this is 0. The rest are taken back where they stood, in the background, a moment after this answers.
Show child attributes
Show child attributes
Was this page helpful?