Our API

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

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.

POST https://api.createsend.com/api/v3.1/clients.{xml|json}
Expected body request: JSON XML
{ 
    "CompanyName": "My Company", 
    "Country": "Australia", 
    "TimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney"
}
Expected response: JSON XML
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 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.

GET https://api.createsend.com/api/v3.1/clients/{clientid}.{xml|json}
Expected response: JSON XML
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

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.

GET
https://api.createsend.com/api/v3.1/clients/{clientid}/campaigns.{xml|json}
Expected response: JSON XML
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

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.

GET
https://api.createsend.com/api/v3.1/clients/{clientid}/scheduled.{xml|json}
Expected response: JSON XML
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

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.

GET https://api.createsend.com/api/v3.1/clients/{clientid}/drafts.{xml|json}
Expected response: JSON XML
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

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.

GET https://api.createsend.com/api/v3.1/clients/{clientid}/lists.{xml|json}
Expected response: JSON XML
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

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.

GET https://api.createsend.com/api/v3.1/clients/{clientid}/listsforemail.{xml|json}?email={email}
Expected response: JSON XML
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 passed in was invalid.

Getting segments

Contains a list of all list segments belonging to a particular client.
clientid The ID of the client for which segments should be retrieved.

GET
https://api.createsend.com/api/v3.1/clients/{clientid}/segments.{xml|json}
Expected response: JSON XML
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

Contains a paged result representing the client's 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}

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.
orderedirection The direction in which results should be ordered. Default: asc.

Expected response: JSON XML
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

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

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

clientid The ID of the client whose suppression list will have the provided email addresses added to it.

Expected request body: JSON XML
{
    "EmailAddresses": [ "one@example.com", "two@example.com" ]
}

Expected response (both XML and JSON):

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 passed in was invalid.

Unsuppress an email address

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

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

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 (both XML and JSON):

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 passed in was invalid.
  • 176: Email address not in suppression list The email address provided is not in the client's suppression list.

Getting templates

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.

GET https://api.createsend.com/api/v3.1/clients/{clientid}/templates.{xml|json}
Expected response: JSON XML
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

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.

PUT https://api.createsend.com/api/v3.1/clients/{clientid}/setbasics.{xml|json}
Expected request body: JSON XML
{ 
    "CompanyName": "My Company",
    "Country": "Australia", 
    "TimeZone": "(GMT+10:00) Canberra, Melbourne, Sydney"
}

Expected response (both XML and JSON):

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. Call User.GetTimezones for a full list.
  • 154: Empty Company Name Company name cannot be empty
  • 157: Invalid Country Country string is either empty or invalid

Setting PAYG billing

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.

PUT https://api.createsend.com/api/v3.1/clients/{clientid}/setpaygbilling.{xml|json}
Expected request body: JSON XML
{ 
    "Currency": "AUD",
    "CanPurchaseCredits": false,
    "ClientPays": true,
    "MarkupPercentage": 20,
    "MarkupOnDelivery": 5,
    "MarkupPerRecipient": 4,
    "MarkupOnDesignSpamTest": 3
}

Expected response (both XML and JSON):

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

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.

PUT https://api.createsend.com/api/v3.1/clients/{clientid}/setmonthlybilling.{xml|json}
Expected request body: JSON XML
{
    "Currency": "AUD",
    "ClientPays": true,
    "MarkupPercentage": 20,
	"MonthlyScheme": "Basic",
}

Expected response (both XML and JSON):

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

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.

POST https://api.createsend.com/api/v3.1/clients/{clientid}/credits.{xml|json}
Expected request body: JSON XML
{
    "Credits": 200,
    "CanUseMyCreditsWhenTheyRunOut": false
}
Expected response: JSON XML
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 an existing client from your account.
clientid The ID of the client to be deleted.

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

Expected response (both XML and JSON):

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

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:

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

clientid The ID of the client to add the person to.

Expected request: JSON XML
{ 
  "EmailAddress": "sally@sparrow.com",
  "Name": "Sally Sparrow",
  "AccessLevel": 23,
  "Password": "opensesame"
}
Expected response: JSON XML
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 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

Updates any aspect of a person including their email address, name and access level. 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.

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:

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

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: JSON XML
{ 
  "EmailAddress": "sam@sparrow.com",
  "Name": "Sam Sparrow",
  "AccessLevel": 31,
  "Password": "opensesame"
}
Expected response: JSON XML
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 Email address is missing or incorrectly formatted.
  • 150: Email Taken A person with that email address is already associated with this client.
  • 702: Person not found No person with that email address is 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.

Getting people

Contains a list of all (active or invited) people associated with a particular client.

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

clientid The ID of the client for which the people should be retrieved.

Expected response: JSON XML
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

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

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

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: JSON XML
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 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

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

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

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 (both XML and JSON):

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 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

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

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

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: JSON XML
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 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

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

GET https://api.createsend.com/api/v3.1/clients/{clientid}/primarycontact.{xml|json}
Expected response: JSON XML
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.

Sign up for free.
Then send campaigns for as little as $9/month

Create an account