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.

Clients

Contains all the functionality you need to manage the clients in your account. From adding new clients, updating their billing settings, giving them access to their account and accessing their lists, templates and campaigns.

Creating a client

Post https://api.createsend.com/api/v3.1/clients.{xml|json}

Creates a new client in your account with basic contact information and no access to the application. Client billing options are set once the client is created.

Expected request: JSONXML
{
    "CompanyName": "My Company",
    "Country": "Australia",
    "TimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney"
}
Expected response: JSONXML
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8

"aa164e9c8ab0471294fe6148fc9cf634"
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:

  • 152: Invalid Timezone Timezone string is not in the correct format. See here for accessing a list of all timezones.
  • 154: Empty Company Name Company name cannot be empty
  • 157: Invalid Country Country string is either empty or invalid
  • 172: Client Creation Limit You can create a maximum of five (5) clients per thirty (30) minutes

Getting a client’s details

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

Get the complete details for a client including their API key, access level, contact details and billing settings.

If there is only one Person in this Client, their Email Address, Contant Name and Access Details are returned. If there are multiple Persons in this Client, or no Persons at all, these fields are omitted in the response.

  • clientid The ID of the client to be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "ApiKey": "639d8cc27198202f5fe6037a8b17a29a59984b86d3289bc9",
    "BasicDetails": {
        "ClientID": "4a397ccaaa55eb4e6aa1221e1e2d7122",
        "CompanyName": "Client One",
        "Country": "Australia",
        "TimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney",
        "PrimaryContactName": "Sally",
        "PrimaryContactEmail": "sally@me.com"
    },
    "BillingDetails": {
        "CanPurchaseCredits": true,
        "Credits": 500,
        "MarkupOnDesignSpamTest": 0.0,
        "ClientPays": true,
        "BaseRatePerRecipient": 1.0,
        "MarkupPerRecipient": 0.0,
        "MarkupOnDelivery": 0.0,
        "BaseDeliveryRate": 5.0,
        "Currency": "USD",
        "BaseDesignSpamTestRate": 5.0
    }
}
Error responses:

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

Getting sent campaigns

Get https://api.createsend.com/api/v3.1/clients/{clientid}/campaigns.{xml|json}

Returns a list of all sent campaigns for a client including from name, from email, reply to email, web version URL, ID, subject, name, date sent, and the total number of recipients.

  • clientid The ID of the client for which sent campaigns should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "WebVersionURL": "http://createsend.com/t/r-765E86829575EE2C/",
        "WebVersionTextURL": "http://createsend.com/t/r-765E86829575EE2C/t",
        "CampaignID": "fc0ce7105baeaf97f47c99be31d02a91",
        "Subject": "Campaign One",
        "Name": "Campaign One",
        "SentDate": "2010-10-12 12:58:00",
        "TotalRecipients": 2245
    },
    {
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "WebVersionURL": "http://createsend.com/t/r-DD543566A87C9B8B/",
        "WebVersionTextURL": "http://createsend.com/t/r-DD543566A87C9B8B/t",
        "CampaignID": "072472b88c853ae5dedaeaf549a8d607",
        "Subject": "Campaign Two",
        "Name": "Campaign Two",
        "SentDate": "2010-10-06 16:20:00",
        "TotalRecipients": 11222
    }
]
Error responses:

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

Getting scheduled campaigns

Get https://api.createsend.com/api/v3.1/clients/{clientid}/scheduled.{xml|json}

Returns all currently scheduled campaigns for a client including from name, from email, reply to email, preview URL, ID, subject, name, date created, date scheduled, and the scheduled timezone.

  • clientid The ID of the client for which scheduled campaigns should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "DateScheduled": "2011-05-25 10:40:00",
        "ScheduledTimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney",
        "CampaignID": "827dbbd2161ea9989fa11ad562c66937",
        "Name": "Magic Issue One",
        "Subject": "Magic Issue One",
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "DateCreated": "2011-05-24 10:37:00",
        "PreviewURL": "http://createsend.com/t/r-DD543521A87C9B8B/",
        "PreviewTextURL": "http://createsend.com/t/r-DD543521A87C9B8B/t"
    },
    {
        "DateScheduled": "2011-05-29 11:20:00",
        "ScheduledTimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney",
        "CampaignID": "4f54bbd2161e65789fa11ad562c66937",
        "Name": "Magic Issue Two",
        "Subject": "Magic Issue Two",
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "DateCreated": "2011-05-24 10:39:00",
        "PreviewURL": "http://createsend.com/t/r-DD913521A87C9B8B/",
        "PreviewTextURL": "http://createsend.com/t/r-DD913521A87C9B8B/t"
    }
]
Error responses:

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

