Send an email
Send a single email message. The email is accepted for immediate delivery and typically delivered within seconds.
Example use case: Send a password reset email to a user.
Required fields: from, to, subject, and either html or text
Idempotency: Supports Idempotency-Key header for safe retries.
Related endpoints:
GET /emails/{emailId}- Track delivery statusGET /emails/{emailId}/deliveries- View delivery attemptsPOST /emails/{emailId}/retry- Retry failed delivery
Documentation Index
Fetch the complete documentation index at: https://arkhq.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Use your API key from arkhq.io/org/credentials
Authorization: Bearer YOUR_API_KEYHeaders
Unique key for idempotent requests. If a request with this key was already processed, the cached response is returned. Keys expire after 24 hours.
255^[\w\-_.~]+$Body
Email message to send.
Size limits:
- Total message size (including attachments): 14MB maximum
- HTML body: 5MB maximum
- Plain text body: 5MB maximum
- Individual attachment: 10MB maximum
Sender email address. Must be from a verified domain OR use sandbox mode.
Supported formats:
- Email only:
hello@yourdomain.com - With display name:
Acme <hello@yourdomain.com> - With quoted name:
"Acme Support" <support@yourdomain.com>
The domain portion must match a verified sending domain in your account.
Sandbox mode: Use sandbox@arkhq.io to send test emails without domain verification.
Sandbox emails can only be sent to organization members and are limited to 10 per day.
1"Acme <hello@acme.com>"
Recipient email addresses (max 50)
1 - 50 elements["user@example.com"]Email subject line
1 - 998The tenant ID to send this email from. Determines which tenant's configuration (domains, webhooks, tracking) is used.
- If your API key is scoped to a specific tenant, this must match that tenant or be omitted.
- If your API key is org-level, specify the tenant to send from.
- If omitted, the organization's default tenant is used.
"cm6abc123def456"
CC recipients (accepts null)
50BCC recipients (accepts null)
50Reply-to address (accepts null)
HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined with attachments, the total message must not exceed 14MB.
5242880Plain text body (accepts null, auto-generated from HTML if not provided). Maximum 5MB (5,242,880 characters).
5242880Tag for categorization and filtering (accepts null)
1000Custom email headers (accepts null)
File attachments (accepts null)
Custom key-value pairs attached to an email for webhook correlation.
When you send an email with metadata, these key-value pairs are:
- Stored with the message
- Returned in all webhook event payloads (MessageSent, MessageBounced, etc.)
- Never visible to email recipients
This is useful for correlating webhook events with your internal systems (e.g., user IDs, order IDs, campaign identifiers).
Validation Rules:
- Maximum 10 keys per email
- Keys: 1-40 characters, must start with a letter, only alphanumeric and underscores (
^[a-zA-Z][a-zA-Z0-9_]*$) - Values: 1-500 characters, no control characters (newlines, tabs, etc.)
- Total size: 4KB maximum (JSON-encoded)
{
"user_id": "usr_123456",
"order_id": "ord_789012",
"campaign": "welcome_series"
}