Sequences
Enable Sequence
Activate a sequence so matching subscribers can enter it
POST
/
api
/
v1
/
sequences
/
{sequenceId}
/
enable
Enable Sequence
curl --request POST \
--url https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable', 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.sequenzy.com/api/v1/sequences/{sequenceId}/enable",
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.sequenzy.com/api/v1/sequences/{sequenceId}/enable"
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.sequenzy.com/api/v1/sequences/{sequenceId}/enable")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable")
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{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps."
}
{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps.",
"warnings": [
"The trigger has no list, so every contact added to this company enters the sequence, including contacts that join no list. Choose a list on the trigger if that is not intended."
]
}
{
"error": "Sequence is not ready to activate: No actions: Add at least one action step like an email, A/B test, discount, subscriber update, or list update"
}
{
"error": "Connect Stripe before activating a sequence with discount steps"
}
{
"error": "Connect Shopify before activating a sequence with discount steps"
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}
Activates a draft or paused sequence and opens it for new enrollments. When a
paused sequence is enabled again, held subscribers continue from their current
step. Waits that expired during the pause resume as due work and are queued
gradually.
Activation runs the same readiness checks returned by
GET /sequences/{sequenceId}/simulate.
Fix every readiness error before enabling; invalid triggers, incomplete steps,
and disconnected graphs are rejected without changing the sequence status.
Sequences that include create_discount steps require a connected integration for each selected discount provider before activation.
Readiness warnings do not block activation. They come back in a warnings
array on the 200, for example when a contact_added trigger has no list and
so enrolls every contact added to your company. Check them, and
update the trigger or
disable the sequence if the audience is not
what you intended.
Request
string
required
Sequence ID.
curl -X POST "https://api.sequenzy.com/api/v1/sequences/seq_abc123/enable" \
-H "Authorization: Bearer seq_live_xxx"
Responses
{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps."
}
{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps.",
"warnings": [
"The trigger has no list, so every contact added to this company enters the sequence, including contacts that join no list. Choose a list on the trigger if that is not intended."
]
}
{
"error": "Sequence is not ready to activate: No actions: Add at least one action step like an email, A/B test, discount, subscriber update, or list update"
}
{
"error": "Connect Stripe before activating a sequence with discount steps"
}
{
"error": "Connect Shopify before activating a sequence with discount steps"
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}
⌘I
Enable Sequence
curl --request POST \
--url https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable', 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.sequenzy.com/api/v1/sequences/{sequenceId}/enable",
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.sequenzy.com/api/v1/sequences/{sequenceId}/enable"
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.sequenzy.com/api/v1/sequences/{sequenceId}/enable")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/sequences/{sequenceId}/enable")
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{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps."
}
{
"success": true,
"message": "Sequence enabled",
"sequenceId": "seq_abc123",
"status": "active",
"enrollmentPaused": false,
"effectiveStatus": "live",
"acceptsNewEnrollments": true,
"processesExistingEnrollments": true,
"effectiveStatusSummary": "Live. New subscribers enroll and existing recipients keep receiving steps.",
"warnings": [
"The trigger has no list, so every contact added to this company enters the sequence, including contacts that join no list. Choose a list on the trigger if that is not intended."
]
}
{
"error": "Sequence is not ready to activate: No actions: Add at least one action step like an email, A/B test, discount, subscriber update, or list update"
}
{
"error": "Connect Stripe before activating a sequence with discount steps"
}
{
"error": "Connect Shopify before activating a sequence with discount steps"
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}