Email messages

Email messages

This page provides you with information about how to use MailUp REST API to create email messages and to send them to specified recipients.

 

 

On this page:

 


Email messages

An email message is always created inside the environment of a MailUp list, so it cannot be managed outside of that list.

Please note that, when creating a new email message, any referenced tag or attachment must be created in advance for that list. 

Create a message

Important about creating a new message

  1. any referenced tag or attachment must be created in advance for that list

  2. to enable the use of dynamic fields, which are disabled by default, choose one of these options:

    1. specify at least one default value in the "Fields" parameter (as in the sample request below);

    2. use the EnableDynamicFields method;

    3. use the request property UseDynamicField: true

Description

Create a new email message

HTTP Method

POST

URL

Create a message
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email

JSON request (example)

{ "Subject":"Monthly Newsletter 4", "Content":"Hello world", "Embed":false, "Fields":[ { "Description":"Country", "Id":8, "Value":"USA" } ], "IsConfirmation":false, "Notes":"Issue n. 5", "Tags":null, "TrackingInfo": { "CustomParams":"", "Enabled":true, "Protocols":["http:","https:","ftp:","news:"] } }
{ "Subject": "Monthly Newsletter 4", "IsConfirmation": false, "Content": "nothing here", "Notes": "notes", "UseDynamicField": true, "Embed": false, "PreHeader": "", "TrackingInfo": { "CustomParams": "", "Enabled": false, "Protocols": [] } }
{ "Subject": "Monthly Newsletter 4", "IsConfirmation": false, "Content": "nothing here", "Notes": "notes", "UseDynamicField": false, "Embed": false, "PreHeader": "", "TrackingInfo": { "CustomParams": "", "Enabled": false, "Protocols": [] } }

JSON response (example)

{ "CreationDate": "2016-09-16 15:57:35Z", "Notes": "", "Subject": "Monthly Newsletter 4", "idList": 2, "idMessage": 1060 }

 

 

Paging and filtering (example)

 

 

Enable Dynamic fields

Description

Enable or disable dynamic fields

HTTP Method

PUT

URL

Create a message
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}/EnableDynamicFields/{enable}

JSON request (example)

Enable or Disable
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}/EnableDynamicFields/true https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}/EnableDynamicFields/false

 

 

JSON response (example)

Message details are returned

 

 

Paging and filtering (example)

 

 

 

List Messages

Description

Retrieve email messages of a specified list

HTTP Method

GET

URL

Retrieve all email messages of that list

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Emails

 

Retrieve only email messages that have been published (i.e. with public visibility, see details) 1

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Online/Emails

 

Retrieve only email messages that have been archived (see details) 1

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Archived/Emails

 

Note:

1 an empty list is returned if public visibility of messages (aka Web library) is disabled. You shall enable it to Retrieve them

JSON request (example)

none

JSON response (example)

All email messages of a specified list

{ "IsPaginated":false, "Items":[ { "CreationDate": "2017-05-29 08:21:59Z", "Notes": "Issue n. 5", "Subject": "Monthly Newsletter 4", "idList": 1, "idMessage": 38, "ServiceType": 0 }, { "CreationDate": "2017-05-24 13:05:08Z", "Notes": "notes", "Subject": "La prova", "idList": 1, "idMessage": 37, "ServiceType": 0 } ], "PageNumber":0, "PageSize":20, "Skipped":0, "TotalElementsCount":2 }

ServiceType field shows the message types. Here are the most common values:

P.S.: the ServiceType field has a value greater than 1 when your platform has a custom configuration. Please contact us, if you need more information.

 

List published messages (public URLs are also provided)

"LastSendDate":"0001-01-01 00:00:00Z" is returned when message has never been sent

{ "IsPaginated":false, "Items":[ { "Subject":"Monthly Newsletter 4", "idList":2, "idMessage":62, "CreationDate":"2014-05-21 12:14:41Z", "LastSendDate":"0001-01-01 00:00:00Z", "Notes":"Issue n. 5", "Url":"http:\/\/d0i4e.s57.it\/frontend\/nl_preview_window.aspx?idNL=62" } ], "PageNumber":0, "PageSize":20, "Skipped":0, "TotalElementsCount":1 }

 