Getting draft campaigns

Get https://api.createsend.com/api/v3.1/clients/{clientid}/drafts.{xml|json}

Returns a list of all draft campaigns belonging to that client including from name, from email, reply to email, preview URL, ID, subject, name, and the date the draft was created.

  • clientid The ID of the client for which draft campaigns should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "CampaignID": "7c7424792065d92627139208c8c01db1",
        "Name": "Draft One",
        "Subject": "Draft One",
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "DateCreated": "2010-08-19 16:08:00",
        "PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/",
        "PreviewTextURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/t"
    },
    {
        "CampaignID": "2e928e982065d92627139208c8c01db1",
        "Name": "Draft Two",
        "Subject": "Draft Two",
        "FromName": "My Name",
        "FromEmail": "myemail@example.com",
        "ReplyTo": "myemail@example.com",
        "DateCreated": "2010-08-19 16:08:00",
        "PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/",
        "PreviewTextURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/t"
    }
]
Error responses:

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

Getting subscriber lists

Get https://api.createsend.com/api/v3.1/clients/{clientid}/lists.{xml|json}

Returns all the subscriber lists that belong to that client, including the list name and ID.

  • clientid The ID of the client for which subscriber lists should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "ListID": "a58ee1d3039b8bec838e6d1482a8a965",
        "Name": "List One"
    },
    {
        "ListID": "99bc35084a5739127a8ab81eae5bd305",
        "Name": "List Two"
    }
]
Error responses:

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

Getting lists for an email address

Get https://api.createsend.com/api/v3.1/clients/{clientid}/listsforemail.{xml|json}?email={email}

Returns all the subscriber lists across the client, to which an email address is subscribed.

For each list to which the email address is subscribed, you will receive the list ID, list name, the state of the subscriber on the list, and the date the subscriber was added to the list (in the client’s timezone).

  • clientid The ID of the client for which lists should be retrieved.
  • email The email address for which lists should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "ListID": "a58ee1d3039b8bec838e6d1482a8a965",
        "ListName": "List One",
        "SubscriberState": "Active",
        "DateSubscriberAdded": "2010-03-19 11:15:00"
    },
    {
        "ListID": "99bc35084a5739127a8ab81eae5bd305",
        "ListName": "List Two",
        "SubscriberState": "Unsubscribed",
        "DateSubscriberAdded": "2011-04-01 01:27:00"
    }
]
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.

Getting segments

Get https://api.createsend.com/api/v3.1/clients/{clientid}/segments.{xml|json}

Contains a list of all list segments belonging to a particular client.

  • clientid The ID of the client for which segments should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "ListID": "a58ee1d3039b8bec838e6d1482a8a965",
        "SegmentID": "46aa5e01fd43381863d4e42cf277d3a9",
        "Title": "Segment One"
    },
    {
        "ListID": "8dffb94c60c5faa3d40f496f2aa58a8a",
        "SegmentID": "dhw9q8jd9q8wd09quw0d909wid9i09iq",
        "Title": "Segment Two"
    }
]
Error responses:

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

Getting suppression list

Get https://api.createsend.com/api/v3.1/clients/{clientid}/suppressionlist.{xml|json}?page={page}&pagesize={pagesize}&orderfield={email|date}&orderdirection={asc|desc}

