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

Posthttps://api.createsend.com/api/v3.2/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 CreatedContent-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 TimezoneTimezone string is not in the correct format. See here for accessing a list of all timezones.
  • 154: Empty Company NameCompany name cannot be empty
  • 157: Invalid CountryCountry string is either empty or invalid
  • 172: Client Creation LimitYou can create a maximum of five (5) clients per thirty (30) minutes

Getting a client’s details

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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 AddressEmail address is missing or incorrectly formatted.

Getting segments

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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 numberThe page number you have provided is invalid.
  • 801: Invalid page sizeThe page size must be between 10 and 1000.
  • 802: Invalid order fieldThe order field must be either email, name or date
  • 803: Invalid order directionThe order direction must be either asc or desc.

Suppress email addresses

Posthttps://api.createsend.com/api/v3.2/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 >
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 AddressEmail address is missing or incorrectly formatted.

Unsuppress an email address

Puthttps://api.createsend.com/api/v3.2/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 >
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 AddressEmail address is missing or incorrectly formatted.
  • 176: Email address not in suppression listThe email address provided is not in the client's suppression list.

Getting templates

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Puthttps://api.createsend.com/api/v3.2/clients/{clientid}/setbasics.{xml|json}

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

If a client is set to ClientPays: true, changing the client’s country may have unexpected tax implications. If you need to change a client’s country, do so through the UI by updating their payment details.

  • 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 >
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 MethodClient 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 TimezoneTimezone string is not in the correct format. See here for accessing a list of all timezones.
  • 154: Empty Company NameCompany name cannot be empty
  • 157: Invalid CountryCountry string is either empty or invalid

Setting PAYG billing

Puthttps://api.createsend.com/api/v3.2/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 >
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 CodeThe currency selected is invalid. Please ensure you use a valid currency.
  • 170: Markup Rate Too LowThe Markup Percentage must be greater than or equal to zero
  • 173: Cannot set billing without accessYou cannot set client billing options for clients without Create Send access

Setting monthly billing

Puthttps://api.createsend.com/api/v3.2/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 >
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 CodeThe currency selected is invalid. Please ensure you use a valid currency.
  • 170: Markup Rate Too LowThe Markup Percentage must be greater than or equal to zero
  • 173: Cannot set billing without accessYou cannot set client billing options for clients without Create Send access

Transfer credits

Posthttps://api.createsend.com/api/v3.2/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 OKContent-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 creditsYou attempted to transfer more than the total number of credits belonging to the client.
  • 178: Attempted to transfer greater than total account creditsYou attempted to transfer more than the total number of credits in your account.

Deleting a client

Deletehttps://api.createsend.com/api/v3.2/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 >
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

Posthttps://api.createsend.com/api/v3.2/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 OKContent-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 AddressEmail address is missing or incorrectly formatted.
  • 150: Email TakenA person with that email address is already associated with this client.
  • 153: Invalid Access LevelSpecified access level does not exist. Please check the documentation for valid access level settings.
  • 174: Unsafe PasswordSupplied password is considered unsafe and easily hackable. Please choose another.
  • 175: Invalid PasswordIf password is supplied, it must be at least 6 characters.
  • 701: Empty Person NamePerson name cannot be empty.

Updating a person

Puthttps://api.createsend.com/api/v3.2/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 OKContent-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 AddressEmail address is missing or incorrectly formatted.
  • 150: Email TakenA person with that email address is already associated with this client.
  • 153: Invalid Access LevelSpecified access level does not exist. Please check the documentation for valid access level settings.
  • 174: Unsafe PasswordSupplied password is considered unsafe and easily hackable. Please choose another.
  • 175: Invalid PasswordIf password is supplied, it must be at least 6 characters.
  • 702: Person not foundNo person with that email address is associated with this client.
  • 701: Empty Person NamePerson name cannot be empty.

Getting people

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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 AddressEmail address is missing or incorrectly formatted.
  • 702: Person not foundNo person with that email address is associated with this client.

Deleting a Person

Deletehttps://api.createsend.com/api/v3.2/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 >
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 AddressEmail address is missing or incorrectly formatted.
  • 702: Person not foundNo person with that email address is associated with this client.
  • 703: Cannot delete last personThere must always be at least one person associated with the client.

Setting primary contact

Puthttps://api.createsend.com/api/v3.2/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 OKContent-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 AddressEmail address is missing or incorrectly formatted.
  • 702: Person not foundNo person with that email address is associated with this client.
  • 704: Person not activeThe specified person has not accepted their invitation yet.

Getting primary contact

Gethttps://api.createsend.com/api/v3.2/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 OKContent-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.