List archived messages

{ "IsPaginated":false, "Items":[ { "Subject":"Annual Newsletter n.13", "idList":2, "idMessage":27, "CreationDate":"2014-05-22 09:37:56Z", "LastSendDate":"", "Notes":"Issue n. 10 June 2014", "Url":"http:\/\/d0i4f.s57.it\/frontend\/nl_preview_window.aspx?idNL=27" }, { "Subject":"Annual Newsletter n.4", "idList":2, "idMessage":26, "CreationDate":"2014-05-22 08:55:15Z", "LastSendDate":"", "Notes":"Issue n. 6 June 2014", "Url":"http:\/\/d0i4f.s57.it\/frontend\/nl_preview_window.aspx?idNL=26" } ], "PageNumber":0, "PageSize":20, "Skipped":0, "TotalElementsCount":2 }

Paging and filtering (example)

2 items per page, get first page (count starts from zero):

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?PageNumber=0&PageSize=2

Retrieve messages that contain the word "test" in the subject field and order by ID. Note: search by text is case sensitive:

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?filterby="Subject.Contains(%27test%27)"&orderby="idMessage+asc"

Retrieve only the messages with tags whose IDs are 1, 13, or 45 (at least one of them):

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?tags="1,13,45"

Retrieve only the messages with tags whose ID is 13 or names are customers, welcome message or hello, world (at least one of them):

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?tags="13,customers,welcome message,'hello, world'"

Retrieve only the newsletter messages:

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?filterby="servicetype==0"

Retrieve only the SMTP+ messages:

  • https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/2/Emails?filterby="servicetype==1"

Read message details

Description

Retrieve the email details (content, settings, attachment) by specified id

HTTP Method

GET

URL

Retrieve the email details by specified id

https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}

 

Get attachment list for the specified message-id

https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment

JSON request (example)

none

JSON response (example)

Message content

Known limitation: returned values for "PreHeader" and "CreationDate" tags are always "null" 

{"Subject":"Monthly Newsletter","idList":2,"idMessage":24,"Content":" <table><tbody><tr><td><strong>Image</strong>&nbsp;</td><td><strong>Text</strong>&nbsp;</td></tr><tr><td style="width: 200px; height: 70px;">&nbsp;<img src="http://d0i4f.s57.it/images/2/ListImages/sociallogin.PNG" alt="This text is visible if you do not see images" title="SocialLogin" longdesc="Social Login Image" width="200" height="70"></td><td>&nbsp;This screenshot shows you how to perform login with social networks<br>&nbsp;(see <a href="http://[track]/https://help.mailup.com" target="_blank" id="User" s="" manual'="">manual</a>)&nbsp;</td></tr></tbody></table> ","Embed":false,"Fields":[{"Description":"FirstName","Id":1,"Value":""},{"Description":"LastName","Id":2,"Value":""},{"Description":"Company","Id":3,"Value":""},{"Description":"City","Id":4,"Value":""},{"Description":"Province","Id":5,"Value":""},{"Description":"ZIP","Id":6,"Value":""},{"Description":"State","Id":7,"Value":""},{"Description":"Region","Id":8,"Value":""},{"Description":"Address","Id":9,"Value":""},{"Description":"Gender ","Id":10,"Value":""},{"Description":"phone","Id":11,"Value":""},{"Description":"CustomerID","Id":12,"Value":""},{"Description":"LatestOrderID","Id":13,"Value":""},{"Description":"LatestOrderDate","Id":14,"Value":""},{"Description":"LatestOrderAmount","Id":15,"Value":""},{"Description":"LatestOrderProductIDs","Id":16,"Value":""},{"Description":"LatestOrderCategoryIDs","Id":17,"Value":""},{"Description":"LatestShippedOrderDate","Id":18,"Value":""},{"Description":"LatestShippedOrderID","Id":19,"Value":""},{"Description":"LatestAbandonedCartDate","Id":20,"Value":""},{"Description":"LatestAbandonedCartTotal","Id":21,"Value":""},{"Description":"LatestAbandonedCartID","Id":22,"Value":""},{"Description":"TotalOrdered","Id":23,"Value":""},{"Description":"TotalOrderedLast12m","Id":24,"Value":""},{"Description":"TotalOrderedLast30d","Id":25,"Value":""},{"Description":"AllOrderedProductIDs","Id":26,"Value":""},{"Description":"WantsBlogUpdate","Id":27,"Value":""}],"IsConfirmation":false,"Notes":"Issue n. 5 May 2014","Tags":[{"Enabled":false,"Id":5,"Name":"news"},{"Enabled":false,"Id":4,"Name":"users-manual"}],"TrackingInfo":{"CustomParams":"","Enabled":true,"Protocols":["http:","https:","ftp:","news:"]},"Attachments":[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1}]}

 

Message attachments

[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1}]