Contains a paged result representing the client’s suppression list.

  • clientid The ID of the client for which their suppression list should be retrieved.
  • page The results page to retrieve. Default: 1.
  • pagesize The number of records to retrieve per results page. Default: 1000.
  • orderfield The field which should be used to order the results. Default: email.
  • orderdirection The direction in which results should be ordered. Default: asc.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "Results": [
        {
            "SuppressionReason": "Bounced",
            "EmailAddress": "example+1@example.com",
            "Date": "2010-10-26 10:55:31",
            "State": "Suppressed"
        },
        {
            "SuppressionReason": "Unsubscribed",
            "EmailAddress": "example+2@example.com",
            "Date": "2010-10-26 10:55:31",
            "State": "Suppressed"
        },
        {
            "SuppressionReason": "Unsubscribed",
            "EmailAddress": "example+3@example.com",
            "Date": "2010-10-26 10:55:31",
            "State": "Suppressed"
        },
        {
            "SuppressionReason": "Reason Unavailable",
            "EmailAddress": "subscriber@example.com",
            "Date": "2010-10-25 13:11:04",
            "State": "Suppressed"
        },
        {
            "SuppressionReason": "Reason Unavailable",
            "EmailAddress": "subscriberone@example.com",
            "Date": "2010-10-25 13:04:15",
            "State": "Suppressed"
        }
    ],
    "ResultsOrderedBy": "email",
    "OrderDirection": "asc",
    "PageNumber": 1,
    "PageSize": 1000,
    "RecordsOnThisPage": 5,
    "TotalNumberOfRecords": 5,
    "NumberOfPages": 1
}
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:

  • 800: Invalid page number The page number you have provided is invalid.
  • 801: Invalid page size The page size must be between 10 and 1000.
  • 802: Invalid order field The order field must be either email, name or date
  • 803: Invalid order direction The order direction must be either asc or desc.

Suppress email addresses

Post https://api.createsend.com/api/v3.1/clients/{clientid}/suppress.{xml|json}

Adds the email addresses provided to the client’s suppression list.

  • clientid The ID of the client whose suppression list will have the provided email addresses added to it.
Expected request: JSONXML
{
    "EmailAddresses": [ "one@example.com", "two@example.com" ]
}
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.

  • 1: Invalid Email Address Email address is missing or incorrectly formatted.

Unsuppress an email address

Put https://api.createsend.com/api/v3.1/clients/{clientid}/unsuppress.{xml|json}?email={email}

Unsuppresses an email address by removing the email address from a client’s suppression list.

  • clientid The ID of the client from whose suppression list the email address should be removed.
  • email The email address to be removed from the suppression list.
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.
  • 176: Email address not in suppression list The email address provided is not in the client's suppression list.

Getting templates

Get https://api.createsend.com/api/v3.1/clients/{clientid}/templates.{xml|json}

Contains a list of the templates belonging to the client including the ID, name and a URL for a screenshot and HTML preview of the template.

  • clientid The ID of the client for which templates should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "TemplateID": "5cac213cf061dd4e008de5a82b7a3621",
        "Name": "Template One",
        "PreviewURL": "http://preview.createsend.com/templates/publicpreview/01AF532CD8889B33?d=r",
        "ScreenshotURL": "http://preview.createsend.com/ts/r/14/833/263/14833263.jpg?0318092541"
    },
    {
        "TemplateID": "da645c271bc85fb6550acff937c2ab2e",
        "Name": "Template Two",
        "PreviewURL": "http://preview.createsend.com/templates/publicpreview/C8A180629495E798?d=r",
        "ScreenshotURL": "http://preview.createsend.com/ts/r/18/7B3/552/187B3552.jpg?0705043527"
    }
]
Error responses:

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

Setting basic details

Put https://api.createsend.com/api/v3.1/clients/{clientid}/setbasics.{xml|json}

Update the basic account details for an existing client including their name, contact details and time zone.

  • clientid The ID of the client for which basic details should be set.
Expected request: JSONXML
{
    "CompanyName": "My Company",
    "Country": "Australia",
    "TimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney"
}
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:

  • 110: Deprecated Method Client details can be updated in this way if there is only one Person in this Client. If there are multiple Persons, or no Persons at all, you cannot set their details this way. Instead, update each Person's details.
  • 152: Invalid Timezone Timezone string is not in the correct format. See here for accessing a list of all timezones.
  • 154: Empty Company Name Company name cannot be empty
  • 157: Invalid Country Country string is either empty or invalid

