Mailjet

App · Email Marketing · 17 actions

Manage Mailjet contacts, lists and contact properties, and read the templates, senders, delivery records and statistics of the account.

Actions

ActionWhat it does
Add or remove contactAdd a contact to one list, remove them from it, or unsubscribe them - by email address, so the contact does not have to exist yet.
Create contactAdd a contact to the account by email address.
Create contact listCreate a contact list to group contacts for marketing email.
Create contact propertyDefine a new contact property, so values can be stored under that name on any contact.
Delete contact listDelete a contact list.
Get contactRead one contact: their address, name, when they were created, how much has been delivered to them and whether they are excluded from marketing email.
Get contact propertiesRead the property values stored on one contact, as a set of name/value pairs a later step can read straight out of.
Get statisticsRead Mailjet's sending statistics - sent, opened, clicked, bounced, spam and unsubscribe counts - for the whole account, one campaign, one contact list or one sender, over all time or bucketed by day, hour or five minutes.
List contact listsList the account's contact lists with how many contacts each holds.
List contact propertiesList the contact properties defined on this account - the custom fields a contact can carry - with the kind of value each one holds.
List contact's listsList the contact lists one contact is on, and whether they have unsubscribed from each.
List contactsList the contacts in this Mailjet account, optionally only those on one contact list or only those excluded from marketing email.
List messagesList the emails this Mailjet account has sent, newest first, with what happened to each one.
List sendersList the sender addresses and domains registered on this account and the status of each - Active, Inactive or Deleted - so a workflow can check that an address is still verified and see which domains the account is set up for.
List templatesList the email templates available to this account - their ids, names, categories, locale and when each was last updated.
Update contactChange a contact's name, or whether they are excluded from marketing email.
Update contact propertiesSet property values on one contact.

Add or remove contact

Add a contact to one list, remove them from it, or unsubscribe them - by email address, so the contact does not have to exist yet. Mailjet creates a new contact and sets their name and properties in the same call.

Inputs

Contact listlist_idtextRequired
The contact list to work on.
Email addressemailtextRequired
The contact's address. Mailjet creates the contact if the account does not have them yet.
What to doactiontextRequired
Whether to add, remove or unsubscribe them.One of: addforce (Add and subscribe, even if they unsubscribed before), addnoforce (Add, keeping their current subscription status), remove (Remove from the list), unsub (Unsubscribe from the list).
Namenametext
What to call the contact. Sets or updates their name.
Propertiespropertiesobject
Values to store on the contact, one field per property the account has defined.

Outputs

actiontext
What was done
emailtext
The contact's address
list_idtext
The list worked on
resultobject
statustext
Status of the action execution ("success" on success).
Example output
{
  "action": "addforce",
  "email": "ada@example.com",
  "list_id": "10291",
  "result": {
    "Action": "addforce",
    "Email": "ada@example.com",
    "Name": "Ada Lovelace",
    "Properties": {}
  },
  "status": "success"
}

Create contact

Add a contact to the account by email address. This creates the contact only - to add them to a list or set their properties at the same time, use Add or remove contact instead.

Inputs

Email addressemailtextRequired
The contact's address. It has to be one the account does not already hold.
Namenametext
What to call this contact.
Exclude from marketing emailis_excluded_from_campaignstrue/false
Turn on to add them to the exclusion list, so they receive no marketing email.

Outputs

contactobject
contact_idtext
The new contact's id
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact": {
    "CreatedAt": "2026-09-01T09:12:44Z",
    "DeliveredCount": 4,
    "Email": "ada@example.com",
    "ID": 3401928,
    "IsExcludedFromCampaigns": false,
    "IsOptInPending": false,
    "IsSpamComplaining": false,
    "LastActivityAt": "2026-09-14T17:02:10Z",
    "LastUpdateAt": "2026-09-14T17:02:10Z",
    "Name": "Ada Lovelace"
  },
  "contact_id": "3401928",
  "status": "success"
}

