Subscribers
Get Subscriber
Get a subscriber by email address with notes, lists, sequence enrollments, and recent activity
GET
/
api
/
v1
/
subscribers
/
{email}
Get Subscriber
curl --request GET \
--url https://api.sequenzy.com/api/v1/subscribers/{email} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/subscribers/{email}"
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/subscribers/{email}', 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/subscribers/{email}",
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/subscribers/{email}"
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/subscribers/{email}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/subscribers/{email}")
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,
"subscriber": {
"id": "sub_abc123",
"email": "user@sequenzy.com",
"externalId": "user_123",
"firstName": "John",
"lastName": "Doe",
"status": "active",
"emailProvider": "gmail",
"tags": ["customer", "newsletter"],
"customAttributes": { "plan": "pro" },
"notes": [
{
"id": "note_123",
"subscriberId": "sub_abc123",
"authorId": "user_123",
"body": "Asked about enterprise pricing",
"createdAt": "2026-06-28T10:00:00.000Z",
"updatedAt": "2026-06-28T10:00:00.000Z",
"author": {
"id": "user_123",
"name": "Ana",
"email": "ana@example.com"
}
}
],
"lists": [
{
"id": "list_vip",
"name": "VIP Customers",
"description": null,
"isPrivate": false,
"subscribedAt": "2024-01-10T09:00:00Z",
"unsubscribedAt": null
}
],
"sequenceEnrollments": [
{
"tokenId": "token_123",
"sequenceId": "seq_welcome",
"sequenceName": "Welcome Flow",
"sequenceStatus": "active",
"enrollmentStatus": "active",
"currentNodeId": "node_abc",
"currentNodeType": "action_email",
"currentNodeLabel": "Send welcome email",
"scheduledFor": null,
"enteredAt": "2024-01-10T09:05:00Z",
"updatedAt": "2024-01-10T09:05:00Z"
}
],
"emailStats": {
"sent": 12,
"delivered": 12,
"opened": 9,
"clicked": 3,
"bounced": 0,
"unsubscribed": 0,
"complained": 0
},
"activity": [
{
"id": "evt_1",
"eventType": "custom",
"eventTime": "2024-01-15T10:25:00Z",
"emailSendId": null,
"campaignId": null,
"clickedUrl": null,
"machine": false,
"engagementQuality": "human",
"classificationReasons": [],
"bounceType": null,
"eventName": "saas.purchase",
"properties": { "plan": "pro" }
}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
{
"success": false,
"error": "externalId is required"
}
{
"success": false,
"error": "Subscriber not found"
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Internal server error"
}
Retrieve a subscriber by their email address. The response includes the base subscriber profile plus internal notes, list memberships, sequence enrollments, email engagement stats, and the most recent activity events. Open and click stats exclude detected email-security scanners and tracked brand assets by default.
You can also retrieve by external ID with
When machine engagement is included, open/click activity events include
GET /api/v1/subscribers/external?externalId={externalId}.
For commerce customers, customAttributes include Sequenzy’s nightly
predictive analytics: predictedLtv,
churnRisk, expectedNextOrderAt, avgDaysBetweenOrders, and
predictionConfidence.
Path Parameters
string
required
Subscriber email (URL encoded)
Query Parameters
string
External ID to use with
/subscribers/external. Use this route for IDs that
contain /.boolean
default:"false"
Set to
true to include detected scanner, preview, and tracked asset
open/click events in emailStats and recent activity.machine, engagementQuality, and classificationReasons fields so clients
can distinguish human activity from scanners and tracked assets.
curl "https://api.sequenzy.com/api/v1/subscribers/user%40sequenzy.com" \
-H "Authorization: Bearer YOUR_API_KEY"
curl "https://api.sequenzy.com/api/v1/subscribers/external?externalId=user_123" \
-H "Authorization: Bearer YOUR_API_KEY"
Responses
{
"success": true,
"subscriber": {
"id": "sub_abc123",
"email": "user@sequenzy.com",
"externalId": "user_123",
"firstName": "John",
"lastName": "Doe",
"status": "active",
"emailProvider": "gmail",
"tags": ["customer", "newsletter"],
"customAttributes": { "plan": "pro" },
"notes": [
{
"id": "note_123",
"subscriberId": "sub_abc123",
"authorId": "user_123",
"body": "Asked about enterprise pricing",
"createdAt": "2026-06-28T10:00:00.000Z",
"updatedAt": "2026-06-28T10:00:00.000Z",
"author": {
"id": "user_123",
"name": "Ana",
"email": "ana@example.com"
}
}
],
"lists": [
{
"id": "list_vip",
"name": "VIP Customers",
"description": null,
"isPrivate": false,
"subscribedAt": "2024-01-10T09:00:00Z",
"unsubscribedAt": null
}
],
"sequenceEnrollments": [
{
"tokenId": "token_123",
"sequenceId": "seq_welcome",
"sequenceName": "Welcome Flow",
"sequenceStatus": "active",
"enrollmentStatus": "active",
"currentNodeId": "node_abc",
"currentNodeType": "action_email",
"currentNodeLabel": "Send welcome email",
"scheduledFor": null,
"enteredAt": "2024-01-10T09:05:00Z",
"updatedAt": "2024-01-10T09:05:00Z"
}
],
"emailStats": {
"sent": 12,
"delivered": 12,
"opened": 9,
"clicked": 3,
"bounced": 0,
"unsubscribed": 0,
"complained": 0
},
"activity": [
{
"id": "evt_1",
"eventType": "custom",
"eventTime": "2024-01-15T10:25:00Z",
"emailSendId": null,
"campaignId": null,
"clickedUrl": null,
"machine": false,
"engagementQuality": "human",
"classificationReasons": [],
"bounceType": null,
"eventName": "saas.purchase",
"properties": { "plan": "pro" }
}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
{
"success": false,
"error": "externalId is required"
}
{
"success": false,
"error": "Subscriber not found"
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Internal server error"
}
⌘I
Get Subscriber
curl --request GET \
--url https://api.sequenzy.com/api/v1/subscribers/{email} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/subscribers/{email}"
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/subscribers/{email}', 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/subscribers/{email}",
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/subscribers/{email}"
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/subscribers/{email}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/subscribers/{email}")
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,
"subscriber": {
"id": "sub_abc123",
"email": "user@sequenzy.com",
"externalId": "user_123",
"firstName": "John",
"lastName": "Doe",
"status": "active",
"emailProvider": "gmail",
"tags": ["customer", "newsletter"],
"customAttributes": { "plan": "pro" },
"notes": [
{
"id": "note_123",
"subscriberId": "sub_abc123",
"authorId": "user_123",
"body": "Asked about enterprise pricing",
"createdAt": "2026-06-28T10:00:00.000Z",
"updatedAt": "2026-06-28T10:00:00.000Z",
"author": {
"id": "user_123",
"name": "Ana",
"email": "ana@example.com"
}
}
],
"lists": [
{
"id": "list_vip",
"name": "VIP Customers",
"description": null,
"isPrivate": false,
"subscribedAt": "2024-01-10T09:00:00Z",
"unsubscribedAt": null
}
],
"sequenceEnrollments": [
{
"tokenId": "token_123",
"sequenceId": "seq_welcome",
"sequenceName": "Welcome Flow",
"sequenceStatus": "active",
"enrollmentStatus": "active",
"currentNodeId": "node_abc",
"currentNodeType": "action_email",
"currentNodeLabel": "Send welcome email",
"scheduledFor": null,
"enteredAt": "2024-01-10T09:05:00Z",
"updatedAt": "2024-01-10T09:05:00Z"
}
],
"emailStats": {
"sent": 12,
"delivered": 12,
"opened": 9,
"clicked": 3,
"bounced": 0,
"unsubscribed": 0,
"complained": 0
},
"activity": [
{
"id": "evt_1",
"eventType": "custom",
"eventTime": "2024-01-15T10:25:00Z",
"emailSendId": null,
"campaignId": null,
"clickedUrl": null,
"machine": false,
"engagementQuality": "human",
"classificationReasons": [],
"bounceType": null,
"eventName": "saas.purchase",
"properties": { "plan": "pro" }
}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
{
"success": false,
"error": "externalId is required"
}
{
"success": false,
"error": "Subscriber not found"
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Internal server error"
}