Mail Send (v3)
POST /v3/mail/send sends one message to up to 1,000 recipients, each with their own subject, template data and custom arguments, through personalizations. For simple sends, POST /emails is shorter.
curl -i https://api.jumploon.com/v3/mail/send \
-H "Authorization: Bearer $JUMPLOON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"personalizations": [{
"to": [{ "email": "ada@example.org", "name": "Ada" }],
"dynamic_template_data": { "first_name": "Ada", "order": 1042 }
}],
"from": { "email": "orders@acme.com", "name": "Acme" },
"template_id": "d-8f2c9a7b3e1d4c5f",
"categories": ["receipt"],
"custom_args": { "order_id": "1042" }
}'A successful request returns 202 Accepted with an empty body and an X-Message-Id header.
Supported fields
| Field | Notes |
|---|---|
personalizations[] | to, cc, bcc, from, subject, headers, substitutions, dynamic_template_data, custom_args, send_at. Up to 1,000 recipients per request. |
from, reply_to, reply_to_list | { email, name } objects. |
subject | Overridden by a personalization's subject. |
content[] | { type: "text/plain" | "text/html", value }. |
attachments[] | content (base64), filename, type, disposition (attachment or inline), content_id. |
template_id | A d-… template ID. See Templates. |
headers | Custom headers. Headers Jumploon controls, such as Received and DKIM-Signature, are rejected. |
categories | Up to 10 strings. Filter activity and stats by them. |
custom_args | Key-value strings echoed back in every webhook event for the message. |
send_at | Unix timestamp, up to 72 hours ahead. |
mail_settings | sandbox_mode and bypass_list_management. |
tracking_settings | click_tracking, open_tracking, subscription_tracking. See Tracking. |
Errors
Validation errors list each problem field:
{
"errors": [
{ "field": "personalizations.0.to.0.email", "message": "Does not contain a valid address." }
]
}| Status | Meaning |
|---|---|
400 | The request is invalid. errors says which field. |
401 | Missing or invalid API key. |
403 | The sender's domain isn't verified on your account, or the key is limited to another domain. |
429 | Over your rate limit or daily quota. |
Not supported
Unsubscribe groups (asm), IP pools, Google Analytics tracking, and batch cancellation through batch_id aren't supported. Sender verification is per domain (DKIM), not per address. For event webhooks, see Webhooks.