Create contact list

Create a contact list to group contacts for marketing email. The name has to be unique across the account, including lists deleted in the last 30 days.

Inputs

List namenametextRequired
What to call the list. It has to be unique.

Outputs

contact_listobject
list_idtext
The new list's id
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_list": {
    "Address": "product-updates",
    "CreatedAt": "2026-08-02T11:20:00Z",
    "ID": 10291,
    "IsDeleted": false,
    "Name": "Product updates",
    "SubscriberCount": 128
  },
  "list_id": "10291",
  "status": "success"
}

Create contact property

Define a new contact property, so values can be stored under that name on any contact. The name has to be unique. Properties are account-wide, not per list.

Inputs

Property namenametextRequired
What to call the property, for example 'plan' or 'signup_source'. It has to be unique on the account.
Value typedata_typetext
What kind of value this property holds. Defaults to text.One of: str (Text), int (Whole number), float (Number), bool (True or false), datetime (Date and time).
Keepsnamespacetext
Whether the property keeps only its current value or a record of every value it has had. Defaults to keeping one value.One of: static (Static - keeps one value), historic (Historic - keeps every value it has had).

Outputs

contact_propertyobject
property_idtext
The new property's id
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_property": {
    "Datatype": "str",
    "ID": 771,
    "Name": "plan",
    "NameSpace": "static"
  },
  "property_id": "771",
  "status": "success"
}

Delete contact list

Delete a contact list. Mailjet keeps it for 30 days with a Deleted status, so it can be reinstated - and its name stays taken for those 30 days. The contacts on it are not deleted.

Inputs

Contact listlist_idtextRequired
The contact list to work on.

Outputs

deletedtrue/false
True once it is gone
list_idtext
The list that was deleted
statustext
Status of the action execution ("success" on success).
Example output
{
  "deleted": true,
  "list_id": "10291",
  "status": "success"
}

Get contact

Read one contact: their address, name, when they were created, how much has been delivered to them and whether they are excluded from marketing email.

Inputs

Contactcontact_idtextRequired
The contact's id. Use List contacts to find one. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.

Outputs

contactobject
contact_idtext
The contact's id
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact": {
    "CreatedAt": "2026-09-01T09:12:44Z",
    "DeliveredCount": 4,
    "Email": "ada@example.com",
    "ID": 3401928,
    "IsExcludedFromCampaigns": false,
    "IsOptInPending": false,
    "IsSpamComplaining": false,
    "LastActivityAt": "2026-09-14T17:02:10Z",
    "LastUpdateAt": "2026-09-14T17:02:10Z",
    "Name": "Ada Lovelace"
  },
  "contact_id": "3401928",
  "status": "success"
}

Get contact properties

Read the property values stored on one contact, as a set of name/value pairs a later step can read straight out of.

Inputs

Contactcontact_idtextRequired
The contact's id. Use List contacts to find one. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.

Outputs

contact_idtext
The contact's id
propertiesobject
Property name to value
property_listlist
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_id": "3401928",
  "properties": {
    "plan": "pro"
  },
  "property_list": [
    {
      "Name": "plan",
      "Value": "pro"
    }
  ],
  "status": "success"
}

Get statistics

Read Mailjet's sending statistics - sent, opened, clicked, bounced, spam and unsubscribe counts - for the whole account, one campaign, one contact list or one sender, over all time or bucketed by day, hour or five minutes.

Inputs

Statistics forcounter_sourcetext
What to report on. Defaults to the whole account, which needs no id and no dates.One of: APIKey (The whole account), Campaign (One campaign), List (One contact list), Sender (One sender address).
Grouped bycounter_resolutiontext
How finely to bucket the numbers. Defaults to all time, which is the only setting that needs no dates. A contact list can only be read over all time.One of: Highest (Every 5 minutes), Hour (By hour), Day (By day), Lifetime (All time).
Counted bycounter_timingtext
Whether to count by when the message was sent or by when the event happened. Counting by event cannot be grouped over all time.One of: Message (When the message was sent), Event (When the event happened).
Campaign, list or sender idsource_idtext
Which campaign, contact list or sender to report on. Required unless the statistics are for the whole account. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.
Fromfrom_datetimedate and time
Only include records from this moment onwards.
Toto_datetimedate and time
Only include records up to this moment.

