Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
SendCloud Portal
Sitecore Send API documentation
  • Introduction to the Sitecore Send API
        • Get all subscribers
        • Get subscriber by email address
        • Get subscriber by ID
        • Get subscriber by ID without mailing list ID
        • Add a new subscriber
        • Add multiple subscribers
        • Update a subscriber
        • Unsubscribe a subscriber from an account
        • Unsubscribe a subscriber from a mailing list
        • Unsubscribe a subscriber from a mailing list and a campaign
        • Remove a subscriber
        • Remove multiple subscribers
        • Delete a subscriber
        • Delete multiple subscribers from a specific mailing list
        • Delete a subscriber from an account
  1. Subscribers
  1. Sitecore Send API documentation
  2. API reference
  3. Subscribers
  4. Add multiple subscribers

Add multiple subscribers

POST /subscribers/{MailingListID}/subscribe_many.{Format}

Adds multiple subscribers to a specific email list in your Sitecore Send account in a single request. Our API supports requests with up to 1000 records per batch.

If some subscribers with their specified email addresses already exist in the list, an update is done instead. If you add a subscriber with an invalid email address, it is ignored.

Request

ParameterInTypeRequiredDescription
AcceptheaderstringtrueDetermines the expected format and data type to retrieve the response data.Value: application/json
MailingListIDpathstringtrueThe ID of the email list where you want to add multiple subscribers.
FormatpathstringtrueThe supported file format for getting a response.Possible values: json and xml.
apikeyquerystringtrueThe API key of your account.
HasExternalDoubleOptInbodyBooleanfalseWhen true, it flags the added subscribers as having given their subscription consent by other means.
SubscribersbodyarraytrueA list containing up to 1000 subscribers that you are adding to the email list. You must specify the Name, Email, and CustomFields for each subscriber.
TagsbodyobjectfalseThe member tag you can use to filter members by when working with an email list.
PreferencesbodyobjectfalseThe member preferences you can user to segment or filter members by, when working with an email list.
POST https://{hostname}/v3/subscribers/{MailingListID}/subscribe\_many.{Format}?apikey=

{
 "HasExternalDoubleOptIn": false,
 "Subscribers": \[
 {
 "Name": "test1Email",
 "Email": "[email protected]",
 "CustomFields": \[
 "Country=UK"
 \],
 "Tags": \[
 "repeater"
 \],
 "Preferences": \[
 "option a",
 "option b",
 "option c"
 \]
 },
 {
 "Name": "test2133Email",
 "Email": "[email protected]",
 "CustomFields": \[
 "Age=25",
 "Country=USA"
 \],
 "Tags": \[
 "repeater"
 \],
 "Preferences": \[
 "option a",
 "option b",
 "option c"
 \]
 }
 \]
}
curl --include \\
     --request POST \\
     --header "Content-Type: application/json" \\
     --header "Accept: application/json" \\
     --data-raw '{
    "HasExternalDoubleOptIn": false,
    "Subscribers": \[
      {
         "Name": "test1Email",
         "Email": "[email protected]",
         "CustomFields": \[
            "Country=UK"
         \]
      },
      {
         "Name": "test2133Email",
         "Email": "[email protected]",
         "CustomFields": \[
            "Age=25",
            "Country=USA"
         \],
         "Tags": \[
            "repeater"
         \],
         "Preferences": \[
            "option a",
            "option b",
            "option c"
         \]
      }
   \]
}' \\
'https://{hostname}/v3/subscribers/{MailingListID}/subscribe\_many.{Format}?apikey='

Response

StatusDescriptionHeadersSchema
200 OKThe request is successful.Content-Type
/json
N/A
{
  "Code": 0,
  "Error": "2 items with invalid email address were ignored: email@email, email2@email",
  "Context": \[
    {
      "ID": "ca506fc5-0967-4756-8848-74e9766bdbdd",
      "Name": "test1Email",
      "Email": "[email protected]",
      "CreatedOn": "/Date(1465377493907+0100)/",
      "UpdatedOn": "/Date(1465381164389)/",
      "UnsubscribedOn": null,
      "UnsubscribedFromID": null,
      "SubscribeType": 1,
      "SubscribeMethod": 1,
      "CustomFields": \[
        {
          "CustomFieldID": "42acf2cf-1096-4c80-960b-051791d9a276",
          "Name": "Country",
          "Value": "UK"
        }
      \],
      "RemovedOn": null,
      "Tags": \[
            "potential",
            "repeater"
        \]
    },
    {
      "ID": "b751f349-f6b3-4b14-8d75-c37dfafbe40a",
      "Name": "test2133Email",
      "Email": "[email protected]",
      "CreatedOn": "/Date(1465377493907+0100)/",
      "UpdatedOn": "/Date(1465381164389)/",
      "UnsubscribedOn": null,
      "UnsubscribedFromID": null,
      "SubscribeType": 1,
      "SubscribeMethod": 1,
      "CustomFields": \[
        {
          "CustomFieldID": "60d4e2b0-e5ae-4737-9ac5-ce071ab346fb",
          "Name": "Age",
          "Value": 25
        },
        {
          "CustomFieldID": "42acf2cf-1096-4c80-960b-051791d9a276",
          "Name": "Country",
          "Value": "USA"
        }
      \],
      "RemovedOn": null,
      "Tags": \[
            "potential",
            "repeater"
        \]
    }
  \]
}
  • Code - the response code. This is 0 if successful.

  • Errors - the response error message that shows how many and which emails are invalid. It is null if all emails are valid.

  • Context - an object that contains all the following information for each new subscriber added to the email list:

    • ID - the ID of the subscriber.

    • Name - the name of the subscriber.

    • Email - the email address of the subscriber.

    • CreatedOn - the date-time the subscriber was added to the email list.

    • UnsubscribedOn - the date-time the subscriber was unsubscribed from the email list. This is null if not unsubscribed from the list.

    • UnsubscribedFromID - the ID that the subscriber is unsubscribed from.

    • SubscribeType - the status of the subscriber. For subscribed, this is 1, for unsubscribed, this is 2, for bounced, this is 3 , and for removed, this is 4.

    • SubscribeMethod - the method used to subscribe the member to the email list. For subscription forms, this is 0, for file imports, this is 1, for manually added, this is 2.

    • CustomFields - a list containing the custom fields of the new subscriber. Each custom field contains the following:

      • CustomFieldID - the ID of the custom field.

      • Name - the name of the custom field.

      • Value - the value of the custom field.

    • RemovedOn - the date-time the subscriber was removed from the email list.

    • Tags - a list containing the tags of the new subscriber.

If you have suggestions for improving this article, let us know!

Documentation Assistant

This assistant uses AI to generate responses based on Sitecore documentation. While it has access to official sources, answers may be incomplete or inaccurate and should not be considered official advice or support.
Powered by
k
kapa.ai
Protected by reCAPTCHA

© Copyright 2026, Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use