You can create templates for SMS, emails or push notifications and more. For template variables, please encapsulate them in triple brackets.
API Key
API Key
API Key
Description
Description
Incoming: format
Message History: format message(s)
API Key
Type
API Key
API Key
Type
API Key
Please keep in mind that deleting a relationship group will delete all information and data associated with the group as well as the group itself. This cannot be undone, so please be careful. This could also break any third party integrations you may have with this group, so please do so at your own risk.
DeleteSender Email: Loading <Loading...>
Reply To Email:
Verification: Loading...
DNS Records for Domain:
Name: Loading...
Type: Loading...
Value: Loading...
Email Receiving DNS Record (optional):
Add this record if you want to be able to receive emails at this address too. Make sure it doesn't conflict with any other MX records on the same domain level (or root domain).
Name: Loading...
Type: Loading...
Value: Loading...
Send SMS and email from this project by making authenticated POST requests to the Message Caddie API. Every request needs an API Key from the “API Keys” section above, passed as a Bearer token:
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Templates vs. inline. For each message you choose one of two ways to supply the body:
template_id (manage these in “Add or edit a message template” above).message for SMS, template_code (HTML) for email. No saved template needed.Either way, dynamic values use triple-brace placeholders like {{{first_name}}} and are filled from the template_data object you send.
The body is a JSON array — send one message or batch many in a single call. from must be a phone number registered to this project (see “Phone Numbers” above).
Inline message
[
{
"from": "+18005551234",
"to": "+15125550000",
"message": "Hi {{{first_name}}}, your order has shipped!",
"template_data": { "first_name": "Alex" }
}
]
Using a template
[
{
"from": "+18005551234",
"to": "+15125550000",
"template_id": "order-shipped.txt",
"template_data": { "first_name": "Alex", "tracking": "1Z999AA10" }
}
]
message is present it is sent as-is (inline); otherwise template_id is loaded from this project’s templates. Provide one or the other.Response
{
"results": [
{ "to": "+15125550000", "status": "sent", "message_id": "..." }
]
}
Each result’s status is sent, queued (Toll-Free rate limiting), or error (with a reason).
The body wraps messages under a data array — send one or batch many. from must match a verified Email Sender Identity on this project (see “Email Sender Identities” above); the From name and default Reply-To come from that identity. subject and to are required; to, cc, and bcc are comma-separated.
Inline HTML body
{
"data": [
{
"from": "hello@yourdomain.com",
"to": "customer@example.com",
"subject": "Welcome, {{{first_name}}}!",
"template_code": "<html><body><h1>Hi {{{first_name}}}</h1></body></html>",
"template_data": { "first_name": "Alex" }
}
]
}
Using a template
{
"data": [
{
"from": "hello@yourdomain.com",
"to": "customer@example.com, second@example.com",
"subject": "Your receipt",
"template_id": "receipt.html",
"template_data": { "first_name": "Alex", "total": "$42.00" },
"reply_to": "support@yourdomain.com",
"cc": "manager@example.com",
"bcc": "archive@example.com",
"attachments": [
{
"filename": "receipt.pdf",
"content_type": "application/pdf",
"content": "<base64-encoded-bytes>"
}
]
}
]
}
template_code (inline HTML) or template_id (a saved template file). attachments are optional and base64-encoded; .ics calendar files (text/calendar / application/ics) are auto-embedded as calendar invites.Response
{ "success": "Successfully sent SES notification" }