API Developer Support

If you are a developer or use our API, this is the place for you!

  • Creating applications via developer portal

    When will this be available again? We are trying to create a connection for our client.
    11/06/2026
    2
    9
  • Unable to Connect Constant Contact Account in Zapier

    I tried to authenticate the Constant Contact account in Zapier, but I am getting the following errors: * "Insufficient account status" `{"error_key":"access_denied","error_message":"Request forbidden due to account status"}` I am also getting the following error in Zapier: * "This account connection is expired. You'll need to reconnect the account before continuing." I tried reconnecting the account, but the issue still persists.
    09/06/2026
    0
    1
  • Is rendering HTML preview of a campaign a violation of TOS?

    There has been a strong desire by our users to display their email campaign content on their website. My first thought was that I could utilize the HTML preview via API and display that. However, I came across this post from a few years ago: https://community.constantcontact.com/ask-the-community/post/embedding-my-newsletter-9DaZkOIKAcfey4s Where it is stated "Embedding campaigns in a website is against our Terms and Conditions." I'm looking for clarity here -- would rendering HTML via API be the same as embedding in this context. Thank you
    27/05/2026
    0
    4
  • Salesforce Integration with APTO

    My salesforce integration instead of pulling the company name i am getting the salesforce id 0010b00002DXtQAAA1. Could it be because I use APTO for my salesforce?
    22/05/2026
    0
    1
  • PHP issue

    This happened literally last night. Our website now has on the header "Warning: Undefined array key 1 in /home1/ab16383/public_html/wp-content/plugins/constant-contact-forms/includes/class-api-utility.php on line 182" and will not allow us to navigate within our website. This has also created an issue with log in as it shows the above warning and other similar ones and will not let me log into my website's dashboard. Was the plug in recently updated and created a bug?
    14/05/2026
    0
    1
  • How do I poll activity status through the Partner Pass-Through API

    I am using the partner pass-through endpoint for all operations: POST https://api.cc.email/v3/partner/accounts/{encodedAccountId}/account_operations/sync This works successfully for: - GET /contact_lists - POST /activities/remove_list_memberships - POST /activities/contacts_json_import All three return a 200/201 with an activity_id in the response. The response from remove_list_memberships includes: { "activity_id": "trimmed", "state": "initialized", "_links": { "self": { "href": "/v3/activities/activity_id" } } } I need to poll the activity status before proceeding to the import step. I have tried the following and all return errors: 1. Pass-through with /v3/activities/{id} Body: { "account_operation_url": "/v3/activities/{activityId}", "account_operation_method": "GET", "account_operation_headers": [] } Result: 400 - invalid_account_operation_url 2. Pass-through with /activities/{id} Body: { "account_operation_url": "/activities/{activityId}", "account_operation_method": "GET", "account_operation_headers": [] } Result: 400 - invalid_account_operation_url 3. Direct call to https://api.cc.email/v3/activities/{activityId} Headers: Authorization Bearer {partnerJWT}, x-api-key Result: 401 Unauthorized Questions: 1. Is polling activity status supported through the partner pass-through endpoint? 2. If not, how do I obtain an account-level access token to make direct calls? 3. Is there a recommended pattern for waiting for activity completion when using the Partner API? Thank you
    11/05/2026
    0
    1
  • API Segment's Details not showing segment_criteria

    When I use the segments endpoint to retrieve the details on a specific segment the segment_criteria is not included. Even the API reference is not returning the segment_criteria field. Here is an example produced by the API reference... { "name": "628 - Al E. Orton - Masonic Home Journal List", "segment_id": 173, "created_at": "2025-08-21T17:53:06.661240Z" }
    15/04/2026
    0
    1
  • Update existing contacts with SMS numbers and consent via the API

    Ahoy there, I am hoping to add SMS numbers and consent details via the API. The following payload adds the SMS number to corresponding email and the "SMS status" appears as "No permission set". I am expecting the "SMS status" to be set to "Opt-in". What is supposed to happen here? How do I opt-in the contact to SMS messages via the API or import from a spreadsheet? Here is the URL BASE_URL = "https://api.cc.email/v3" response = requests.post(f"{BASE_URL}/activities/contacts_json_import", headers=HEADERS, json=payload) Here is the payload { "email": "<email_removed>", "tag_ids": [ "tag_removed" ], "sms_channel": { "sms_number": "<phone_number_removed", "sms_status": "explicit", "sms_permission_to_send": "explicit", "sms_consent_date": "2026-04-08" } }
    09/04/2026
    0
    1
  • Pagination Handling

    Ahoy there, I need pagination working correctly and looking around for a good example. I have 15 records that need to be retrieved. This is to verify pagination. Currently only retrieving the first three records. next_link is equal to None. How can I get pagination working? def get_event_attendees(event_id, track_id): """Fetches all attendees for a specific event ID.""" attendees = [] URL = f"{BASE_URL}/events/{event_id}/tracks/{track_id}/registrations" params = {"limit": 3} while URL: print(f"Fetching: {URL}") response = requests.get(URL, headers=HEADERS, params=params) if response.status_code == 200: data = response.json() # Add event_id to each attendee for easy merging later for attendee in data.get('records', []): attendee['event_id'] = event_id attendees.append(attendee) next_link = data.get('_links', {}).get('next', {}).get('href') print (f"{next_link=}") params = None # next links already include parameters if next_link: # IMPORTANT: Prepend the base URL to the relative path URL = f"https://api.cc.email{next_link}" else: URL = None # Stop the loop # Optional: rate limiting protection time.sleep(0.5) else: print(f"Error fetching attendees for event {event_id}: {response.status_code}") break return attendees
    07/04/2026
    0
    6

Featured Updates:

Creating applications via developer portal has been restored

Our maintenance has been completed. Users are now able to create new applications from the developer portal.

Creating applications temporarily unavailable via developer portal

Creating new applications is temporarily unavailable in the developer portal.

V3 API Release Notes - April 2026

New Endpoints: Get a Collection of Social Profiles Get a Collection of Social Network Connections Get a Collection of Hashtag Groups Create a Social Media Post The full release notes can be found in our V3 API documentation here: V3 API Release Notes - April 2026

V3 API Release Notes - March 2026

New Endpoints: Create a New Event Update an Event Copy an Existing Event Check In Event Tickets Undo Event Ticket Check-In Update Registration Status Update Registration Payment Status The full release notes can be found in our V3 API documentation here: V3 API Release Notes - March 2026

V3 API Release Notes - February 2026

New Endpoints: Unsubscribe Contacts Under Partner Client Accounts The full release notes can be found in our V3 API documentation here: V3 API Release Notes - February 2026

V3 API Release Notes - December 2025

New Endpoints: Get Details for a Collection of Events Get Details for a Specific Event Get Details for a Collection of Event Registrations Get a Details for a Specific Event Registration The full release notes can be found in our V3 API documentation here: V3 API Release Notes - December 2025

V3 API Release Notes - September 2025

Updates and Feature Enhancements: We’ve introduced significant improvements to Custom Fields, providing you with more control and flexibility when creating and managing custom data We’ve added new guides to help you get started quickly with creating contacts and email campaigns New Open Source SDKs are now available on GitHub to streamline your development process Technology Partners: please update your applications to use the new Partner Authorization Request URL The full release notes can be found in our V3 API documentation here: V3 API Release Notes - September 2025