Outputs

countnumber
How many records came back
counter_resolutiontext
How they were bucketed
counter_sourcetext
What the numbers are for
counter_timingtext
What the numbers were timed against
statisticslist
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "counter_resolution": "Lifetime",
  "counter_source": "APIKey",
  "counter_timing": "Message",
  "statistics": [
    {
      "APIKeyID": 998877,
      "MessageClickedCount": 143,
      "MessageHardBouncedCount": 6,
      "MessageOpenedCount": 612,
      "MessageSentCount": 1400,
      "MessageSoftBouncedCount": 8,
      "MessageSpamCount": 1,
      "MessageUnsubscribedCount": 3,
      "Timeslice": "lifetime",
      "Total": 1420
    }
  ],
  "status": "success"
}

List contact lists

List the account's contact lists with how many contacts each holds. This is how you find a list's id.

Inputs

Namednametext
Only the list with exactly this name.
Addressaddresstext
Only the list with this Mailjet-generated address (the part before @lists.mailjet.com).
Deleted listsis_deletedtext
Whether to return only deleted lists, only live ones, or all of them. A deleted list stays reinstatable for 30 days.One of: any (All lists), true (Only deleted lists), false (Only live lists).
Leave out this listexclude_list_idtext
Omit one list from the result. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

contact_listslist
countnumber
How many records came back
list_idslist
The ids of those records, in the same order
list_nameslist
Their names, in the same order
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_lists": [
    {
      "Address": "product-updates",
      "CreatedAt": "2026-08-02T11:20:00Z",
      "ID": 10291,
      "IsDeleted": false,
      "Name": "Product updates",
      "SubscriberCount": 128
    }
  ],
  "count": 1,
  "list_ids": [
    "10291"
  ],
  "list_names": [
    "Product updates"
  ],
  "status": "success"
}

List contact properties

List the contact properties defined on this account - the custom fields a contact can carry - with the kind of value each one holds.

Inputs

Value typedata_typetext
What kind of value this property holds. Defaults to text.One of: str (Text), int (Whole number), float (Number), bool (True or false), datetime (Date and time).
Keepsnamespacetext
Whether the property keeps only its current value or a record of every value it has had. Defaults to keeping one value.One of: static (Static - keeps one value), historic (Historic - keeps every value it has had).
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

contact_propertieslist
countnumber
How many records came back
property_nameslist
Their names, in the same order
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_properties": [
    {
      "Datatype": "str",
      "ID": 771,
      "Name": "plan",
      "NameSpace": "static"
    }
  ],
  "count": 1,
  "property_names": [
    "plan"
  ],
  "status": "success"
}

List contact's lists

List the contact lists one contact is on, and whether they have unsubscribed from each. Lists deleted in the last 60 days appear too, because Mailjet can still reinstate them.

Inputs

Contactcontact_idtextRequired
The contact's id. Use List contacts to find one. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.

Outputs

contact_idtext
The contact's id
countnumber
How many records came back
list_idslist
The ids of those records, in the same order
statustext
Status of the action execution ("success" on success).
subscriptionslist
Example output
{
  "contact_id": "3401928",
  "count": 1,
  "list_ids": [
    "10291"
  ],
  "status": "success",
  "subscriptions": [
    {
      "IsUnsub": false,
      "ListID": 10291,
      "SubscribedAt": "2026-09-01T09:13:02Z"
    }
  ]
}

List contacts

List the contacts in this Mailjet account, optionally only those on one contact list or only those excluded from marketing email. This is how you find a contact's id.

