API Developer Support
Creating applications via developer portal
When will this be available again? We are trying to create a connection for our client. 11/06/202629Unable 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/202601Is 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/202604Salesforce 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/202601PHP 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/202601How 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/202601API 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/202601Update 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/202601Pagination 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/202606
Featured Updates:
Creating applications via developer portal has been restored
Creating applications temporarily unavailable via developer portal
V3 API Release Notes - April 2026
V3 API Release Notes - March 2026
V3 API Release Notes - February 2026
V3 API Release Notes - December 2025
V3 API Release Notes - September 2025
Resources
Developer Portal
View API documentation, code samples, get your API key.
Integration Hub
Improve your marketing by connecting with your favorite apps.
API Updates
A comprehensive record of all API modifications.