Create a free account

API Documentation

Campaign Monitor

Subscriber.Add

Adds a subscriber (email address, name) to an existing subscriber list. If the subscriber already exists, the name value is updated with whatever is passed in.

If the list has been set as double opt-in, they will be sent the verification email, otherwise they will be sent the confirmation email you have set up for the list being subscribed to.

Samples

The following samples include specific examples of this method in action:

  • .NET - 51kb (see subscribe.aspx)
  • PHP - 13kb (see subscribe.php)
  • Classic ASP - 3kb (see subscribe.asp)
  • Flash - 978kb (see CM_Flash_Api_Example.fla)
  • Perl - 1kb (see subscribe.txt)
  • Cold Fusion - 2kb (see subscribe.cfm)

Parameters and required information

Here's a list of all the parameters you'll need to pass to the Subscriber.Add method. All of the parameters are required unless otherwise noted.

ApiKey
Your API application key. See here for more details.
ListID
The list you want to add the subscriber to. See here for more details.
Email
The email address of the new subscriber.
Name
The name of the new subscriber. If the name is unknown, an empty string can be passed in.

Return Codes

Success

0: Success
The subscription was successful.

Error

1: Invalid email address
The email value passed in was a valid email address.
100: Invalid API Key
The API key passed was not valid or has expired.
101: Invalid ListID
The ListID value passed in was not valid.

SOAP 1.1

The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.

POST /api/api.asmx HTTP/1.1
Host: app.campaignmonitor.com
Content-Type: text/xml; charset=utf-8
Content-Length: length

SOAPAction: "http://app.campaignmonitor.com/api/Subscriber.Add"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <Subscriber.Add xmlns="http://app.campaignmonitor.com/api/">
     <ApiKey>string</ApiKey>
     <ListID>int</ListID>

     <Email>string</Email>
     <Name>string</Name>
   </Subscriber.Add>
 </soap:Body>
</soap:Envelope>


HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>

   <Subscribers.AddResponse xmlns="http://app.campaignmonitor.com/api/">
     <Subscribers.AddResult>
       <Code>int</Code>
       <Message>string</Message>
     </Subscribers.AddResult>

   </Subscribers.AddResponse>
 </soap:Body>
</soap:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /api/api.asmx/Subscriber.Add?ApiKey=string&ListID=string&Email=string&Name=string HTTP/1.1
Host: app.campaignmonitor.com

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<Result xmlns="http://app.campaignmonitor.com/api/">
 <Code>int</Code>

 <Message>string</Message>
</Result>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /api/api.asmx/Subscriber.Add HTTP/1.1
Host: app.campaignmonitor.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

ApiKey=string&ListID=string&Email=string&Name=string

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<Result xmlns="http://app.campaignmonitor.com/api/">
 <Code>int</Code>

 <Message>string</Message>
</Result>