Base URL
All API requests are made to:https://api.sequenzy.com/v1 are still accepted as an alias.
Authentication
All endpoints require an API key in theAuthorization header:
Authentication Guide
Learn more about API authentication
Response Format
All responses return JSON with a consistent structure.Success Response
Error Response
HTTP Status Codes
Available Endpoints
Subscribers
Manage your subscriber list.Tags
Segment subscribers with tags.Events
Track subscriber actions and trigger automations.Sequences
Create and manage automation sequences.Sequence enrollments
Manage the contacts inside a sequence, one contact or one batch at a time.Generation
Generate draft email content for review.Transactional Emails
Send programmatic emails.Auto-Creation Behavior
The API automatically creates resources when they don’t exist:
This makes integration seamless: you don’t need to pre-configure anything in the dashboard.
Example
Rate Limiting
Authenticated requests to both/api/v1 and the legacy /v1 alias are rate
limited per API key across all API servers:
- Standard limit: 300 requests per minute per API key
- Burst limit: 20 requests per second
429 Too Many Requests response with Retry-After, RateLimit-Limit,
RateLimit-Remaining, RateLimit-Reset, and RateLimit-Policy headers. Public
form and widget submissions use their own abuse limits instead.
POST /api/v1/transactional/send has its own budget of 1,000 requests per
minute and 50 per second per API key, so a burst of order confirmations or a
daily reminder run does not consume the standard budget your other calls need.
Each send is one request per recipient; if you expect sustained volume above
this, contact support. For bulk contact work use the
subscriber import endpoint rather
than one create request per contact.
The remote MCP endpoint (/v1/mcp) has its own budget of 300 requests per
minute and 20 per second per API key, so MCP protocol traffic does not spend
your REST budget. The API calls your MCP tool calls make still count against
the standard limit above. An MCP request that is rate limited returns a
JSON-RPC error rather than the REST error envelope.
Pagination
List endpoints support pagination:Example
Response
Error Handling
Retrying Temporary Database Failures
When a temporary database connection failure prevents an idempotent request from completing, the API returns503 Service Unavailable with the stable error
code SERVICE_UNAVAILABLE. The Retry-After response header specifies how many
seconds to wait before trying the same request again.
Automatic retries are advertised only for GET, HEAD, OPTIONS, PUT, and
DELETE requests. The API does not attach this recovery signal to POST or
PATCH failures because a disconnected write may already have committed and
replaying it could apply the change twice.
Field Type Errors
When a field has the wrong type or a value outside its allowed set, the API returns422. property points to the first failing field and summary
explains it. errors lists up to 10 failures, with allowedValues when a field
accepts a fixed set of values. found echoes the request part that failed.
limit=0, reports
"on": "property" and "property": "root" with the rejected value in found.
Fix the named field and retry. Some endpoints report input problems as 400
with an error message instead.
Ignored Fields
Request body fields an endpoint does not recognize, such as a misspelled name or a field that endpoint does not support, are ignored rather than rejected, so existing integrations keep working. The response tells you which fields were ignored:- Successful JSON responses include an
ignoredFieldsarray. - Every response from the endpoint, including its own
400errors, carries anX-Sequenzy-Ignored-Fieldsheader with the same paths, comma-separated.
path uses dots and array indexes, such as steps[1].delayDays. reason is
unknown_field when the endpoint does not accept the field, or not_an_object
when an object was expected and the value was replaced with an empty object.
Up to 25 fields are listed. A companyId in the body that matches the
X-Company-Id header is not reported. Nothing is stored for an ignored field,
so check for ignoredFields after a write when you depend on every field.
Common Error Codes
Example Error Response
SDK & Libraries
Node.js / TypeScript SDK (Recommended)
Install the official Sequenzy SDK for the best developer experience:Python, PHP, and Go SDKs
Official SDKs are also available for Python, PHP, and Go, generated from the same OpenAPI spec as the API reference:subscribers.create, campaigns.list,
transactional.send) and typed request/response models.
TypeScript/JavaScript (Fetch API)
If you prefer to use the REST API directly:Python
cURL
Need Help?
- Email: nic@sequenzy.com
- Twitter: @nikpolale