Paging and filtering (example)

2 items per page, get first page (count starts from zero)

Retrieve messages that contain the word "test" in the subject field and order by ID. Note: search by text is case sensitive

Sending Queue Status

It is possible to retrieve the status of the sending queue for the outgoing messages by calling the following methods:

1)  status of ongoing sendings: GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sendings/Immediate

2)  status of waiting sendings: GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sendings/Deferred

3)  status of sending to be planned: GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sendings/Undefined

Moreover, it is possible to retrieve the first available date to send a specific sending:

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sending/{id_sending}/Deferred

where {id_sending} is the unique identifier of the sending to consider. The result is the date UTC date specified with the format described in the section 'Type and cast definition' of this page: "Paging and filtering".

Update message

This method allows you to modify an existing message (content and settings).

Please note that

  • The "Tags" field is mandatory, if you leave it empty the existing tags of that message are not modified. There is no way to clear all tags

  • "Fields" parameter is optional

  • "TrackingInfo > Protocols" field values are ignored if "TrackingInfo > Enabled" is set to false

Description

Modify an existing message

HTTP Method

PUT

URL

https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}

JSON request (example)

Request data format is the same as the response of "GET /Console/List/{id_List}/Email/{id_Message}"

{"Subject":"Annual Newsletter n.9","idList":2,"Content":"<table><tbody><tr><td><strong>Image<\/strong>&nbsp;<\/td><td><strong>Text<\/strong>&nbsp;<\/td><\/tr><tr><td style=\"width: 200px; height: 70px;\">&nbsp;<img src=\"http:\/\/d0i4f.s57.it\/images\/2\/ListImages\/sociallogin.PNG\" alt=\"This text is visible if you do not see images\" title=\"SocialLogin\" longdesc=\"Social Login Image\" width=\"200\" height=\"70\" ><\/td><td>&nbsp;This screenshot shows you how to perform login with social networks<br>&nbsp;(see <a href=\"http:\/\/[track]\/https:\/\/help.mailup.com\" target=\"_blank\" id=\"User\" s=\"\" manual'=\"\">manual<\/a>)&nbsp;<\/td><\/tr><\/tbody><\/table>","Embed":false,"IsConfirmation":false,"Notes":"Issue n. 9 June 2014","Tags":[],"TrackingInfo":{"CustomParams":"","Enabled":true,"Protocols":["http:","ftp:","news:"]}}

JSON response (example)

{"Subject":"Monthly Newsletter!","idList":2,"idMessage":24}

Paging and filtering (example)

none

Manage tags

Description

Read available tags for a specified list

HTTP Method

GET, POST, PUT, DELETE

URL

Retrieve list tags:

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Tags

Create a new tag:

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Tag

Modify a tag:

PUT https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Tag/{id_Tag}

Remove a list tag:

DELETE https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Tag/{id_Tag}

JSON request (example)

  • No request body is required for GET and DELETE methods

  • POST method requires a simple string as parameter (e.g. "my-new-tag"), not a JSON structure

  • PUT method requires a full structure like {"Enabled":true,"Id":6,"Name":"my-new-tag"}

