Send an email
POST/emails
Queue an email for delivery. The email is processed asynchronously and you'll receive a message ID to track its status.
You can provide content directly via html/text fields, or use a template by specifying template_id and template_data.
CAN-SPAM compliance — actions required from you:
- Set
classificationtotransactionalormarketing. Unclassified is treated as marketing, the stricter reading. Transactional mail (password resets, receipts) is exempt from the opt-out and postal-address requirements. - Set your postal address in project settings. Commercial email must carry a valid physical postal address — the most commonly missed CAN-SPAM element. Marketing sends without one are flagged.
- Include an unsubscribe mechanism on commercial email. Zyphr enforces suppression automatically once someone opts out, but the link itself is yours to include.
Request
Responses
- 202
- 400
- 403
- 413
- 422
- 429
Email accepted for delivery
Response Headers
The account's current sending state. Present on every authenticated response. One of active, throttled, or frozen.
Human-readable reason for a non-active sending status. Present only when X-Account-Sending-Status is throttled or frozen.
Validation error
The account is frozen for sending (reputation). Only send-capable endpoints return this; reads/billing/deliverability stay available. The error message carries the freeze reason.
Response Headers
The account's current sending state. Present on every authenticated response. One of active, throttled, or frozen.
Human-readable reason for a non-active sending status. Present only when X-Account-Sending-Status is throttled or frozen.
Request body exceeds the maximum allowed size (currently 25 MB). See https://zyphr.dev/resources/api-limits for limits and guidance.
Recipient suppressed
The account is throttled for sending (reputation). Only send-capable endpoints return this. The error message carries the throttle reason.
Response Headers
The account's current sending state. Present on every authenticated response. One of active, throttled, or frozen.
Human-readable reason for a non-active sending status. Present only when X-Account-Sending-Status is throttled or frozen.