Inputs

On contact listcontact_list_idtext
Only contacts on this list. Leave empty for every contact in the account.
Campaign exclusionis_excluded_from_campaignstext
Whether to return only contacts excluded from marketing email, only those not excluded, or all of them.One of: any (All contacts), true (Only contacts excluded from campaigns), false (Only contacts not excluded from campaigns).
Active sincelast_activity_afterdate and time
Only contacts active since this moment.
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

contact_emailslist
Their email addresses, in the same order
contact_idslist
The ids of those records, in the same order
contactslist
countnumber
How many records came back
statustext
Status of the action execution ("success" on success).
Example output
{
  "contact_emails": [
    "ada@example.com"
  ],
  "contact_ids": [
    "3401928"
  ],
  "contacts": [
    {
      "CreatedAt": "2026-09-01T09:12:44Z",
      "DeliveredCount": 4,
      "Email": "ada@example.com",
      "ID": 3401928,
      "IsExcludedFromCampaigns": false,
      "IsOptInPending": false,
      "IsSpamComplaining": false,
      "LastActivityAt": "2026-09-14T17:02:10Z",
      "LastUpdateAt": "2026-09-14T17:02:10Z",
      "Name": "Ada Lovelace"
    }
  ],
  "count": 1,
  "status": "success"
}

List messages

List the emails this Mailjet account has sent, newest first, with what happened to each one. Filter by contact, by your own reference, by delivery status or by when they were sent.

Inputs

Sent to contactcontact_idtext
Only messages sent to this contact id. Leave empty for all contacts. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.
Your own referencecustom_idtext
Only messages carrying this reference - the CustomID set on the message when it was sent.
Delivery statusmessage_statustext
Only messages in this state.One of: 0 (Processed), 1 (Queued), 2 (Sent), 3 (Opened), 4 (Clicked), 5 (Bounced), 6 (Marked as spam), 7 (Unsubscribed), 8 (Blocked), 9 (Soft bounce), 10 (Hard bounce), 11 (Deferred).
Kind of emailfrom_typetext
Only transactional or only marketing email.One of: 1 (Transactional), 2 (Marketing), 3 (Unknown).
Fromfrom_datetimedate and time
Only include records from this moment onwards.
Toto_datetimedate and time
Only include records up to this moment.
Include the subject lineshow_subjecttrue/false
Mailjet leaves the subject out of this list unless it is asked for.
Include your own referenceshow_custom_idtrue/false
Mailjet leaves your reference out of this list unless it is asked for.
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

countnumber
How many records came back
message_idslist
The ids of those records, in the same order
messageslist
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "message_ids": [
    "1152921513966"
  ],
  "messages": [
    {
      "ArrivedAt": "2026-09-15T08:41:22Z",
      "ContactID": 3401928,
      "ID": 1152921513966,
      "SenderID": 552,
      "Status": "sent",
      "Subject": "Your receipt",
      "UUID": "5e0a4b2c-3f0a-4c0e-9a3f-6f3a1d2b7c11"
    }
  ],
  "status": "success"
}

List senders

List the sender addresses and domains registered on this account and the status of each - Active, Inactive or Deleted - so a workflow can check that an address is still verified and see which domains the account is set up for.

Inputs

Addressemailtext
Only the sender with this address.
Domaindomaintext
Only senders on this domain.
Statusstatustext
Only senders in this state. Leave empty for all of them.One of: Active, Inactive, Deleted.
Include deleted sendersshow_deletedtrue/false
Turn on to include senders that were removed.
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

countnumber
How many records came back
sender_emailslist
The addresses a message can be sent from: active, and not a whole-domain sender
senderslist
statustext
Status of the action execution ("success" on success).
Example output
{
  "count": 1,
  "sender_emails": [
    "hello@example.com"
  ],
  "senders": [
    {
      "CreatedAt": "2026-06-11T14:31:00Z",
      "DNSID": 331,
      "Email": "hello@example.com",
      "EmailType": "transactional",
      "ID": 552,
      "IsDefaultSender": true,
      "Name": "Example Support",
      "Status": "Active"
    }
  ],
  "status": "success"
}