JSON response (example)

GET method returns the retrieved tags list

{"IsPaginated":false,"Items":[{"Enabled":true,"Id":5,"Name":"news"},{"Enabled":true,"Id":4,"Name":"users-manual"},{"Enabled":true,"Id":3,"Name":"$5 off promo"},{"Enabled":true,"Id":2,"Name":"preferred customer"},{"Enabled":true,"Id":1,"Name":"promotion"}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":5}

 

POST and PUT methods return the full structure of the created/updated tag, e.g.  {"Enabled":true,"Id":6,"Name":"my-new-tag"}

An empty response is returned by DELETE method

Paging and filtering (example)

none

Manage email attachments

MailUp messages support a maximum of five attachments. Each attachment is placed in a specified "slot": adding and removing an attachment means adding to a message "slot" or removing from it.

Description

Read, add and remove message attachments

HTTP Method

GET, POST, DELETE

URL

Retrieve all the attachments of a specified message

GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment

 

Add an attachment to the message slot

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment/{Slot}

 

Remove an attachment from a message slot

DELETE https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment/{Slot}

JSON request (example)

Only the POST method needs a request parameter. The attachment has to be Base64 encoded

You can use a free tool like this to quickly get the Base64 version of an uploaded file (please note that some tools introduce special chars like CR or LF inside the Base64 string, remove them to avoid HTTP 400 errors)

 {"Base64Data":"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", "Name":"10-years.png", "Slot":2, "idList":2, "idMessage":24}

JSON response (example)

The GET method returns a list of the documents that are attached to the specified message. An empty array ([], not JSON format) is returned if no document is attached.

In this case, the specified message (with ID=28) has five attachments

[{"Name":"28\/readme.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/readme.txt","Slot":1},{"Name":"28\/optin1.csv","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/optin1.csv","Slot":2},{"Name":"28\/product-logo.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/product-logo.png","Slot":3},{"Name":"28\/Feature User Guide 1 0.pdf","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/Feature User Guide 1 0.pdf","Slot":4},{"Name":"28\/max.jpg","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/max.jpg","Slot":5}]

 

POST method returns the list of attachments after the command execution

[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1},{"Name":"24\/10-years.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/10-years.png","Slot":2}]

 

DELETE method returns details about remaining attachments after deletion

The same result is returned even if an empty slot is specified (of course in this case no deletion occurs)

[{"Name":"24\/10-years.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/10-years.png","Slot":2}]

Paging and filtering (example)

none

Copy message

Description

Copy an existing message

HTTP Method

POST

URL

Create a message
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}

JSON request (example)

Copy message as-is:

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135

Copy message modifying Notes:

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135 {"Notes": "This is a new note!!!"}

Copy message modifying Subject:

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135 {"Subject": "This is the new subject!!!"}

Copy message modifying Subject and Notes:

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135 { "Subject": "This is the new subject!!!", "Notes": "This is a new note!!!" }

JSON response (example)

{ "CreationDate": "2017-08-30 15:24:07Z", "Notes": "This is a new note!!!", "Subject": "Important email", "idList": 1, "idMessage": 136 }

 

 

 

Paging and filtering (example)

 

Manage message online visibility

Description

Publish an existing message

HTTP Method

PUT

URL

Create a message
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/{id_List}/Email/{id_Message}/OnlineVisibility

JSON request (example)

Publish a message:

PUT https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135/OnlineVisibility   true

Unpublish a message:

PUT https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/list/2/Email/135/OnlineVisibility false

JSON response (example)

None 

Paging and filtering (example)

 


Send Email Messages

This section contains methods to send messages and to retrieve the history of sent messages.

You can enrich the calls to send messages using some query string parameters, as follow:

Querystring parameter

Description

Example

SenderName
SenderAddress

Email messages are usually sent with the sender name and the sender name that is specified as default settings for the MailUp list.
As an alternative, you can specify a different sender for a certain sending by specifying "SenderName" and "SenderAddress" parameters.
You have to provide both parameters and not only one of them.

