Our v3 API is now available! Learn more by visiting the v3 developer portal. Creating new v2 API keys is no longer supported.

Create a Toolkit Account

Use this endpoint to create (POST) a Constant Contact Toolkit account. Newly created accounts are free 60 day trial accounts that give the user the opportunity to try Constant Contact before buying. Trial accounts have limits depending on the services that are included. Learn more about trial account limitations here.

Please note that this endpoint uses basic authentication, and requires the partners username and password be included in each call.

Important All test accounts used in validating your account creation integration must use "@nullmailer.com" as the domain.

NOTE: This endpoint is available only to approved Constant Contact Technology Platform partners selling Toolkit accounts. Learn more here. It also uses basic authentication as documented on this page.

Methods:

Click a method to view its documentation

POST

DescriptionTOP

Create a Constant Contact Toolkit account using this endpoint. You must provide the following information when creating an account:

  • username
  • password (except if using Single Sign On)
  • organization name
  • first and last name of the account owner
  • email address
  • phone number for the account owner (displays in the CTCT Console under your account settings as personal information)
  • If country is US or CA, 2 letter state or province code (not required for non-US/CA countries)
  • two letter country code

NOTE: You must be set up for either single- or partner-billing in order to create Toolkit accounts.

Using single-billing?

In order to set up a new account for single-billing, you must set both managed_site_owner and single_billing to true in the request payload.

Using single sign on?

If you are using Single Sign On (SSO), do not provide a password when creating user accounts. Instead, supply the following parameter-value pairs in the POST request payload:

  • idp_provider - unique identified for the partner, provided by Constant Contact when approved for SSO
  • idp_provider_id - The unique identifier for the Toolkit account owner

Autogenerate OAuth 2.0 access token

You have the option of generating an OAuth 2.0 access token for each account during the account creation process. Generating an access token when you create each account eliminates the need for new users to go through the OAuth grant access flow when they first login to your Constant Contact integration.

Set the oauth2_token_provided query parameter to true to generate an OAuth 2.0 access token for the account during provisioning. The oauth2_token is returned in the response.

GDPR Settings

When creating accounts for users who have opted-out of any marketing communications, you can pass along that preference to us so that Constant Contact will not send any marketing communications to this account. Use the gdpr_opt_out property, set to true in the request payload.

DescriptionTOP

Make a POST API call to this endpoint to trigger a webhook to be sent to your previously configured callback URL.  Note that unlike many other POST calls, there is no payload required for this call.

Example data will be sent to your callback URL if it has been set up. The response for this test call will echo that from your callback URL. If a subscription hasn't been set up, you'll receive an error when calling this endpoint.

DescriptionTOP

Use this endpoint to subscribe to an Automated Notification Service topic. 

POST: https://api.constantcontact.com/v2/partner/accounts

name

type

default

description

api_key

query

REQUIRED; The API key for the application; key must have Partner level API access

oauth2_token_provided

query

false

Boolean, An OAuth 2.0 access token is generated for the user account if set to true, and returned in the response

Example JSON Request BodyTOP

{
    "username": "account_username",
    "organization_name": "My organization",
    "organization_phone": "222-123-4567",
    "first_name": "Robert",
    "last_name": "Jones",
    "email": "rjones@example.com",
    "phone": "555-555-5555",
    "state_code": "MA",
    "password": "password",
    "country_code": "US",
    "billing_locale":"en_US",
    "website": "http://your.company.website",
    "single_billing": true,
    "managed_site_owner": true,
    "partner_account_id":"partner1234",
    "gdpr_opt_out":true
 }

Response CodesTOP

code

description

201

Request was successful - the account was created

400

Bad Request: either JSON was malformed or there was a data validation error

401

Authentication failure

405

Unsupported method, only POST is supported

406

Unsupported accept header value, must be application/json

409

Username must be unique; username specified is already in use

415

Unsupported content-type in the header, use application/json

500

Internal server error occurred

Example ResponseTOP

{
   "id": "123562789", 
   "first_name":"Robert",
   "last_name":"Jones",
   "email_address":"rjones@example.com",
   "username":"account_username",
   "organization_name":"My organization",
   "organization_phone":"222-123-4567",
   "phone_number":"555-555-5555",
   "state_code":"MA",
   "country_code":"US",
   "billing_locale":"en_US",
   "website":"http://your.company.website",
   "single_billing": true,
   "managed_site_owner": true,
   "partner_account_id":"partner1234",
   "gdpr_opt_out":true
}