Send Marketing Email
The Marketing Email API (MAPI) is designed for promotional content, newsletters, and large-scale campaigns. It includes built-in compliance checks and asynchronous queue-based processing.
https://mapi.simplysend.email/sendParameters
toRequiredfromRequiredsubjectRequiredhtmlRequiredsubscriptionGroupIdThe ID of the subscription group to route the email through.
If provided, recipients must be actively subscribed to this group to receive the email. The system automatically filters out unsubscribed, bounced, or complaining addresses to safeguard compliance and deliverability.
If omitted, the email is sent without group-level constraints, performing global contact status checks directly.
textreplyToheadersCustom headers to include in the email. e.g. { "X-Entity-ID": "user_12345", "X-Feedback-ID": "marketing_abc" }
Note: List-Unsubscribe is automatically injected by the system.
templateVariablesKey-value pairs for dynamic content injection. e.g. { "first_name": "John", "discount_code": "WELCOME20" }
These can be referenced in your HTML or text body using double curly braces, e.g. {{first_name}}.
enableClickTrackingWrap all links in the email with click-tracking redirect URLs so each click is recorded as an email_clicked event. Defaults to false.
Optional custom link redirection tracking subdomain (typically [region]-m-link.yourdomain.com, e.g. us-m-link.yourdomain.com). If verified and configured, links in the email body will be wrapped using this custom subdomain. If not verified, click tracking will fall back to using the default Simply Send tracking domain. Custom link configuration is per domain.
enableOpenTrackingInject a 1x1 transparent tracking pixel to record Open events. Defaults to false.
Enables open tracking for this email.
campaignIdAssociate the emails with a campaign. Create the campaign first using the SimplySend UI. Email analytics events (send, delivery, open, click, bounce, etc.) are recorded against the campaign Id.
Idempotency-KeyA unique UUID string used to make the request idempotent. If the system receives a duplicate request with the same key within a 24-hour window, it returns the cached original response without processing the email send again.
Concurrent duplicate requests will return a 409 Conflict status.
curl -X POST https://mapi.simplysend.email/send \
-H "X-Api-Key: your_marketing_api_key" \
-H "X-Id: your_account_id" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your_unique_uuid" \
-d '{
"to": "[email protected]",
"from": "marketing@yourdomain.com",
"subject": "Special Offer - 20% Off",
"html": "<html><body><h1>20% Off!</h1><p>Visit our store.</p><br><br><p>{{company_address_html}}</p><p>{{unsubscribe_email_html}}</p><p>{{report_abuse_email_html}}</p></body></html>",
"subscriptionGroupId": "list_abc123",
"campaignId": "campaign_id123"
}'{
"success": true,
"data": {
"message": "Marketing email queued for processing",
"jobId": "job_1234567890_abc",
"status": "queued",
"from": "marketing@yourdomain.com",
"totalRecipients": 1,
"recipients": [
{
"email": "[email protected]",
"status": "queued",
"role": "to"
}
]
}
}Consent & Compliance
All recipients MUST have valid consent records. If a recipient lacks valid consent or has unsubscribed, the API will reject the send request.
Auto-Injected Headers
List-Unsubscribe & List-Unsubscribe-PostThe system automatically injects required RFC 8058 compliant headers (with one-click unsubscribe support) unless explicitly overridden in the request payload.
Compliance Templates
{{company_address_html}}Required{{unsubscribe_email_html}}Required{{report_abuse_email_html}}Optional