Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • REST API v. 1.0, mainly used by the previous version of the Salesforce connector, was discontinued on Sep 30th

  • Unused developer accounts were discontinued on Sep 30th

  • The SOAP API is now marked as "no longer recommended to use if you are starting a new project or planning to extend an existing one". REST API covers the feature set of the SOAP API.

  • Access tokens must now be refreshed every hour either for SOAP or REST (it was 15' for the REST API). As the SOAP API is now using the same Authorization methods as the REST API, the expiration of the validity time is now the only way to dismiss a token and to deny the access. Any call to “logout” SOAP methods has become useless.

2018-10 Import by file, content update, privacy settings, and global search

  • You can now upload a file via FTP and pass the filename as a parameter to the import REST API for immediate import. This feature allows us to overcome the size limits we have had so far when trying to pass tons on recipients in the request body. With this extension, the MailUp REST API covers the last missing method that resulted when comparing REST and SOAP. More details here.

  • Access to the MailUp REST API resources has an improved algorithm for rate limiting. Even though the threshold of 5 calls/s is unchanged, clients exceeding this limit may experience a slightly different error rate. 

  • The “global search” of recipients can now be performed by ID, email, or mobile number. A single API call returns both the personal data fields and the subscription status on all the lists and channels. More details here.

  • According to the privacy settings introduced with GDPR, you can now use also REST API to fully remove a recipient or to disable tracking for it. More details here.

  • An external External content can now be pushed to MailUp using REST API and then used for automated campaigns or to be easily dragged into your messages. More details here.


  • There are now new methods to retrieve information about the status of an import task, details about a completed task, and a list of all import important tasks. More details here.
  • With MailUp you can send the same message many times. The SendHistory method now returns both the message ID and the ID of the individual mailings. More details here.
  • New methods to retrieve the subscription status of SMS subscribers individually or at the list level, and to perform bulk SMS unsubscribe. More details here.


  • There are now new methods that make it easier to manage Lists: quickly create a new List, get all the List details, delete a List that's no longer needed. More details here.
  • Need to manage a recipient's subscription status across multiple lists? Now you can check the current status and unsubscribe across lists. More details here.
  • Do you use our APIs to send text messages? The updates to the account "details" method now include includes a key figure: the SMS credit balance. More details here.


  • A new method allows you to add a new, verified FROM email. A verification request message is sent automatically to the new address. More details here.
  • You can now send a campaign to multiple groups at once, both including and excluding groups for maximum flexibility in segmenting a list. More details here.
  • When importing recipients, you now have more options with regard to about group(s) assignment. You can also reset a recipient profile (empty fields). More details here.
  • New import features (reset group assignments, reset recipient fields) also when importing SMS subscribers. The API has tons of SMS-focused features. More details here.


  1. Performance improvement - API response time has been significantly reduced
  2. Added restriction - HTTP 403 error is returned if the authenticated user has not yet accepted the MailUp "Terms of Service", which appears the first time the user signs in with the admin console account
  3. New features - version 1.1 has been extended with the following methods.

Confirmed opt-in for the single subscriber (synchronous)

Code Block
POST Console/List/{ListID}/Recipient?ConfirmEmail=true

Adds a new subscriber to the specified list with the "Confirmed Optin" option turned on, which is an email marketing best practice. Recipient The recipient is added as "pending" and a confirmation request email is automatically sent.

Code Block
POST Console/Group/{GroupID}/Recipient?ConfirmEmail=true

Same as above, but the recipient is both (a) added to the specified group and (b) subscribed to the list that the specified group belongs to.

Confirmed opt-in for multiple subscribers (asynchronous)

Code Block
POST Console/List/{ListID}/Recipients?ConfirmEmail=true

Adds a list of subscribers to the specified list with the "Confirmed Optin" option turned on. Recipients are added as "pending" and a confirmation request email is queued but not automatically sent

Code Block
POST Console/Group/{GroupID}/Recipients?ConfirmEmail=true

Same as above, but recipients are both (a) added to a specified group and (b) subscribed to the list that the specified group belongs to.

Code Block
GET Console/Import/{id_import}/Sending

Gets the ID of the mailing that has been created in the system when adding recipients with the "Confirmed Optin" option set as 'true'. The mailing refers to the subscription confirmation request message.

Code Block
POST Console/Email/Sendings/{id_Sending}/Immediate

Schedules a mailing for immediate sending (i.e. send as soon as possible).

Code Block
POST Console/Email/Sendings/{id_Sending}/Deferred

Sets up a mailing for scheduled delivery (i.e. send at specified date and time)

Bulk unsubscription

Code Block
POST Console/List/{ListID}/Recipients?importType='asOptout' 

Allows you to "import as unsubscribed" a list of specified recipients. Please note that this import important task will affect current subscribers, forcing their subscription status to "unsubscribed".

Send queue management

Code Block
GET Console/Email/Sendings/Immediate

Retrieves from the sending queue the list of email messages that are currently queued up for "immediate sending".

Code Block
GET Console/Email/Sendings/Deferred

 Retrieves from the sending queue the list of email messages that are currently scheduled for deferred delivery.

Code Block
GET Console/Email/Sendings/Undefined

Retrieves from the sending queue the list of messages that are neither "scheduled" nor queued up for "immediate sending". This is a "limbo" state that messages are placed into when they are removed from the queue either manually or because there was an issue.

Code Block
GET Console/Email/Sending/{id_Sending}/Deferred

Retrieves the earliest date to schedule the given sending task.

Scheduled mailing

Code Block
POST Console/List/{id_List}/Email/{id_Message}/Send?datetime='1994-11-05T13:15:30Z'

Allows you to schedule a specific message for deferred delivery. Make sure to use the UTC time zone when specifying the date and time. 


Version 1.1 has been updated with two new methods:


Code Block
GET - Console/List/{id_List}/Recipient/{id_Recipient}/Groups

Retrieves the list of groups to which the specified recipient has been assigned

Code Block
GET - Console/List/{id_List}/Archived/Emails

Retrieves the list of the archived emails in the specified list


2013-10-10 Version 1.1 has been released

Version 1.1 has been officially released (see change log changelog) and 

 has been removed. Online documentation is now updated.


Some changes in the API related to these new features will affect backward compatibility, and therefore version 1.1 will be released with a different endpoint.

Expected The expected release date for v1.1 is some time sometime in September 2013. When version 1.1 is released:


  • Get requests: all the HTTP GET requests that return a collection of items will have a total counter and pagination info alongside with the Items collection itself;
  • Default pagination values: all the requests that return a collection of items will be paginated by default with a page size of 20…no more entire collection by default,
  • Entire collection: if you want the entire collection you’ll have to setup set up a particular value for pageSize or pageNumber;
  • Ordering: with the new release it will be possible to specify complex ordering filters on multiple fields and - if needed - different sorting directions (ex. order by=” id, category-id desc; title asc ”)
  • Filtering: new complex query parser will be added to allow developers to filter collections “as they wish” (ex. filter by=”  [idColor==’Blue’ || idColor.Contains(‘Azure’)] && [id <= 30 && id != 10] ”)