The Sendmux Sending API lets you send emails programmatically through your configured delivery providers. It supports single and batch sending, attachments, idempotency keys, and returns structured responses with per-message status.Documentation Index
Fetch the complete documentation index at: https://docs.sendmux.ai/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
All Sending API requests should be made to:This is a different base URL from the Management API (
app.sendmux.ai). The Sending API runs on the email delivery infrastructure for optimal performance.Authentication
Authenticate using an API key with theemail.send permission. Pass it as a Bearer token in the Authorization header.
email.send permission — the mailbox key category includes this by default.
Permissions
| Endpoint | Required permission |
|---|---|
POST /api/v1/emails/send | email.send |
POST /api/v1/emails/send/batch | email.send |
GET /api/v1/openapi.json | None (public) |
Response format
All responses use the same JSON envelope as the Management API.Success
Error
code/message/param/doc_url/retryable fields, same accumulated errors[] array on validation failures, same X-Request-Id and Retry-After header conventions. See the Sending API error reference for codes specific to email delivery.
Rate limiting
Each sending API key is rate-limited to 1800 requests per minute (batch requests count as 1). Rate limit headers are included on every response:429 status with a Retry-After header.
Conventions
- snake_case fields in all JSON request and response bodies
- UTC ISO 8601 timestamps in RFC 3339 format:
2026-03-19T10:30:00Z - Public IDs only — internal database IDs are never exposed
Cache-Control: no-storeon all authenticated responses (the OpenAPI spec endpoint usespublic, max-age=3600)- JSON only —
Content-Type: application/json