API v1 is in maintenance mode. It will continue to work, but all new features and improvements go to API v2. We recommend API v2 for new integrations.
Quick Comparison
| API v1 | API v2 | |
|---|---|---|
| Status | Maintenance mode | Actively developed |
| Endpoints | Single (POST /v1/email/send) | Full REST API with multiple resources |
| Authentication | X-Api-Key header | Authorization: Bearer header |
| Send emails | Up to 100 recipients per request | Up to 100 recipients per request |
| Attachments | Yes | Yes |
| Custom headers | Yes | Yes |
| Reply-to | Yes | Yes |
| Template substitutions | No | Yes (global and per-recipient) |
| AMP email content | No | Yes |
| CC/BCC | No | Yes (via conversation endpoint) |
| Message tags | No | Yes |
| Scheduled delivery | No | Yes |
| Message cancellation | No | Yes |
| Per-message tracking controls | No | Yes (override account defaults) |
| Retention controls | No | Yes |
| Sandbox mode | No | Yes |
| Idempotency | No | Yes |
| Granular API key scopes | No | Yes |
| Resource management | No | Yes (domains, webhooks, routes, etc.) |
| Reporting & analytics | No | Yes |
When to Use API v1
API v1 is a single endpoint for sending emails. Choose it if you are maintaining an existing integration that already uses v1. For new integrations, use API v2.When to Use API v2
API v2 is the recommended choice for all new integrations. It includes everything v1 can do, plus:- Template substitutions with MiniJinja — global and per-recipient
- AMP email content for interactive emails
- CC/BCC support via the conversation message endpoint
- Message tags for categorization
- Scheduled delivery and message cancellation
- Per-message tracking controls to override account-level open/click tracking settings
- Retention controls for metadata and content
- Sandbox mode for testing without delivery
- Idempotency for safe retries
- Granular API key scopes for least-privilege security
- Full resource management — domains, webhooks, routes, suppressions, and more
- Delivery analytics and reporting
Key Differences in Detail
Authentication
- API v1
- API v2
Uses an
X-Api-Key header:Request Structure
- API v1
- API v2
Email content is nested under a
content object. Fields use text_body and html_body:Response Format
- API v1
- API v2
Returns Errors return a
201 Created with aggregate counts:status string:Beyond Sending: Managing Resources with API v2
API v1 only sends emails. API v2 provides a complete management API:Messages
Send, retrieve, list, and cancel messages
Domains
Add, verify, and manage sending domains
Webhooks
Create and manage webhook endpoints for delivery events
Routes
Configure inbound email routing rules
Suppressions
Manage bounce and complaint suppression lists
Reports
Access deliverability, bounce, and delivery time analytics
SMTP Credentials
Create and manage SMTP credentials
API Keys
Create and manage API keys programmatically
Migrating from v1 to v2
Create an API v2 key
Go to Credentials and create a new credential with type “API Key v2”.
Update the request body
- Move
content.subjectto top-levelsubject - Rename
content.text_bodytotext_content - Rename
content.html_bodytohtml_content - Move
content.attachmentsto top-levelattachments - Move
content.headersto top-levelheaders - Move
content.reply_toto top-levelreply_to
Next Steps
API v2 Credentials
Create and manage API v2 keys
Send Emails with v2
Full guide with examples
API v1 Reference
Legacy API v1 endpoint reference
API v2 Reference
Complete API v2 documentation