List templates

List the email templates available to this account - their ids, names, categories, locale and when each was last updated. Use it to audit which templates exist or to find the id of one.

Inputs

Namednametext
Only templates with this name.
Whose templatesowner_typetext
Whose templates to return. Leave empty for all of them.One of: apikey (This API key's templates), user (The account's templates), global (Mailjet's built-in templates).
Used forpurposeslist
Only templates marked for these purposes. A template with no purpose set is invisible in the Mailjet app.One or more of: marketing, transactional, automation.
Built withedit_modetext
Only templates built in this Mailjet editor.One of: 1 (Drag-and-drop builder), 2 (HTML builder), 3 (Saved section (snippet)), 4 (MJML builder).
How many to returnlimitnumber
How many records to return. Defaults to 10, at most 1000.From 1 to 1000. Default: 10.
Skip this manyoffsetnumber
How many records to skip before returning any. Use it with 'How many to return' to read the next page.At least 0.

Outputs

countnumber
How many records came back
statustext
Status of the action execution ("success" on success).
template_idslist
The ids of those records, in the same order
templateslist
Example output
{
  "count": 1,
  "status": "success",
  "template_ids": [
    "4455"
  ],
  "templates": [
    {
      "Author": "Ada Lovelace",
      "Categories": [
        "invoice"
      ],
      "CreatedAt": "2026-07-19T10:00:00Z",
      "EditMode": 1,
      "ID": 4455,
      "IsStarred": false,
      "Locale": "en_US",
      "Name": "Receipt",
      "OwnerType": "apikey",
      "Purposes": [
        "transactional"
      ]
    }
  ]
}

Update contact

Change a contact's name, or whether they are excluded from marketing email. Anything left empty is left as it is. A contact's email address cannot be changed - Mailjet does not allow it.

Inputs

Contactcontact_idtextRequired
The contact's id. Use List contacts to find one. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.
Namenametext
New name. Leave empty to keep the current one.
Exclude from marketing emailis_excluded_from_campaignstrue/false
Turn on to exclude them from marketing email, off to let it through. Leave empty to keep the current setting.

Outputs

changedtrue/false
False when the contact already had these values
contactobject
contact_idtext
The contact's id
statustext
Status of the action execution ("success" on success).
Example output
{
  "changed": true,
  "contact": {
    "CreatedAt": "2026-09-01T09:12:44Z",
    "DeliveredCount": 4,
    "Email": "ada@example.com",
    "ID": 3401928,
    "IsExcludedFromCampaigns": false,
    "IsOptInPending": false,
    "IsSpamComplaining": false,
    "LastActivityAt": "2026-09-14T17:02:10Z",
    "LastUpdateAt": "2026-09-14T17:02:10Z",
    "Name": "Ada Lovelace"
  },
  "contact_id": "3401928",
  "status": "success"
}

Update contact properties

Set property values on one contact. Each property has to exist on the account first - create it with Create contact property. Properties not listed are left as they are.

Inputs

Contactcontact_idtextRequired
The contact's id. Use List contacts to find one. Mailjet ids are numbers; a link copied from the Mailjet dashboard works too.
PropertiespropertieslistRequired
The properties to set, each a name and the value to store. The name has to match a contact property that already exists - List contact properties shows them.

Outputs

changedtrue/false
False when the values were already stored
contact_idtext
The contact's id
propertiesobject
Property name to value, after the update
property_listlist
statustext
Status of the action execution ("success" on success).
Example output
{
  "changed": true,
  "contact_id": "3401928",
  "properties": {
    "plan": "pro"
  },
  "property_list": [
    {
      "Name": "plan",
      "Value": "pro"
    }
  ],
  "status": "success"
}

On this page