Our API

The Campaign Monitor API opens up a world of possibilities for integrating our platform with your favorite CMS, blog, or other third party software.

Account

Gives you access to core account information such as the clients available in your account and helper procedures when creating a client including available countries, time zones and the current date and time in your account.

Getting your clients

Get https://api.createsend.com/api/v3.3/clients.{xml|json}

Contains a list of all the clients in your account, including their name and ID.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "ClientID": "4a397ccaaa55eb4e6aa1221e1e2d7122",
        "Name": "Client One"
    },
    {
        "ClientID": "a206def0582eec7dae47d937a4109cb2",
        "Name": "Client Two"
    }
]
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Getting your billing details

Get https://api.createsend.com/api/v3.3/billingdetails.{xml|json}

Returns billing details for your account, including the number of credits in your account.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "Credits": 3021
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Getting valid countries

Get https://api.createsend.com/api/v3.3/countries.{xml|json}

Contains a list of all the valid countries accepted as input when a country is required, typically when creating a client.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    "Afghanistan",
    "Albania",
    "Algeria",
    "American Samoa",
    "etc..."
]
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Getting valid timezones

Get https://api.createsend.com/api/v3.3/timezones.{xml|json}

Contains a list of all the valid timezones accepted as input when a timezone is required, typically when creating a client.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    "(GMT) Casablanca",
    "(GMT) Coordinated Universal Time",
    "(GMT) Dublin, Edinburgh, Lisbon, London",
    "(GMT) Monrovia, Reykjavik",
    "etc..."
]
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Getting current date

Get https://api.createsend.com/api/v3.3/systemdate.{xml|json}

Contains the current date and time in your account’s timezone. This is useful when, for example, you are syncing your Campaign Monitor lists with an external list, allowing you to accurately determine the time on our server when you carry out the synchronization.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "SystemDate": "2010-11-16 14:18:00"
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Adding an administrator

Post https://api.createsend.com/api/v3.3/admins.{xml|json}

Adds a new administrator to the account. An invitation will be sent to the new administrator via email

Expected request: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "[email protected]",
  "Name": "Sally Sparrow"
}
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
   "EmailAddress": "[email protected]"
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 150: Email Taken A person with that email address is already associated with this client.
  • 751: Empty Administrator Name Administrator name cannot be empty.

Updating an administrator

Put https://api.createsend.com/api/v3.3/admins.{xml|json}?email={email}

Updates the email address and/or name of an administrator.

Note: the email value in the query string is the old email address. Use the EmailAddress property in the request body to change the email address.

  • email The email address of the admin whose details will be updated. This is regarded as the 'old' email address.
Expected request: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "[email protected]",
  "Name": "Sam Sparrow"
}
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
   "EmailAddress": "[email protected]"
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 150: Email Taken A person with that email address is already associated with this client.
  • 751: Empty Administrator Name Administrator name cannot be empty.
  • 752: Administrator not found No administrator with that email address is associated with this account.

Getting Administrators

Get https://api.createsend.com/api/v3.3/admins.{xml|json}

Contains a list of all (active or invited) administrators associated with a particular account.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "EmailAddress": "[email protected]",
    "Name": "Sally Sparrow",
    "Status": "Waiting to Accept the Invitation"
  },
  {
    "EmailAddress": "[email protected]",
    "Name": "John Jones",
    "Status": "Active"
  }
]
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Administrator details

Get https://api.createsend.com/api/v3.3/admins.{xml|json}?email={email}

Returns the details of a single administrator associated with an account.

  • email The email address of the administrator whose information should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "[email protected]",
  "Name": "John Jones",
  "Status": "Active"
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 752: Administrator not found No administrator with that email address is associated with this account.

Deleting an administrator

Delete https://api.createsend.com/api/v3.3/admins.{xml|json}?email={email}

Changes the status of an active administrator to a deleted administrator. They will no longer be able to log into this account

  • email The email address of the administrator to be deleted.
Expected response: (Same for all languages)
HTTP/1.1 200 OK
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 752: Administrator not found No administrator with that email address is associated with this account.
  • 753: Cannot delete last administrator There must always be at least one administrator associated with the account.

Setting primary contact

Put https://api.createsend.com/api/v3.3/primarycontact.{xml|json}?email={email}

Sets the primary contact for the account to be the administrator with the specified email address.

  • email The email address of the person to be assigned as the primary contact for the client.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "[email protected]",
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 752: Administrator not found No administrator with that email address is associated with this account.
  • 754: Administrator not active The specified administrator has not accepted their invitation yet.

Getting primary contact

Get https://api.createsend.com/api/v3.3/primarycontact.{xml|json}

Returns the email address of the administrator who is selected as the primary contact for this account.

Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "[email protected]",
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

Embedded session

Put https://api.createsend.com/api/v3.3/externalsession.{xml|json}

Initiates a new login session for the member with the specified email address.

Before you can use this method you’ll have to get in touch with us to obtain an IntegratorID. Once you’ve registered you can create login sessions for account members, optionally directing them to a specific page. This method will return a single use url which will create the login session. This is usually used as the source of an iframe for embedding Campaign Monitor within your own application.

Some UI elements can be hidden from the member via the Chrome parameter. Valid options for this parameter are all, tabs or none.

Expected request: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Email": "[email protected]",
  "Chrome": "None",
  "Url": "/subscribers/[email protected]",
  "IntegratorID": "a1b2c3d4e5f6",
  "ClientID": "aaa111bbb222ccc333"
}
  • Email A valid email address for a person's account in the selected Campaign Monitor client
  • Chrome What Campaign Monitor navigation to show. Valid options are "All", "Tabs", or "None". See the screenshot above.
  • Url The Campaign Monitor page to load.
  • IntegratorID Your integrator ID. If you don't have one, you will need to contact support.
  • ClientID The client ID of the account you want to access.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "SessionUrl": "https://external1.createsend.com/cd/session/?k=AfsBUz1ZWjNOlMSnpCAPFIHrdM7pgDkdBChvi248xPt4",
}
Error responses:

Please see our response status codes documentation for details of potential error responses for any API request.

If you receive a 400 Bad Request response for this request, these are the possible errors which may be included in the body of the response:

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.
  • 752: Administrator not found No administrator with that email address is associated with this account.
  • 754: Administrator not active The specified administrator has not accepted their invitation yet.
  • 5001: Unknown Member The email address provided was not recognised.
  • 5002: Invalid IntegratorID The IntegratorID provided was not recognised or invalid.
  • 5003: Invalid Chrome The Chrome options specified was invalid.