Setting PAYG billing

Put https://api.createsend.com/api/v3.1/clients/{clientid}/setpaygbilling.{xml|json}

Set if a client can pay for their own campaigns and design and spam tests using our PAYG billing. Set the mark-up percentage on each type of fee, and if the client can purchase their own email credits to access bulk discounts.

Any specific markup values provided for the MarkupOnDelivery, MarkupPerRecipient or MarkupOnDesignSpamTest fields will override the percentage markup for those fields only, these fields are optional and should be omitted when not required. The MarkupOnDelivery and MarkupOnDesignSpamTest fields should be in the major unit for the specified currency (e.g “6.5” means “$6.50”), whilst the MarkupPerRecipient should be in the specified currencies minor unit (e.g “6.5” means “6.5 cents”). Note: Specific values can not be provided for the credit pricing tiers.

Currencies supported are USD (US Dollars), GBP (Great Britain Pounds), EUR (Euros), CAD(Canadian Dollars), AUD (Australian Dollars), and NZD (New Zealand Dollars).

  • clientid The ID of the client for which PAYG billing settings should be set.
Expected request: JSONXML
{
    "Currency": "AUD",
    "CanPurchaseCredits": false,
    "ClientPays": true,
    "MarkupPercentage": 20,
    "MarkupOnDelivery": 5,
    "MarkupPerRecipient": 4,
    "MarkupOnDesignSpamTest": 3
}
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:

  • 167: Invalid Currency Code The currency selected is invalid. Please ensure you use a valid currency.
  • 170: Markup Rate Too Low The Markup Percentage must be greater than or equal to zero
  • 173: Cannot set billing without access You cannot set client billing options for clients without Create Send access

Setting monthly billing

Put https://api.createsend.com/api/v3.1/clients/{clientid}/setmonthlybilling.{xml|json}

Set if a client can pay for their own campaigns and design and spam tests using our monthly billing. Set the currency they should pay in plus mark-up percentage that will apply to the base prices at each pricing tier.

Currencies supported are USD (US Dollars), GBP (Great Britain Pounds), EUR (Euros), CAD(Canadian Dollars), AUD (Australian Dollars), and NZD (New Zealand Dollars).

MonthlyScheme is optional. Supported values are Basic and Unlimited.

  • clientid The ID of the client for which monthly billing settings should be set.
Expected request: JSONXML
{
    "Currency": "AUD",
    "ClientPays": true,
    "MarkupPercentage": 20,
    "MonthlyScheme": "Basic",
}
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:

  • 167: Invalid Currency Code The currency selected is invalid. Please ensure you use a valid currency.
  • 170: Markup Rate Too Low The Markup Percentage must be greater than or equal to zero
  • 173: Cannot set billing without access You cannot set client billing options for clients without Create Send access

Transfer credits

Post https://api.createsend.com/api/v3.1/clients/{clientid}/credits.{xml|json}

Transfer credits from your account to a client, or transfer credits from a client to your account. The Credits field should contain either a positive integer if you wish to allocate credits from your account to a client, or a negative integer if you wish to deduct credits from a client back into your account.

For example, to deduct 200 credits from a client (and transfer those credits back to your account) you would provide a value of -200 for the Credits field. And to allocate 200 credits from your account to a client, you would provide a value of 200 for the Credits field.

If the CanUseMyCreditsWhenTheyRunOut field is set to true, the client will be able to continue sending using your credits or payment details once they run out of credits. If the CanUseMyCreditsWhenTheyRunOut field is set to false, the client will not be able to continue sending until you allocate more credits to them.

  • clientid The ID of the client for which the credit transfer will be made.
Expected request: JSONXML
{
    "Credits": 200,
    "CanUseMyCreditsWhenTheyRunOut": false
}
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "AccountCredits": 800,
    "ClientCredits": 200
}
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:

  • 177: Attempted to transfer greater than total client credits You attempted to transfer more than the total number of credits belonging to the client.
  • 178: Attempted to transfer greater than total account credits You attempted to transfer more than the total number of credits in your account.

Deleting a client

Delete https://api.createsend.com/api/v3.1/clients/{clientid}.{xml|json}

