This article documents the structure of API requests to be used to trigger mails in Mailmodo.

Mailmodo APIs are completely RESTful and all our responses are returned in JSON.

API Gateway URL:

The Mailmodo API Gateway URL is You need to include this before each API endpoint to make API calls. See the API documentation for more details.

API endpoint:<campaignid>

This URL can be obtained from the 'Campaigns'->'Trigger' tab.

Go to Trigger -> Select the campaign from the list -> Setup steps

Note: Campaign Id can be provided in the URL path or in the payload with ‘campaignId’ key

API Authorization:

Mailmodo APIs are completely RESTful. All Mailmodo APIs are authorized via an API key.

Generate API Key:

  1. Login to your Mailmodo account with appropriate credentials.

  2. Navigate to SettingsAPI KeysShow API Key to view the default API key. (You may also create a new API Key by clicking on the 'Add new API Key' button)


- Header:

'mmApiKey': '<api key value>'

'Content-Type': 'application/json'

- Body:



  • Optional. If not provided, the original subject set in the campaign will be used


  • Required field

  • email address of the recipient


  • Optional pwersonalization fields in key-value pairs. ex-
    "First Name": "Daniel"






"Email scheduled successfully"/

"No campaign Found for the campaignId in Trigger URL, Please check apiKey or campaignId"


<reference id>

Sample Requests:

Sample CURL

curl --request POST \

  --url \

  --header 'Content-Type: application/json' \

  --header 'mmApiKey: 3BP23E6-GND4HAJ-KZ05RJ3-HGS064T' \

  --data '{

  "email": "",

  "subject": "string",

  "data": {

    "first_name": "string"


  "addToList": "string"


Sample axios

var axios = require('axios'); var data = JSON.stringify( {"subject":"Hi, this email is from api trigger", "email":"", "data":{"firstName":"John"}}); 
var config = { method: 'post', url: '<campaign id>', headers: { 'mmApiKey': '<api key>', 'Content-Type': 'application/json' }, data : data }; 
axios(config) .then(function (response) { console.log(JSON.stringify(; }) .catch(function (error) { console.log(error); });