POST .../Send?SenderName="John Smith"&SenderAddress="smith@example.com"

DateTime

It is possible to specify an eventual UTC date/time for a deferred sending.
When a message send is scheduled you cannot modify it.
The format described in the section 'Type and cast definition' of this page: "Paging and filtering".

POST .../Send?datetime="2014-10-20 05:00:00Z"

It is possible to specify the value undefined for the DateTime query string parameter.
It means the message sending is scheduled as inactive. This option allows you to create a relationship between the message and the recipients, as a snapshot: you can modify the message and when the message is ready you can decide to schedule the newsletter or to send it immediately.

POST .../Send?datetime="undefined"

It is possible to omit the DateTime query string parameter (default) or set its value to now.
It means the message is enqueued and it will be sent when the dequeue process reaches it.

Important tip!

As you can imagine, if you use this option to send to some recipients and you use the method to send to a single recipient now, you append a lot of items to your sending queue. Every time an item is processed, it starts a verification process that requires some seconds: if you enqueue 10.000 items your sending period could be very long. So, if you need to send to a single recipient we suggest using our Transactional Emails APIs; otherwise, please use a list or groups to enqueue multi-recipients items to the sending queue.

POST .../Send

POST .../Send?datetime="now"

replyto

It is possible to specify an email address for a reply.

POST .../Send?replyto="replyto@yourdomain.it"

Message sending fails with HTTP 500 error if no authorized sender email nor sender email are provided. Ensure that sender name and sender email have been configured at list level (starting from MailUp version 8.6.1 the sender address has also to be a verified address)

 

Send to all subscribers

Description

Send a message to all list subscribers

HTTP Method

POST

URL

 Use the default list sender

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send

Use the sender that is provided by query string parameters

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?SenderName="{name}"&SenderAddress="{email}"

JSON request (example)

none

JSON response (example)

See notes at the bottom of this page1

{"Id":2147483647,"InvalidRecipients":[],"Sent":7,"UnprocessedRecipients":[],"idMessage":24}

Paging and filtering (example)

none

Send to list recipients filtering by groups

Description

You may need to restrict your mailing to those recipients that belong to some MailUp groups or you may need to exclude the recipients of some groups.
When using specific query string parameters with a valid value, the Send method allows including or excluding the recipients that belong to a list of specified groups.

Here is how it works:

  • use the inGroups query string parameter to set the IDs of the MailUp groups to be included (i.e. all the group members will be added)

  • use the notInGroups query string parameter to set the IDs of the MailUp groups to be excluded;

Please note that all the parameters' values must correspond to groups that belong to the MailUp list {id_List} specified in the REST endpoint.

HTTP Method

POST

URL

Inclusion

Include recipients that belong to one or more groups.
It is mandatory that at least one of provided groups belongs to the specified MailUp list, otherwise the method returns a 500 error. In case of empty values, the inGroups parameter is ignored and the message is sent to all the MailUp list recipients
If a recipient belongs to more than one group, it will be added just one time.

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?inGroups=12 POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?inGroups=12,23,45

 

Exclusion

Exclude subscribers that belong to one or more groups.
If the specified MailUp list does not contain all the provided groups, the method does not exclude any recipient and sends the newsletter to all the MailUp list recipients.

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?notInGroups=12 POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?notInGroups=12,23,45

 

Inclusion and exclusion

This is a case that merges the cases seen above: both inGroups and notInGroups are used.

inGroups: at least one of the provided groups must belong to the specified MailUp list. Otherwise, the method returns a 500 error. In case of empty values, the inGroups parameter is ignored and the message is sent to all the MailUp list recipients.

notInGroups: if the specified MailUp list does not contain all the provided groups, the method does not exclude any recipient and sends the newsletter to all the recipients filtered by the inGroups parameter.

POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?inGroups=12&notInGroups=89,90 POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?inGroups=12,23,45&notInGroups=89

JSON request (example)

none