curl --request POST \
--url https://api.reply.io/v3/sequences/{id}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.reply.io/v3/sequences/{id}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.reply.io/v3/sequences/{id}/archive', 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.reply.io/v3/sequences/{id}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.reply.io/v3/sequences/{id}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.reply.io/v3/sequences/{id}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reply.io/v3/sequences/{id}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"ownerUserId": 42,
"name": "Sales Outreach 2024",
"created": "2024-03-08T14:30:00+00:00",
"status": "active",
"isArchived": false,
"health": "degraded",
"scheduleId": 1,
"emailAccounts": [
{
"id": 1,
"email": "sales@company.com"
},
{
"id": 2,
"email": "outreach@company.com"
}
],
"linkedInAccounts": [
{
"id": 42,
"name": "John Doe",
"profileUrl": "https://www.linkedin.com/in/johndoe",
"status": "enabled"
}
],
"settings": {
"emailsCountPerDay": 50,
"daysToFinishProspect": 14,
"emailSendingDelaySeconds": 30,
"dailyThrottling": 200,
"disableOpensTracking": false,
"repliesHandlingType": "markAsFinished",
"enableLinksTracking": true
},
"steps": [
{
"id": 1323,
"type": "email",
"delayInMinutes": 0,
"executionMode": "automatic",
"variants": [
{
"id": 1,
"subject": "Quick question about {{companyName}}",
"message": "<p>Hi {{firstName}},</p><p>I noticed you are leading initiatives at {{companyName}} and wanted to reach out.</p><p>Best regards, John</p>"
}
]
},
{
"id": 43432,
"type": "linkedIn",
"actionType": "message",
"delayInMinutes": 2880,
"executionMode": "automatic",
"variants": [
{
"id": 2,
"message": "Hi {{firstName}}, I noticed your great work at {{companyName}}. Would love to connect!",
"isEnabled": true
}
]
}
]
}Archive a sequence
sequences:operate scope (or a broader one that includes it).
Put a sequence aside without deleting it. Pause it first, and note that archiving removes every contact currently in it.
curl --request POST \
--url https://api.reply.io/v3/sequences/{id}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.reply.io/v3/sequences/{id}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.reply.io/v3/sequences/{id}/archive', 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.reply.io/v3/sequences/{id}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.reply.io/v3/sequences/{id}/archive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.reply.io/v3/sequences/{id}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reply.io/v3/sequences/{id}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"ownerUserId": 42,
"name": "Sales Outreach 2024",
"created": "2024-03-08T14:30:00+00:00",
"status": "active",
"isArchived": false,
"health": "degraded",
"scheduleId": 1,
"emailAccounts": [
{
"id": 1,
"email": "sales@company.com"
},
{
"id": 2,
"email": "outreach@company.com"
}
],
"linkedInAccounts": [
{
"id": 42,
"name": "John Doe",
"profileUrl": "https://www.linkedin.com/in/johndoe",
"status": "enabled"
}
],
"settings": {
"emailsCountPerDay": 50,
"daysToFinishProspect": 14,
"emailSendingDelaySeconds": 30,
"dailyThrottling": 200,
"disableOpensTracking": false,
"repliesHandlingType": "markAsFinished",
"enableLinksTracking": true
},
"steps": [
{
"id": 1323,
"type": "email",
"delayInMinutes": 0,
"executionMode": "automatic",
"variants": [
{
"id": 1,
"subject": "Quick question about {{companyName}}",
"message": "<p>Hi {{firstName}},</p><p>I noticed you are leading initiatives at {{companyName}} and wanted to reach out.</p><p>Best regards, John</p>"
}
]
},
{
"id": 43432,
"type": "linkedIn",
"actionType": "message",
"delayInMinutes": 2880,
"executionMode": "automatic",
"variants": [
{
"id": 2,
"message": "Hi {{firstName}}, I noticed your great work at {{companyName}}. Would love to connect!",
"isEnabled": true
}
]
}
]
}Authorizations
Authenticate every request with a Bearer token. Pass your Reply API key in the
Authorization header:
Authorization: Bearer <your-api-key>
Get your API key from the Reply dashboard: Settings → API Key.
Path Parameters
Sequence Id
x >= 1Response
Sequence archived successfully
Full representation of a sequence, including its schedule and the email and LinkedIn accounts used to send from it.
Unique identifier for the sequence
Identifier of the user who owns the sequence
Name of the sequence
Sequence creation timestamp with timezone offset
Current status of the sequence
new, active, paused Indicates if the sequence is archived
Overall health status of the sequence. Indicates whether the sequence can operate normally or has issues that need attention.
healthy— Sequence is functioning normally with no issuesstalled— Sequence has stalled and is not progressingdegraded— Sequence is running but with reduced effectivenessblocked— Sequence cannot proceed due to critical issues
healthy, stalled, degraded, blocked Schedule ID
Email accounts used to send emails for this sequence
Show child attributes
Show child attributes
LinkedIn accounts linked to this sequence
Show child attributes
Show child attributes
Settings configuration for a sequence
Show child attributes
Show child attributes
Array of sequence steps
Email step with variant configuration
- Email
- LinkedIn Message
- LinkedIn Connect
- LinkedIn InMail
- LinkedIn View Profile
- LinkedIn Endorse Skills
- LinkedIn Voice Message
- LinkedIn Like Recent Posts
- LinkedIn Follow Profile
- LinkedIn Comment On Recent Post
- Call
- SMS
- WhatsApp
- Zapier
- Task
- Condition
Show child attributes
Show child attributes