Skip to main content

API Reference

The Sequenzy API lets you programmatically manage subscribers, send emails, trigger events, and integrate email marketing into your application.

Base URL

All API requests are made to:
For backwards compatibility, requests to https://api.sequenzy.com/v1 are still accepted as an alias.

Authentication

All endpoints require an API key in the Authorization header:
Get your API key from the Sequenzy dashboard. After you sign in, go to Settings → API Keys.

Authentication Guide

Learn more about API authentication
For agentic API or MCP access, use the user-approved flow in auth.md. This is separate from normal dashboard account signup. Agents that need dashboard-session setup notes can read agents.md.

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.

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
Both limits apply at the same time. The canonical and legacy paths share one budget, so changing paths does not reset it. When rate limited, you’ll receive a 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 returns 503 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.

Common Error Codes

Example Error Response

SDK & Libraries

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:
Each client mirrors the TypeScript SDK’s structure - resource groups with short methods (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?