Sequences
Get Sequence
Get sequence metadata, graph topology, and editable email steps
GET
/
api
/
v1
/
sequences
/
{sequenceId}
Get Sequence
curl --request GET \
--url https://api.sequenzy.com/api/v1/sequences/{sequenceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/sequences/{sequenceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/sequences/{sequenceId}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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}"
req, _ := http.NewRequest("GET", 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.get("https://api.sequenzy.com/api/v1/sequences/{sequenceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/sequences/{sequenceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"sequence": {
"id": "seq_abc123",
"name": "Welcome Sequence",
"status": "draft",
"trigger": "trigger_list",
"senderProfileId": "sender_abc123",
"fromName": "Acme",
"fromEmail": "hello@example.com",
"replyProfileId": "reply_abc123",
"replyToName": "Support",
"replyToEmail": "support@example.com",
"sendingWindow": {
"enabled": true,
"timezone": "Europe/Kiev",
"startTime": "08:00",
"endTime": "20:00",
"days": ["monday", "tuesday", "wednesday", "thursday", "friday"]
},
"graphRevision": "48ab6d78a2d4f2b7d2d36d8e1dba9ea3f411bb65059b627a2b8268b4e81d8f7a",
"nodes": [
{
"id": "node_trigger",
"nodeType": "trigger_list",
"config": { "triggerType": "contact_added" }
},
{
"id": "node_abc123",
"nodeType": "action_email",
"config": {
"emailId": "email_abc123",
"stepNumber": 1,
"emailPreset": "minimal"
}
},
{
"id": "node_end",
"nodeType": "action_webhook",
"config": { "isEndNode": true }
}
],
"edges": [
{
"sourceNodeId": "node_trigger",
"targetNodeId": "node_abc123"
},
{
"sourceNodeId": "node_abc123",
"targetNodeId": "node_end"
}
],
"emails": [
{
"nodeId": "node_abc123",
"emailId": "email_abc123",
"stepNumber": 1,
"name": "Welcome Sequence - Email 1",
"subject": "Welcome to Acme",
"previewText": null,
"emailPreset": "minimal",
"delayNodeId": null,
"delayMode": null,
"delayMs": null,
"waitUntil": null,
"delayDisplay": null,
"delayDescription": null,
"blocks": []
}
],
"createdAt": "2026-04-20T10:00:00.000Z",
"enrichmentStatus": "complete",
"emailCount": 1,
"enrichedCount": 1
}
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}
Get Sequence
Returns one sequence with its automation nodes, edges, graph revision, and editable email steps. PassgraphRevision back with graphEdit when updating
the topology so a stale client cannot overwrite a newer graph change. Each
linked email includes its effective emailPreset (branded or minimal), the
same value shown under Style > Format in the dashboard. Native block emails
can include supported custom HTML blocks and still return their format. An email
stored entirely as one standalone raw HTML block returns null.
Request
Sequence ID.
curl "https://api.sequenzy.com/api/v1/sequences/seq_abc123" \
-H "Authorization: Bearer seq_live_xxx"
Responses
{
"success": true,
"sequence": {
"id": "seq_abc123",
"name": "Welcome Sequence",
"status": "draft",
"trigger": "trigger_list",
"senderProfileId": "sender_abc123",
"fromName": "Acme",
"fromEmail": "hello@example.com",
"replyProfileId": "reply_abc123",
"replyToName": "Support",
"replyToEmail": "support@example.com",
"sendingWindow": {
"enabled": true,
"timezone": "Europe/Kiev",
"startTime": "08:00",
"endTime": "20:00",
"days": ["monday", "tuesday", "wednesday", "thursday", "friday"]
},
"graphRevision": "48ab6d78a2d4f2b7d2d36d8e1dba9ea3f411bb65059b627a2b8268b4e81d8f7a",
"nodes": [
{
"id": "node_trigger",
"nodeType": "trigger_list",
"config": { "triggerType": "contact_added" }
},
{
"id": "node_abc123",
"nodeType": "action_email",
"config": {
"emailId": "email_abc123",
"stepNumber": 1,
"emailPreset": "minimal"
}
},
{
"id": "node_end",
"nodeType": "action_webhook",
"config": { "isEndNode": true }
}
],
"edges": [
{
"sourceNodeId": "node_trigger",
"targetNodeId": "node_abc123"
},
{
"sourceNodeId": "node_abc123",
"targetNodeId": "node_end"
}
],
"emails": [
{
"nodeId": "node_abc123",
"emailId": "email_abc123",
"stepNumber": 1,
"name": "Welcome Sequence - Email 1",
"subject": "Welcome to Acme",
"previewText": null,
"emailPreset": "minimal",
"delayNodeId": null,
"delayMode": null,
"delayMs": null,
"waitUntil": null,
"delayDisplay": null,
"delayDescription": null,
"blocks": []
}
],
"createdAt": "2026-04-20T10:00:00.000Z",
"enrichmentStatus": "complete",
"emailCount": 1,
"enrichedCount": 1
}
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}
Previous
Create SequenceCreate an automation sequence with AI-generated or explicit email/action steps
Next
⌘I
Get Sequence
curl --request GET \
--url https://api.sequenzy.com/api/v1/sequences/{sequenceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/sequences/{sequenceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/sequences/{sequenceId}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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}"
req, _ := http.NewRequest("GET", 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.get("https://api.sequenzy.com/api/v1/sequences/{sequenceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/sequences/{sequenceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"sequence": {
"id": "seq_abc123",
"name": "Welcome Sequence",
"status": "draft",
"trigger": "trigger_list",
"senderProfileId": "sender_abc123",
"fromName": "Acme",
"fromEmail": "hello@example.com",
"replyProfileId": "reply_abc123",
"replyToName": "Support",
"replyToEmail": "support@example.com",
"sendingWindow": {
"enabled": true,
"timezone": "Europe/Kiev",
"startTime": "08:00",
"endTime": "20:00",
"days": ["monday", "tuesday", "wednesday", "thursday", "friday"]
},
"graphRevision": "48ab6d78a2d4f2b7d2d36d8e1dba9ea3f411bb65059b627a2b8268b4e81d8f7a",
"nodes": [
{
"id": "node_trigger",
"nodeType": "trigger_list",
"config": { "triggerType": "contact_added" }
},
{
"id": "node_abc123",
"nodeType": "action_email",
"config": {
"emailId": "email_abc123",
"stepNumber": 1,
"emailPreset": "minimal"
}
},
{
"id": "node_end",
"nodeType": "action_webhook",
"config": { "isEndNode": true }
}
],
"edges": [
{
"sourceNodeId": "node_trigger",
"targetNodeId": "node_abc123"
},
{
"sourceNodeId": "node_abc123",
"targetNodeId": "node_end"
}
],
"emails": [
{
"nodeId": "node_abc123",
"emailId": "email_abc123",
"stepNumber": 1,
"name": "Welcome Sequence - Email 1",
"subject": "Welcome to Acme",
"previewText": null,
"emailPreset": "minimal",
"delayNodeId": null,
"delayMode": null,
"delayMs": null,
"waitUntil": null,
"delayDisplay": null,
"delayDescription": null,
"blocks": []
}
],
"createdAt": "2026-04-20T10:00:00.000Z",
"enrichmentStatus": "complete",
"emailCount": 1,
"enrichedCount": 1
}
}
{
"error": "Invalid API key"
}
{
"error": "No companies found. Create a company first using the create_company tool."
}
{
"error": "Sequence not found"
}