Delete an existing client from your account.

  • clientid The ID of the client 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.

Adding a person

Post https://api.createsend.com/api/v3.1/clients/{clientid}/people.{xml|json}

Adds a new person to the client. You can use the permissions helper below for selecting the appropriate AccessLevel:

Permissions
They can do everything but can't create templates. They can’t manage people themselves.

Access level:

  • clientid The ID of the client to add the person to.
Expected request: JSONXML
{
  "EmailAddress": "sally@sparrow.com",
  "Name": "Sally Sparrow",
  "AccessLevel": 23,
  "Password": "opensesame"
}
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
   "EmailAddress": "sally@sparrow.com"
}
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.
  • 153: Invalid Access Level Specified access level does not exist. Please check the documentation for valid access level settings.
  • 174: Unsafe Password Supplied password is considered unsafe and easily hackable. Please choose another.
  • 175: Invalid Password If password is supplied, it must be at least 6 characters.
  • 701: Empty Person Name Person name cannot be empty.

Updating a person

Put https://api.createsend.com/api/v3.1/clients/{clientid}/people.{xml|json}?email={email}

Updates any aspect of a person including their email address, name and access level. Note: theemail value in the query string is the old email address. Use the EmailAddress property in the request body to change the email address.

You can use the permissions helper for selecting the appropriate AccessLevel.

Permissions
They can do everything but can't create templates. They can’t manage people themselves.

Access level:

  • clientid The ID of the client with which the person is associated.
  • email The email address of the person whose details will be updated. This is regarded as the 'old' email address.
Expected request: JSONXML
{
  "EmailAddress": "sam@sparrow.com",
  "Name": "Sam Sparrow",
  "AccessLevel": 31,
  "Password": "opensesame"
}
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
   "EmailAddress": "sam@sparrow.com"
}
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.
  • 153: Invalid Access Level Specified access level does not exist. Please check the documentation for valid access level settings.
  • 174: Unsafe Password Supplied password is considered unsafe and easily hackable. Please choose another.
  • 175: Invalid Password If password is supplied, it must be at least 6 characters.
  • 702: Person not found No person with that email address is associated with this client.
  • 701: Empty Person Name Person name cannot be empty.

Getting people

Get https://api.createsend.com/api/v3.1/clients/{clientid}/people.{xml|json}

Contains a list of all (active or invited) people associated with a particular client. This will not include account administrators.

  • clientid The ID of the client for which the people should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "EmailAddress": "sally@sparrow.com",
    "Name": "Sally Sparrow",
    "AccessLevel": 31,
    "Status": "Waiting to Accept the Invitation"
  },
  {
    "EmailAddress": "john@jones.com",
    "Name": "John Jones",
    "AccessLevel": 23,
    "Status": "Active"
  }
]
Error responses:

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

Person details

Get https://api.createsend.com/api/v3.1/clients/{clientid}/people.{xml|json}?email={email}

Returns the details of a single person associated with a client.

  • clientid The ID of the client for which the person details should be retrieved.
  • email The email address of the person whose information should be retrieved.
Expected response: JSONXML
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "EmailAddress": "john@jones.com",
  "Name": "John Jones",
  "AccessLevel": 23,
  "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.
  • 702: Person not found No person with that email address is associated with this client.

Deleting a Person

Delete https://api.createsend.com/api/v3.1/clients/{clientid}/people.{xml|json}?email={email}

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

  • clientid The ID of the client for which the person details should be deleted.
  • email The email address of the person 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.
  • 702: Person not found No person with that email address is associated with this client.
  • 703: Cannot delete last person There must always be at least one person associated with the client.

Setting primary contact

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

Sets the primary contact for the client to be the person with the specified email address.

  • clientid The ID of the client for which the primary contact is to be set.
  • 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": "john@jones.com",
}
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.
  • 702: Person not found No person with that email address is associated with this client.
  • 704: Person not active The specified person has not accepted their invitation yet.

Getting primary contact

Get https://api.createsend.com/api/v3.1/clients/{clientid}/primarycontact.{xml|json}

Returns the email address of the person who is selected as the primary contact for this client.

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

{
  "EmailAddress": "john@jones.com",
}
Error responses:

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