Jumploon

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

FieldNotes
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.
subjectOverridden by a personalization's subject.
content[]{ type: "text/plain" | "text/html", value }.
attachments[]content (base64), filename, type, disposition (attachment or inline), content_id.
template_idA d-… template ID. See Templates.
headersCustom headers. Headers Jumploon controls, such as Received and DKIM-Signature, are rejected.
categoriesUp to 10 strings. Filter activity and stats by them.
custom_argsKey-value strings echoed back in every webhook event for the message.
send_atUnix timestamp, up to 72 hours ahead.
mail_settingssandbox_mode and bypass_list_management.
tracking_settingsclick_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." }
  ]
}
StatusMeaning
400The request is invalid. errors says which field.
401Missing or invalid API key.
403The sender's domain isn't verified on your account, or the key is limited to another domain.
429Over 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.