The Constant Contact connector lets your AI agent act in each user's Constant Contact account. Each user signs in to Constant Contact once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 95 tools.
- Tools
- 95
- What they doRead · write · destructive
- 52 · 30 · 1352 read30 write13 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Constant Contact app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Constant Contact connection
In AgentKit > Connections, create a Constant Contact connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Constant Contact connections use your own OAuth app. Register one with Constant Contact and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Constant Contact connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'constantcontact'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Constant Contact:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'constantcontact_account_emails_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "constantcontact"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Constant Contact:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="constantcontact_account_emails_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolconstantcontact_account_emails_listList the account's email addresses and their confirmation status and roles.Read-onlyList Account Email Addresses
List the account's email addresses and their confirmation status and roles. Only one filter can be used at a time. Returns each email_address with confirm_status (CONFIRMED or UNCONFIRMED), confirm_time and roles. Use to pick a CONFIRMED from_email and reply_to_email before creating or updating an email campaign.
Inputs
confirm_statusstring- Return only addresses with this status (CONFIRMED or UNCONFIRMED).one of
CONFIRMEDUNCONFIRMED email_addressstring- Return only this email address.
role_codestring- Return only addresses with this role.one of
CONTACTBILLINGJOURNALINGREPLY_TOOTHER
constantcontact_account_physical_address_getGet the account's physical address, which is required to send email and appears in every email footer.Read-onlyGet Account Physical Address
Get the account's physical address, which is required to send email and appears in every email footer. Returns address lines, city, state code or name, postal code and country code. Use to check the footer address before sending campaigns.
Inputs
This tool takes no inputs.
constantcontact_account_summary_getGet the connected Constant Contact account's details.Read-onlyGet Account Summary
Get the connected Constant Contact account's details. Returns the encoded account ID, organization name, contact email and phone, website, time zone, country and state, and optionally the physical address and company logo. Use to identify the connected account or check its setup.
Inputs
extra_fieldsstring- Extra details to include, comma-separated: physical_address, company_logo.
constantcontact_activities_listList bulk activities (imports, exports, deletes, list and tag changes) in the account.Read-onlyList Activities
List bulk activities (imports, exports, deletes, list and tag changes) in the account. Returns each activity's activity_id, state, percent_done, created and updated dates, plus a _links.next cursor link. Use to monitor background jobs. Use Get Activity for one activity's details and errors.
Inputs
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of activities to return per page, from 1 to 500. Defaults to 50.default
50 statestring- Return only activities in this state.one of
processingcompletedcancelledfailedtimed_out
constantcontact_activity_getGet the status of one bulk activity.Read-onlyGet Activity
Get the status of one bulk activity. Returns state, percent_done, activity_errors, status counts and a results link (for exports, the file to download). Use after any bulk tool that returns an activity_id.
Inputs
activity_idstringrequired- The activity ID returned when the activity was created.
constantcontact_automation_getGet one automation workflow by its ID.Read-onlyGet Automation
Get one automation workflow by its ID. Returns the workflow's name, status, trigger and steps. Use when you have a workflow ID. Use List Automations to find it.
Inputs
automation_flow_idstringrequired- The automation workflow ID. Get it from List Automations.
constantcontact_automations_listList the account's automation workflows.Read-onlyList Automations
List the account's automation workflows. Returns each workflow's ID, name, status, channel and trigger details. Use to find automations. Use Get Automation for one workflow's steps.
Inputs
channelstring- Return only workflows for this channel, for example email.
created_fromstring- Return workflows created from scratch or from a template.one of
SCRATCHTEMPLATE goalsstring- Return workflows with this goal tag, for example post_purchase_followup or up_sell_and_cross_sell.
namestring- Return the workflow with this exact name.
sort_directionstring- Sort order, ASC or DESC (default DESC).one of
ASCDESC
constantcontact_campaign_performance_stats_getGet performance statistics for campaigns in a date range.Read-onlyGet Campaign Performance Stats
Get performance statistics for campaigns in a date range. Returns per-campaign performance stats such as sends, opens and clicks. Use for date-range reporting. Use Get Email Campaigns Summary Report for the latest campaigns.
Inputs
countinteger- Number of campaign stats to return.
end_atstring- End of the date range, ISO 8601.
filterstring- Which date to filter campaigns on: adjusted_timestamp (default) or start_at.one of
adjusted_timestampstart_at start_atstring- Start of the date range, ISO 8601.
constantcontact_contact_activity_details_getGet one contact's tracking activity (sends, opens, clicks, bounces and more), newest first.Read-onlyGet Contact Activity Details
Get one contact's tracking activity (sends, opens, clicks, bounces and more), newest first. Returns each activity with its type, campaign_activity_id, optional campaign name and date-time, plus a _links.next cursor link. Use to see how a contact engaged. Use Get Contact Activity Summary for per-campaign totals.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
tracking_activities_liststringrequired- Activity types to include, comma-separated: em_sends, em_opens, em_clicks, em_bounces, em_optouts, em_forwards, and other types listed in the Constant Contact reference (for example p_contact_open for landing pages).
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
include_campaign_activity_namesboolean- Return campaign activity names (default true). Set to false for faster responses.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 100. Defaults to 100.default
100
constantcontact_contact_activity_summary_getGet the most recent emails (up to 200) sent to a contact in a date range, with the actions the contact took on each.Read-onlyGet Contact Activity Summary
Get the most recent emails (up to 200) sent to a contact in a date range, with the actions the contact took on each. Returns per-campaign activity counts such as opens and clicks, plus a _links.next cursor link. Use for a per-email engagement summary. Use Get Contact Activity Details for each event.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
endstringrequired- End date, ISO 8601 (for example 2024-12-01T00:00:00-0500).
startstringrequired- Start date, ISO 8601 (for example 2024-01-01T00:00:00-0500).
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
constantcontact_contact_counts_getGet the account's total contact count and the count for each email consent state.Read-onlyGet Contact Consent Counts
Get the account's total contact count and the count for each email consent state. Returns totals such as explicit, implicit, pending_confirmation and unsubscribed contacts. Use for list-health overviews. Use List Contacts with include_count for a filtered count.
Inputs
includestring- Set to new_subscriber to also return the number of contacts that subscribed in the last 30 days.one of
new_subscriber
constantcontact_contact_getGet one contact by its contact_id.Read-onlyGet Contact
Get one contact by its contact_id. Returns the contact's email address and permission, names, create and update details, and any requested sub-resources. Use when you have a contact_id. Use List Contacts to look a contact up by email.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
includestring- Contact sub-resources to include in the response, as a comma-separated list. Valid values: custom_fields, list_memberships, phone_numbers, street_addresses, taggings, notes. Example: custom_fields,list_memberships.
constantcontact_contact_list_getGet one contact list by its list_id.Read-onlyGet Contact List
Get one contact list by its list_id. Returns the list's name, description, favorite flag, created and updated dates, and an optional membership count. Use when you have a list_id. Use List Contact Lists to find lists by name.
Inputs
list_idstringrequired- The unique ID (UUID) of the contact list. Get it from List Contact Lists.
include_membership_countstring- Include the list's contact count: active counts only active (mailable) contacts, all counts every contact.one of
allactive
constantcontact_contact_lists_listList the account's contact lists, optionally filtered by name, status or channel.Read-onlyList Contact Lists
List the account's contact lists, optionally filtered by name, status or channel. Returns each list's list_id, name, description, favorite flag and optional membership counts, plus a _links.next cursor link. Use to find list IDs. Use Get Contact List for one list's details.
Inputs
channel_typestring- Return email lists or SMS lists. Defaults to email.one of
emailsms cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
include_countboolean- Set to true to include lists_count, the total number of lists that match.
include_membership_countstring- Include each list's contact count: active counts only active (mailable) contacts, all counts every contact.one of
allactive include_sms_membership_countboolean- Set to true to include the number of SMS members per list. Only applies when channel_type is sms.
limitinteger- Maximum number of lists to return per page, from 1 to 1000. Defaults to 50.default
50 namestring- Return only the list with this exact name.
statusstring- Filter by list status: all, active or deleted (comma-separated for several).
constantcontact_contact_open_click_rates_getGet a contact's average open and click rates for bulk emails in a date range (up to 5 years).Read-onlyGet Contact Open and Click Rates
Get a contact's average open and click rates for bulk emails in a date range (up to 5 years). Returns the average open rate, click rate and the number of campaign activities included (0 if none). Use to score a contact's engagement.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
endstringrequired- End date, ISO 8601 (for example 2024-12-01T00:00:00-0500).
startstringrequired- Start date, ISO 8601 (for example 2024-01-01T00:00:00-0500).
constantcontact_contact_sms_engagement_history_getGet a contact's SMS engagement history.Read-onlyGet Contact SMS Engagement History
Get a contact's SMS engagement history. Returns SMS consent actions and advertising frequency details for the contact. Use to audit SMS consent. Use Get Contact for the contact's current SMS channel.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
constantcontact_contacts_export_file_getDownload the CSV file produced by a completed Export Contacts activity.Read-onlyDownload Exported Contacts File
Download the CSV file produced by a completed Export Contacts activity. Returns the CSV text: a header row of contact fields followed by one row per contact. Use after Get Activity shows the export is completed; take the file ID from the activity's results link.
Inputs
file_export_idstringrequired- The exported file ID from the results link of the completed export activity (usually the activity_id).
constantcontact_contacts_listList contacts in the Constant Contact account, filtered by status, email, list, tag, segment or date range.Read-onlyList Contacts
List contacts in the Constant Contact account, filtered by status, email, list, tag, segment or date range. Returns contacts with contact_id, email_address, names and any requested sub-resources, plus a _links.next cursor link. Use to find or browse contacts. Use Get Contact when you already have a contact_id.
Inputs
created_afterstring- Return contacts created after this ISO-8601 date-time.
created_beforestring- Return contacts created before this ISO-8601 date-time.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
emailstring- Return only the contact with this exact email address.
includestring- Contact sub-resources to include in the response, as a comma-separated list. Valid values: custom_fields, list_memberships, phone_numbers, street_addresses, taggings, notes. Example: custom_fields,list_memberships.
include_countboolean- Set to true to include contacts_count, the total number of contacts that match the filters.
limitinteger- Maximum number of contacts to return per page, from 1 to 500. Defaults to 50.default
50 listsstring- Return contacts that are members of these lists: comma-separated list IDs, up to 25.
optout_afterstring- Return contacts that unsubscribed after this ISO-8601 date-time.
optout_beforestring- Return contacts that unsubscribed before this ISO-8601 date-time.
segment_idstring- Return contacts that match this segment's criteria. Can only be combined with limit.
sms_statusstring- Filter by SMS status as a comma-separated list. Valid values: all, explicit, unsubscribed, pending_confirmation, not_set.
statusstring- Filter by contact status as a comma-separated list. Valid values: all, active, deleted, not_set, pending_confirmation, temp_hold, unsubscribed. Defaults to all contacts that are not deleted.
tagsstring- Return contacts that have these tags: comma-separated tag IDs, up to 50.
updated_afterstring- Return contacts updated after this ISO-8601 date-time.
updated_beforestring- Return contacts updated before this ISO-8601 date-time.
constantcontact_custom_field_getGet one contact custom field by its custom_field_id.Read-onlyGet Custom Field
Get one contact custom field by its custom_field_id. Returns the field's label, name, type, metadata and choices. Use when you have a custom_field_id. Use List Custom Fields to browse.
Inputs
custom_field_idstringrequired- The unique ID (UUID) of the custom field. Get it from List Custom Fields.
constantcontact_custom_fields_listList the contact custom fields defined in the account.Read-onlyList Custom Fields
List the contact custom fields defined in the account. Returns each field's custom_field_id, label, name, type and choices, plus a _links.next cursor link. Use to find custom_field_id values before setting custom field values on contacts.
Inputs
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of custom fields to return per page, from 1 to 100. Defaults to 50.default
50
constantcontact_email_ab_test_getGet the subject-line A/B test of a primary email campaign activity.Read-onlyGet Email A/B Test
Get the subject-line A/B test of a primary email campaign activity. Returns the alternative subject, test size percentage and winner wait duration. Use to review an A/B test before sending.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_bounces_reportGet the email bounces report for one email campaign activity, most recent first.Read-onlyGet Email Bounces Report
Get the email bounces report for one email campaign activity, most recent first. Returns each bounce, with contact, bounce code and date-time, plus a _links.next cursor link. Use to clean undeliverable addresses. Filter by bounce_code.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
bounce_codearray- Return only these bounce codes, sent as repeated parameters: B (non-existent address), D (undeliverable), F (full mailbox), S (suspended), V (vacation or autoreply), X (other), Z (blocked).
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_campaign_activity_getGet one email campaign activity: the email's content, sender details and recipients.Read-onlyGet Email Campaign Activity
Get one email campaign activity: the email's content, sender details and recipients. Returns from/reply-to, subject, preheader, contact_list_ids or segment_ids, current_status and any requested extra properties. Use before Update Email Campaign Activity, which overwrites properties you leave out.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
includestring- Extra properties to return, comma-separated: physical_address_in_footer, permalink_url, html_content, document_properties.
constantcontact_email_campaign_activity_preview_getGet the rendered HTML preview of an email campaign activity, using the account owner's details for variables.Read-onlyGet Email Preview
Get the rendered HTML preview of an email campaign activity, using the account owner's details for variables. Returns the preview HTML and subject as JSON strings. Use to review an email without sending. Use Send Test Email to see it in an inbox.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_campaign_activity_schedule_getGet the send schedule of an email campaign activity.Read-onlyGet Email Campaign Activity Schedule
Get the send schedule of an email campaign activity. Returns an array with the scheduled_date, or an empty array if the activity is not scheduled. Use to check when a campaign will send. Use Get Email Send History for past sends.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_campaign_activity_send_history_getGet each past send of an email campaign activity, oldest first.Read-onlyGet Email Send History
Get each past send of an email campaign activity, oldest first. Returns send date, contact count, lists or segments used, completion state and any error reason per send. Use to confirm a campaign went out. Use Get Email Campaign Activity Schedule for future sends.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_campaign_activity_stats_getGet performance statistics for up to 10 email campaign activities.Read-onlyGet Email Campaign Activity Stats
Get performance statistics for up to 10 email campaign activities. Returns, per campaign_activity_id, the campaign_id, total counts (stats) and last refresh time; missing or stat-less IDs appear under errors. Use for activity-level numbers, for example a resend. Use Get Email Campaign Stats for whole campaigns.
Inputs
campaign_activity_idsstringrequired- Comma-separated campaign activity IDs (UUIDs), up to 10.
constantcontact_email_campaign_getGet one email campaign by its campaign_id.Read-onlyGet Email Campaign
Get one email campaign by its campaign_id. Returns the campaign name, current_status, dates and its campaign_activities (each with campaign_activity_id and role). Use to get the primary_email campaign_activity_id needed to edit, schedule, test or report on a campaign.
Inputs
campaign_idstringrequired- The unique ID (UUID) of the email campaign. Get it from List Email Campaigns.
constantcontact_email_campaign_stats_getGet performance statistics for one or more email campaigns.Read-onlyGet Email Campaign Stats
Get performance statistics for one or more email campaigns. Returns, per campaign_id, total counts (stats), rates (percents) and the last refresh time. One invalid ID fails the whole request with 404. Use for specific campaigns. Use Get Email Campaign Activity Stats for activity-level stats.
Inputs
campaign_idsstringrequired- Comma-separated campaign IDs (UUIDs), up to 150.
constantcontact_email_campaign_summaries_reportGet aggregate statistics for up to 500 sent email campaigns, most recently sent first.Read-onlyGet Email Campaigns Summary Report
Get aggregate statistics for up to 500 sent email campaigns, most recently sent first. Returns per-campaign unique counts (sends, opens, clicks, bounces, opt-outs, forwards) and aggregate percents, plus a _links.next cursor link. Use for an overview of campaign performance. Use Get Email Campaign Stats for specific campaigns.
Inputs
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of campaign summaries to return per page, from 1 to 500. Defaults to 50.default
50
constantcontact_email_campaigns_listList email campaigns in the account, including deleted ones, optionally by last-updated date range.Read-onlyList Email Campaigns
List email campaigns in the account, including deleted ones, optionally by last-updated date range. Returns each campaign's campaign_id, name, current_status, type and dates, plus a _links.next cursor link (no activity details). Use to find campaigns. Use Get Email Campaign for a campaign's activities.
Inputs
after_datestring- Return campaigns last updated after this ISO-8601 date-time.
before_datestring- Return campaigns last updated before this ISO-8601 date-time.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of campaigns to return per page, from 1 to 500. Defaults to 50.default
50
constantcontact_email_clicks_reportGet the email clicks report for one email campaign activity, most recent first.Read-onlyGet Email Clicks Report
Get the email clicks report for one email campaign activity, most recent first. Returns every link click, with contact, click date-time, device type and url_id, plus a _links.next cursor link. Use for click detail. Use Get Email Links Report for per-link totals.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500 url_idinteger- Return clicks for one link only. Get url_id values from Get Email Links Report.
constantcontact_email_didnotopens_reportGet the email did not opens report for one email campaign activity, most recent first.Read-onlyGet Email Did Not Opens Report
Get the email did not opens report for one email campaign activity, most recent first. Returns each contact who was sent the email campaign activity but did not open it, with the send date-time, plus a _links.next cursor link. Use to find non-openers, for example before a resend.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_forwards_reportGet the email forwards report for one email campaign activity, most recent first.Read-onlyGet Email Forwards Report
Get the email forwards report for one email campaign activity, most recent first. Returns each time a contact forwarded the email using the footer forward link, with contact and date-time, plus a _links.next cursor link. Use to see forward activity.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_links_reportGet per-link click totals for an email campaign activity.Read-onlyGet Email Links Report
Get per-link click totals for an email campaign activity. Returns each link's url_id, URL, link type and number of unique contacts who clicked it. Use to compare links. Use Get Email Clicks Report for individual clicks.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
no_clicksboolean- Set to true to include links that nobody clicked.
constantcontact_email_opens_reportGet the email opens report for one email campaign activity, most recent first.Read-onlyGet Email Opens Report
Get the email opens report for one email campaign activity, most recent first. Returns every open of the email campaign activity, with contact, open date-time and device type, plus a _links.next cursor link. Use for all opens including repeats. Use Get Email Unique Opens Report for the last open per contact.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_optouts_reportGet the email opt-outs report for one email campaign activity, most recent first.Read-onlyGet Email Opt-outs Report
Get the email opt-outs report for one email campaign activity, most recent first. Returns each contact who unsubscribed through the email's unsubscribe link, with opt-out date-time, plus a _links.next cursor link. Use to see unsubscribes caused by a send.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_resend_to_non_openers_getGet the resend-to-non-openers setup for a primary email campaign activity.Read-onlyGet Resend to Non-openers
Get the resend-to-non-openers setup for a primary email campaign activity. Returns the resend_request_id, resend subject and delay, or an empty list if none exists. Use before creating or deleting a resend; a campaign can have only one.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_sends_reportGet the email sends report for one email campaign activity, most recent first.Read-onlyGet Email Sends Report
Get the email sends report for one email campaign activity, most recent first. Returns each contact the email campaign activity was sent to, with send date-time, name and contact_id, plus a _links.next cursor link. Use to see who received an email.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_email_unique_opens_reportGet the email unique opens report for one email campaign activity, most recent first.Read-onlyGet Email Unique Opens Report
Get the email unique opens report for one email campaign activity, most recent first. Returns the most recent open per contact, with contact, open date-time and device type, plus a _links.next cursor link. Use to count who opened. Use Get Email Opens Report for every open.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity (primary_email or resend role). Get it from Get Email Campaign.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of tracking activities to return per page, from 1 to 500. Defaults to 500.default
500
constantcontact_event_getGet one event's details.Read-onlyGet Event
Get one event's details. Returns the event's name, title, description, status, times, time zone, location, contact, tracks and optional settings. Use when you have an event_id, for example to find a track_id for registrations.
Inputs
event_idstringrequired- The unique ID (UUID) of the event. Get it from List Events.
includeboolean- Set to true to include the event setting properties.
constantcontact_event_registration_getGet one event registration's details.Read-onlyGet Event Registration
Get one event registration's details. Returns the registrant's details, tickets, items, payment and registration status. Use when you have a registration ID from List Event Registrations.
Inputs
event_idstringrequired- The unique ID (UUID) of the event. Get it from List Events.
registration_idstringrequired- The registration ID. Get it from List Event Registrations.
track_idstringrequired- The event track key (for example s8zabc). Get it from the event's tracks in Get Event.
constantcontact_event_registrations_listList the registrations for an event track, with optional filters and sorting.Read-onlyList Event Registrations
List the registrations for an event track, with optional filters and sorting. Returns each registration's ID, registrant name and email, registration and payment status, tickets and total, plus next and prev cursors. Use to see who registered. Use Get Event Registration for one registration's details.
Inputs
event_idstringrequired- The unique ID (UUID) of the event. Get it from List Events.
track_idstringrequired- The event track key (for example s8zabc). Get it from the event's tracks in Get Event.
limitinteger- Number of registrations per page.
nextstring- Cursor for the next page, from next_cursor in the previous response.
payment_statusstring- Return only registrations with this payment status.one of
PENDINGPAIDREFUNDEDCANCELLEDFAILEDCHARGED_BACK prevstring- Cursor for the previous page, from prev_cursor in the previous response.
registration_statusstring- Return only registrations with this status.one of
PENDINGREGISTEREDCANCELEDEXPIREDIN_PROGRESSFAILED search_textstring- Match registrations by first name, last name or email.
sort_bystring- Field to sort by.one of
first_namelast_nameemail_addressregistration_statuspayment_statusticketstotal sort_orderstring- Sort direction.one of
ASCDESC
constantcontact_events_listList the account's events, optionally filtered by status or text.Read-onlyList Events
List the account's events, optionally filtered by status or text. Returns each event's event_id, name, title, status, start and end times, plus next_cursor and prev_cursor values. Use to find events. Use Get Event for one event's full details.
Inputs
event_statusstring- Return only events with this status.one of
ACTIVEDRAFTCOMPLETEDELETEDCANCELLEDERROR limitinteger- Number of events per page. Default and maximum is 100.
nextstring- Cursor for the next page: the next_cursor value from the previous response.
prevstring- Cursor for the previous page: the prev_cursor value from the previous response.
search_textstring- Return only events that contain this text.
sort_bystring- Sort events by this property.one of
namestart_timeend_timecreated_timeupdated_time sort_orderstring- Sort direction for sort_by (default ASC).one of
ASCDESC
constantcontact_segment_getGet one segment by its segment_id, including deleted segments.Read-onlyGet Segment
Get one segment by its segment_id, including deleted segments. Returns the segment name, segment_criteria (escaped JSON string) and dates. Use to read a segment's criteria before editing it with Update Segment.
Inputs
segment_idintegerrequired- The numeric ID of the segment. Get it from List Segments.
constantcontact_segments_listList the account's segments (deleted segments are left out).Read-onlyList Segments
List the account's segments (deleted segments are left out). Returns each segment's segment_id, name and created and updated dates, plus a _links.next cursor link. Use to find segment IDs. Use Get Segment for the segment criteria.
Inputs
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
limitinteger- Maximum number of segments to return per page, from 1 to 1000. Defaults to 1000.default
1000 sort_bystring- Sort by name (ascending) or date (most recently updated first). Defaults to date.one of
namedate
constantcontact_sms_campaign_summaries_reportGet summary statistics for SMS campaigns sent on or after a date, most recently sent first.Read-onlyGet SMS Campaigns Summary Report
Get summary statistics for SMS campaigns sent on or after a date, most recently sent first. Returns per-campaign unique interaction counts and aggregate stats, plus a _links.next cursor link. Use for SMS reporting. Use Get Email Campaigns Summary Report for email.
Inputs
start_atstringrequired- Return SMS campaigns sent on or after this date, ISO 8601.
cursorstring- Pagination cursor for the next page. Copy the value of the `cursor` query parameter from `_links.next.href` in the previous response (for example `/v3/contacts?cursor=bGltaXQ9NSZuZXh0PTI=` gives `bGltaXQ9NSZuZXh0PTI=`). Leave empty to get the first page.
end_atstring- Return SMS campaigns sent on or before this date, ISO 8601.
limitinteger- Maximum number of SMS campaign summaries to return per page, from 1 to 50. Defaults to 50.default
50
constantcontact_tag_getGet one tag by its tag_id.Read-onlyGet Tag
Get one tag by its tag_id. Returns the tag's name, tag_source, created and updated dates, and an optional contacts_count. Use when you have a tag_id. Use List Tags to browse tags.
Inputs
tag_idstringrequired- The unique ID (UUID) of the tag. Get it from List Tags.
include_countboolean- Set to true to include contacts_count, the number of tagged contacts.
constantcontact_user_privileges_getGet the privileges of the user who authorized the connection.Read-onlyGet User Privileges
Get the privileges of the user who authorized the connection. Returns an array of privilege names, including ones the API does not use. Use to diagnose 403 errors caused by the user's role.
Inputs
This tool takes no inputs.
constantcontact_account_email_createAdd an email address to the account.WriteAdd Account Email Address
Add an email address to the account. Constant Contact emails it a confirmation link; it stays UNCONFIRMED until clicked. Returns the new address with its confirm_status. Use to add a sender address for campaigns. Returns 409 if the address already exists.
Inputs
email_addressstringrequired- The email address to add (max 80 characters).
constantcontact_contact_createCreate a new contact.WriteCreate Contact
Create a new contact. Needs create_source plus at least one of email_address, first_name, last_name or sms_channel. Returns the created contact with its contact_id. Use for a contact that does not exist yet (fails with 409 if the email exists). Use Create or Update Contact to upsert by email.
Inputs
create_sourcestringrequired- Who is adding the contact: Account (the account user added them) or Contact (the contact signed up). Must be accurate for compliance; it cannot be changed later.one of
AccountContact anniversarystring- Anniversary date, for example the date the contact became a customer. Accepted formats include YYYY-MM-DD and MM/DD/YYYY (max 10 characters).
birthday_dayinteger- Birthday day of month, 1 to 31. Must be sent together with birthday_month.
birthday_monthinteger- Birthday month, 1 to 12. Must be sent together with birthday_day.
company_namestring- The company the contact works for (max 50 characters).
custom_fieldsarray- Custom field values, up to 25. Each item names a custom field by its custom_field_id and gives its value (or choice_ids for select fields). Example: [{"custom_field_id": "1b4fa3a6-3fdd-11e9-87e4-fa163e56c9b0", "value": "Gold"}].
email_addressstring- The contact's email address (max 80 characters). Must be unique in the account. Only send it when the contact gave explicit permission to receive email.
first_namestring- The contact's first name (max 50 characters).
job_titlestring- The contact's job title (max 50 characters).
last_namestring- The contact's last name (max 50 characters).
list_membershipsarray- Contact list IDs to subscribe the contact to, up to 50. Get list IDs from List Contact Lists.
notesarray- Notes about the contact. Each item has content (max 2000 characters). Example: [{"content": "Met at the spring trade show."}].
permission_to_sendstring- Permission the account has to email this contact. Sent with email_address. Valid values: explicit, implicit, not_set, pending_confirmation, temp_hold, unsubscribed.one of
explicitimplicitnot_setpending_confirmationtemp_holdunsubscribed phone_numbersarray- Phone numbers, up to 3. Each item has a phone_number (max 25 characters) and a kind: home, work, mobile or other. Example: [{"phone_number": "+1-555-555-0100", "kind": "work"}].
sms_channelobject- The contact's SMS channel, only when the contact gave explicit SMS consent. Holds full_sms_address (the number including dial code) and sms_channel_consents (an array of consent objects). See the Constant Contact contacts API reference for the consent shape.
street_addressesarray- Street addresses, up to 3. Each item needs a kind (home, work or other) and can have street, city, state, postal_code and country. Example: [{"kind": "home", "street": "123 Main St", "city": "Boston", "state": "MA", "postal_code": "02108", "country": "United States"}].
taggingsarray- Tag IDs to assign to the contact, up to 50. Get tag IDs from List Tags.
constantcontact_contact_list_createCreate a new contact list.WriteCreate Contact List
Create a new contact list. Returns the new list with its list_id. Use before adding contacts to a new audience. List names must be unique (409 if taken).
Inputs
namestringrequired- A unique name for the list (max 255 characters).
descriptionstring- Text describing the list.
favoriteboolean- Set to true to mark the list as a favorite in the account.
constantcontact_contact_list_updateUpdate a contact list's name, description or favorite flag.WriteUpdate Contact List
Update a contact list's name, description or favorite flag. Returns the updated list. Use to rename or describe a list. Use Add Contacts to Lists to change its members.
- Idempotent
Inputs
list_idstringrequired- The unique ID (UUID) of the contact list. Get it from List Contact Lists.
namestringrequired- The list name (max 255 characters). Required by the API even if unchanged.
descriptionstring- Text describing the list.
favoriteboolean- Set to true to mark the list as a favorite.
constantcontact_contact_resubscribeSend an unsubscribed contact a confirmation email asking them to resubscribe, and add them to the given lists once they confirm.WriteResubscribe Contact
Send an unsubscribed contact a confirmation email asking them to resubscribe, and add them to the given lists once they confirm. Returns the request status. The contact stays unsubscribed until they click the confirmation link. Use only once per contact; Constant Contact allows a single resubscribe email per unsubscribed contact.
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
list_idsarrayrequired- Contact list IDs to add the contact to after they confirm.
constantcontact_contact_updateReplace an existing contact's properties.WriteUpdate Contact
Replace an existing contact's properties. Properties you leave out are cleared; sub-resources you leave out (lists, tags, custom fields, phones, addresses, notes) are kept. Returns the updated contact. Updating a deleted contact revives it. Use to edit a known contact by contact_id. Use Create or Update Contact for a partial update by email.
- Idempotent
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
update_sourcestringrequired- Who is updating the contact: Account or Contact. Use Account to revive a deleted contact.one of
AccountContact anniversarystring- Anniversary date, for example the date the contact became a customer. Accepted formats include YYYY-MM-DD and MM/DD/YYYY (max 10 characters).
birthday_dayinteger- Birthday day of month, 1 to 31. Must be sent together with birthday_month.
birthday_monthinteger- Birthday month, 1 to 12. Must be sent together with birthday_day.
company_namestring- The company the contact works for (max 50 characters).
custom_fieldsarray- Custom field values, up to 25. Each item names a custom field by its custom_field_id and gives its value (or choice_ids for select fields). Example: [{"custom_field_id": "1b4fa3a6-3fdd-11e9-87e4-fa163e56c9b0", "value": "Gold"}].
email_addressstring- The contact's email address (max 80 characters). Must be unique in the account. Only send it when the contact gave explicit permission to receive email.
first_namestring- The contact's first name (max 50 characters).
job_titlestring- The contact's job title (max 50 characters).
last_namestring- The contact's last name (max 50 characters).
list_membershipsarray- Contact list IDs to subscribe the contact to, up to 50. Get list IDs from List Contact Lists.
notesarray- Notes about the contact. Each item has content (max 2000 characters). Example: [{"content": "Met at the spring trade show."}].
permission_to_sendstring- Permission the account has to email this contact. Sent with email_address. Valid values: explicit, implicit, not_set, pending_confirmation, temp_hold, unsubscribed.one of
explicitimplicitnot_setpending_confirmationtemp_holdunsubscribed phone_numbersarray- Phone numbers, up to 3. Each item has a phone_number (max 25 characters) and a kind: home, work, mobile or other. Example: [{"phone_number": "+1-555-555-0100", "kind": "work"}].
sms_channelobject- The contact's SMS channel, only when the contact gave explicit SMS consent. Holds full_sms_address (the number including dial code) and sms_channel_consents (an array of consent objects). See the Constant Contact contacts API reference for the consent shape.
street_addressesarray- Street addresses, up to 3. Each item needs a kind (home, work or other) and can have street, city, state, postal_code and country. Example: [{"kind": "home", "street": "123 Main St", "city": "Boston", "state": "MA", "postal_code": "02108", "country": "United States"}].
taggingsarray- Tag IDs to assign to the contact, up to 50. Get tag IDs from List Tags.
constantcontact_contact_upsertCreate a contact, or update it if the email address (or SMS number) already exists.WriteCreate or Update Contact
Create a contact, or update it if the email address (or SMS number) already exists. Updates are partial and append lists and custom fields. Returns the contact_id and whether the contact was created or updated. Use when you don't know if the contact exists. Use Create Contact or Update Contact for full control of sub-resources.
Inputs
list_membershipsarrayrequired- Contact list IDs to add the contact to: at least 1 and up to 50. Get list IDs from List Contact Lists.
anniversarystring- Anniversary date. Accepted formats include YYYY-MM-DD and MM/DD/YYYY.
birthday_dayinteger- Birthday day of month, 1 to 31. Must be sent together with birthday_month.
birthday_monthinteger- Birthday month, 1 to 12. Must be sent together with birthday_day.
company_namestring- The company the contact works for (max 50 characters).
custom_fieldsarray- Custom field values, up to 50. Each item has a custom_field_id and a value. Example: [{"custom_field_id": "1b4fa3a6-3fdd-11e9-87e4-fa163e56c9b0", "value": "Gold"}].
email_addressstring- The contact's email address (max 50 characters). Identifies the contact: an existing address is updated, a new one creates a contact. Required unless sms_channel is given.
first_namestring- The contact's first name (max 50 characters).
job_titlestring- The contact's job title (max 50 characters).
last_namestring- The contact's last name (max 50 characters).
phone_numberstring- The contact's phone number (max 25 characters).
sms_channelobject- The contact's SMS details, only with explicit SMS consent. Holds sms_address (number without country code), dial_code, country_code and sms_channel_consents (array of consent objects).
street_addressobject- One street address. Needs a kind (home, work or other) and can have street, city, state, postal_code and country. Example: {"kind": "home", "street": "123 Main St", "city": "Boston", "state": "MA", "postal_code": "02108", "country": "United States"}.
constantcontact_contacts_add_to_listsStart a background activity that adds contacts to one or more lists.WriteAdd Contacts to Lists
Start a background activity that adds contacts to one or more lists. Pick the contacts with exactly one source option. Returns the activity_id and status; check progress with Get Activity. Use to grow lists in bulk. Use Update Contact to change one contact's lists.
Inputs
list_idsarrayrequired- Target contact list IDs to add the contacts to, up to 50.
exclude_contact_idsarray- Contact IDs to leave out. Only applies when the source is source_all_active_contacts or source_list_ids.
source_all_active_contactsboolean- Source option: set to true to act on all active (billable) contacts. Use exactly one source option.
source_contact_idsarray- Source option: contact IDs to act on, up to 500. Use exactly one source option.
source_engagement_levelstring- Source option: act on all contacts at this engagement level (as shown in the Constant Contact UI). Use exactly one source option.
source_list_idsarray- Source option: act on every member of these contact lists, up to 50 list IDs. Use exactly one source option.
source_segment_idinteger- Source option: act on every contact that matches this segment. Use exactly one source option.
source_tag_idsarray- Source option: act on every contact that has any of these tag IDs. Use exactly one source option.
constantcontact_contacts_exportStart a background export of contacts to a CSV file.WriteExport Contacts
Start a background export of contacts to a CSV file. With no filters it exports every contact. Returns the activity_id; when it completes, its results link holds the file ID for Download Exported Contacts File. Use to pull many contacts at once. Use List Contacts for paged JSON results.
Inputs
contact_idsarray- Export only these contacts, up to 500. Can be combined only with status.
exclude_contact_idsarray- Contact IDs to leave out (up to 50). Applies with list_ids or new_subscriber.
fieldsarray- Contact fields to export (all fields by default), for example email_address, first_name, last_name, list_memberships.
list_idsarray- Export the members of these lists, up to 50. Can be combined only with status or exclude.
new_subscriberboolean- Set to true to export only contacts that subscribed in the last 30 days.
segment_idinteger- Export the contacts in this segment. Cannot be combined with other filters.
statusstring- Export only contacts with this status, for example active or unsubscribed. Can be combined with contact_ids or list_ids.
tag_idsarray- Export contacts that have any of these tags. Cannot be combined with other filters.
constantcontact_contacts_import_jsonStart a background import that creates or updates contacts from a JSON array and adds them to lists.WriteImport Contacts
Start a background import that creates or updates contacts from a JSON array and adds them to lists. Returns the activity_id and state; check progress with Get Activity. Use for many contacts at once. Use Create or Update Contact for a single contact.
Inputs
import_dataarrayrequired- The contacts to import. Each contact needs email (or sms_number) and can have first_name, last_name, job_title, company_name, phone, birthday_month, birthday_day, anniversary and address fields such as street, city, state, zip and country (or home_/work_/other_ prefixed versions). Set custom field values with keys named cf: plus the custom field name. Example: [{"email": "jane.doe@example.com", "first_name": "Jane", "cf:membership_level": "Gold"}].
list_idsarrayrequired- Contact list IDs to add every imported contact to, up to 50.
sms_permission_to_sendstring- For contacts with sms_number: explicit if they all gave SMS consent (then each needs sms_consent_date), otherwise not_set.one of
explicitnot_set
constantcontact_contacts_remove_from_listsStart a background activity that removes contacts from one or more lists.WriteRemove Contacts from Lists
Start a background activity that removes contacts from one or more lists. Pick the contacts with exactly one source option. Returns the activity_id and status; check progress with Get Activity. Use to clean up list membership in bulk. The contacts are not deleted.
Inputs
list_idsarrayrequired- Target contact list IDs to remove the contacts from, up to 50.
exclude_contact_idsarray- Contact IDs to leave out. Only applies when the source is source_all_active_contacts or source_list_ids.
source_all_active_contactsboolean- Source option: set to true to act on all active (billable) contacts. Use exactly one source option.
source_contact_idsarray- Source option: contact IDs to act on, up to 500. Use exactly one source option.
source_engagement_levelstring- Source option: act on all contacts at this engagement level (as shown in the Constant Contact UI). Use exactly one source option.
source_list_idsarray- Source option: act on every member of these contact lists, up to 50 list IDs. Use exactly one source option.
source_tag_idsarray- Source option: act on every contact that has any of these tag IDs. Use exactly one source option.
constantcontact_custom_field_createCreate a contact custom field.WriteCreate Custom Field
Create a contact custom field. An account can have up to 100 custom fields. Returns the new field with its custom_field_id. Use to store extra contact data such as membership level. Labels must be unique (409 if taken).
Inputs
labelstringrequired- The field name shown in the UI (max 50 characters).
typestringrequired- The type of data the field stores (max 20 characters), for example string, date, number, currency, single_select or multi_select.
choicesarray- Choices for single_select and multi_select fields (up to 20 for checkbox and radio, 100 for dropdown). Each choice has a choice_label and optional display_order. Example: [{"choice_label": "Gold", "display_order": 1}].
metadataobject- Extra settings for some types: display_type (radio, checkbox or dropdown) for select fields; allow_negative, decimal_places and integer for number and currency fields; currency_code for currency; display_format for date fields. Example: {"display_type": "dropdown"}.
versioninteger- For date fields: 2 stores real dates (supports comparisons), 1 is the legacy string date.
constantcontact_custom_field_updateUpdate a custom field's label or its select choices.WriteUpdate Custom Field
Update a custom field's label or its select choices. Returns the updated custom field. Use to rename a field or edit its choices. The field's type cannot be changed.
- Idempotent
Inputs
custom_field_idstringrequired- The unique ID (UUID) of the custom field. Get it from List Custom Fields.
choicesarray- The full set of choices for select fields. Keep existing choices by including their choice_id; add new ones with a choice_label and optional display_order. Example: [{"choice_id": 1, "choice_label": "Gold", "display_order": 1}].
labelstring- The new field name shown in the UI (max 50 characters).
constantcontact_email_ab_test_createCreate a subject-line A/B test on a DRAFT primary email campaign activity.WriteCreate Email A/B Test
Create a subject-line A/B test on a DRAFT primary email campaign activity. Returns the A/B test settings. The activity type changes from Newsletter to A/B Test. Use to test two subject lines; the one with more opens is sent to the remaining contacts.
Inputs
alternative_subjectstringrequired- The second subject line to test.
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
test_sizeintegerrequired- Percentage of recipients who get each version (for example 30 sends A to 30% and B to 30%). Valid values are 5 to 50.
winner_wait_durationintegerrequired- Hours to wait after the test send before picking the winner: 6, 12, 24 or 48.one of
6122448
constantcontact_email_campaign_activity_scheduleSend an email campaign activity now, or schedule it for a date.WriteSchedule Email Campaign Activity
Send an email campaign activity now, or schedule it for a date. The activity needs recipients first (set them with Update Email Campaign Activity). Returns the schedule as an array (empty when sending immediately). Use to send a campaign to contacts. Use Send Test Email first to preview it. Only primary_email activities in DRAFT, DONE or ERROR status can be scheduled.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
scheduled_datestringrequired- When to send, in ISO-8601 format (for example 2025-05-17T16:00:00.000Z). Use "0" to send immediately.
constantcontact_email_campaign_activity_test_sendSend a test copy of an email campaign activity to up to 5 addresses.WriteSend Test Email
Send a test copy of an email campaign activity to up to 5 addresses. Dynamic content is not filled in. Limit: 50 test recipients per day. Returns no content on success. Use to check an email before Schedule Email Campaign Activity. Use Get Email Preview for the HTML without sending.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
email_addressesarrayrequired- Recipient email addresses for the test, up to 5.
personal_messagestring- A note shown to test recipients above the email content.
constantcontact_email_campaign_activity_updateUpdate an email campaign activity's sender, subject, content and recipients.WriteUpdate Email Campaign Activity
Update an email campaign activity's sender, subject, content and recipients. Only primary_email activities in DRAFT or DONE status can be updated. Returns the updated activity. Properties you leave out are cleared; html_content, physical_address_in_footer and document_properties are kept if omitted. Use to set recipients (contact_list_ids or segment_ids) before scheduling. Call Get Email Campaign Activity first to keep current values.
- Idempotent
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
from_emailstringrequired- The sender email address. Must be a CONFIRMED account email address.
from_namestringrequired- The sender name shown to contacts.
reply_to_emailstringrequired- The reply-to email address. Must be a CONFIRMED account email address.
subjectstringrequired- The email subject line.
contact_list_idsarray- Contact list IDs to send to. Cannot be combined with segment_ids.
document_propertiesobject- Optional settings for legacy email formats (format_type 1 and 2), such as text_content, permission_reminder and view_as_webpage_enabled. Ignored for other formats.
html_contentstring- The email HTML, for custom code emails (format_type 5). Include [[trackingImage]].
physical_address_in_footerobject- The organization's physical address shown in the email footer. Needs address_line1, country_code (ISO 3166-1 two-letter, uppercase) and organization_name; state_code is required for US addresses. Can also have address_line2, address_line3, address_optional, city, postal_code and state_non_us_name. Leave empty to use the account's physical address. Example: {"organization_name": "Acme Inc.", "address_line1": "123 Main St", "city": "Boston", "state_code": "MA", "postal_code": "02108", "country_code": "US"}.
preheaderstring- A short summary shown after the subject line.
segment_idsarray- A single segment ID to send to, as a one-item array. Cannot be combined with contact_list_ids.
constantcontact_email_campaign_createCreate a draft custom-code (HTML) email campaign with its primary email activity.WriteCreate Email Campaign
Create a draft custom-code (HTML) email campaign with its primary email activity. Returns the campaign_id and its campaign_activities (including the primary_email campaign_activity_id). Use to start a new email. Then set recipients with Update Email Campaign Activity and send with Schedule Email Campaign Activity.
Inputs
from_emailstringrequired- The sender email address (max 80 characters). Must be a CONFIRMED account email address; see List Account Email Addresses.
from_namestringrequired- The sender name shown to contacts (max 100 characters).
html_contentstringrequired- The email HTML (max 150000 characters). Include the [[trackingImage]] tag in the body so opens are reported.
namestringrequired- A unique campaign name (max 80 characters). Not shown to contacts.
reply_to_emailstringrequired- The reply-to email address (max 80 characters). Must be a CONFIRMED account email address.
subjectstringrequired- The email subject line.
format_typeinteger- The email format. Use 5 for custom code (HTML) emails, the format this API creates. Defaults to 5.default
5 physical_address_in_footerobject- The organization's physical address shown in the email footer. Needs address_line1, country_code (ISO 3166-1 two-letter, uppercase) and organization_name; state_code is required for US addresses. Can also have address_line2, address_line3, address_optional, city, postal_code and state_non_us_name. Leave empty to use the account's physical address. Example: {"organization_name": "Acme Inc.", "address_line1": "123 Main St", "city": "Boston", "state_code": "MA", "postal_code": "02108", "country_code": "US"}.
preheaderstring- A short summary shown after the subject line in most email clients (max 200 characters).
constantcontact_email_campaign_renameRename an email campaign.WriteRename Email Campaign
Rename an email campaign. The name is not visible to contacts. Returns the updated campaign. Use to change the internal name. Use Update Email Campaign Activity to change subject or content.
- Idempotent
Inputs
campaign_idstringrequired- The unique ID (UUID) of the email campaign. Get it from List Email Campaigns.
namestringrequired- The new unique campaign name (max 80 characters).
constantcontact_email_resend_to_non_openers_createSchedule a resend of a primary email campaign activity to contacts who did not open it.WriteCreate Resend to Non-openers
Schedule a resend of a primary email campaign activity to contacts who did not open it. One resend per campaign. Returns the resend details, including its resend_request_id. Use to boost opens. Set either delay_days (1 to 10) or delay_minutes (720 to 14400) after the original send.
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
resend_subjectstringrequired- The subject line for the resend.
delay_daysinteger- Days to wait after the original send, 1 to 10. If both delays are set, delay_minutes is ignored.
delay_minutesinteger- Minutes to wait after the original send, 720 (12 hours) to 14400 (10 days).
constantcontact_event_copyCopy an existing event, with its settings, registration forms and landing pages, into a new DRAFT event.WriteCopy Event
Copy an existing event, with its settings, registration forms and landing pages, into a new DRAFT event. Deleted events cannot be copied. Returns the new event's details. Use to repeat an event. Use Create Event to start from defaults.
Inputs
event_idstringrequired- The unique ID (UUID) of the event. Get it from List Events.
target_event_namestringrequired- A unique name for the copied event.
source_campaign_activitiesarray- Campaign activity IDs of the event to copy. Copies all activities if empty.
constantcontact_event_createCreate a new DRAFT event with default settings, registration form and landing page.WriteCreate Event
Create a new DRAFT event with default settings, registration form and landing page. Returns the new event with its event_id. Use to start an event; finish its setup in Constant Contact. Use Copy Event to start from an existing event.
Inputs
end_timestring- Event end time, ISO 8601. Defaults to one hour after the start.
namestring- Name for the new event. A default name is generated if empty.
start_timestring- Event start time, ISO 8601. Defaults to a future date.
constantcontact_segment_createCreate a segment that targets the contacts matching the given criteria.WriteCreate Segment
Create a segment that targets the contacts matching the given criteria. Returns the new segment with its segment_id. Use to target contacts for a campaign by behavior or data. Segment names must be unique (409 if taken).
Inputs
namestringrequired- A unique segment name.
segment_criteriastringrequired- The segment's contact selection criteria as a single string of escaped JSON (max 20000 characters). The JSON has a version and a criteria object whose top-level type is and/or with a group of conditions drawn from tracking, contact, list_membership and tags data. Don't evaluate more than 500 email campaigns or a date range over 1825 days. Example: {"version":"1.0.0","criteria":{"type":"and","group":[{"source":"tracking","field":"not_opened","op":"contains-any","const_value":"last-n-campaigns","param":"5"}]}}
constantcontact_segment_renameRename a segment.WriteRename Segment
Rename a segment. Returns the updated segment. Use to change only the name. Use Update Segment to change the criteria.
- Idempotent
Inputs
namestringrequired- The new unique segment name.
segment_idintegerrequired- The numeric ID of the segment. Get it from List Segments.
constantcontact_segment_updateReplace a segment's name and criteria.WriteUpdate Segment
Replace a segment's name and criteria. Both are required even if only one changes. Returns the updated segment. Use to change who a segment targets. Use Rename Segment to change only the name.
- Idempotent
Inputs
namestringrequired- The unique segment name (send the current one to keep it).
segment_criteriastringrequired- The segment's contact selection criteria as a single string of escaped JSON (max 20000 characters). The JSON has a version and a criteria object whose top-level type is and/or with a group of conditions drawn from tracking, contact, list_membership and tags data. Don't evaluate more than 500 email campaigns or a date range over 1825 days. Example: {"version":"1.0.0","criteria":{"type":"and","group":[{"source":"tracking","field":"not_opened","op":"contains-any","const_value":"last-n-campaigns","param":"5"}]}}
segment_idintegerrequired- The numeric ID of the segment. Get it from List Segments.
constantcontact_tag_createCreate a new tag.WriteCreate Tag
Create a new tag. Returns the new tag with its tag_id. Use before tagging contacts. Tag names must be unique (409 if taken). Use Add Tags to Contacts to apply it.
Inputs
namestringrequired- A unique tag name (1 to 255 characters).
tag_sourcestring- Optional label for the source used to identify the contacts to tag.
constantcontact_tag_updateRename an existing tag.WriteRename Tag
Rename an existing tag. The tag_source cannot be changed. Returns the updated tag. Use to fix or change a tag name. The new name must be unique (409 if taken).
- Idempotent
Inputs
namestringrequired- The new unique tag name (max 255 characters).
tag_idstringrequired- The unique ID (UUID) of the tag. Get it from List Tags.
constantcontact_contact_deleteDelete one contact.DestructiveDelete Contact
Delete one contact. Deleted contacts get no email and are not billable, and can be revived later. Returns no content on success. Use for a single contact. Use Delete Contacts in Bulk for many contacts or all members of lists.
- Idempotent
Inputs
contact_idstringrequired- The unique ID (UUID) of the contact. Get it from List Contacts.
constantcontact_contact_list_deleteDelete a contact list and its memberships.DestructiveDelete Contact List
Delete a contact list and its memberships. The contacts themselves are kept. Returns an activity (202) whose _links show where to check the deletion status. Use for one list. Use Delete Contact Lists in Bulk for up to 100 lists.
- Idempotent
Inputs
list_idstringrequired- The unique ID (UUID) of the contact list. Get it from List Contact Lists.
constantcontact_contact_lists_bulk_deleteStart a background activity that deletes up to 100 contact lists.DestructiveDelete Contact Lists in Bulk
Start a background activity that deletes up to 100 contact lists. The contacts are kept. Returns the activity_id and state; check progress with Get Activity. Use for many lists. Use Delete Contact List for one list.
Inputs
list_idsarrayrequired- Contact list IDs to delete, up to 100.
constantcontact_contacts_bulk_deleteStart a background activity that deletes many contacts: up to 500 by ID, or every member of up to 50 lists.DestructiveDelete Contacts in Bulk
Start a background activity that deletes many contacts: up to 500 by ID, or every member of up to 50 lists. Returns the activity_id and state; check progress with Get Activity. Use for bulk cleanup. Use Delete Contact for one contact. Deleted contacts can be revived.
Inputs
contact_idsarray- Contact IDs to delete, up to 500. Use this or list_ids, not both.
list_idsarray- Delete every contact on these lists, up to 50. Use this or contact_ids, not both.
constantcontact_custom_field_deleteDelete a contact custom field and its values from all contacts.DestructiveDelete Custom Field
Delete a contact custom field and its values from all contacts. Returns no content on success. Use for one field. Use Delete Custom Fields in Bulk for up to 100 fields.
- Idempotent
Inputs
custom_field_idstringrequired- The unique ID (UUID) of the custom field. Get it from List Custom Fields.
constantcontact_custom_fields_bulk_deleteStart a background activity that deletes up to 100 custom fields and their values.DestructiveDelete Custom Fields in Bulk
Start a background activity that deletes up to 100 custom fields and their values. Returns the activity_id and state; check progress with Get Activity. Use for many fields. Use Delete Custom Field for one field.
Inputs
custom_field_idsarrayrequired- Custom field IDs to delete, up to 100.
constantcontact_email_ab_test_deleteDelete the A/B test of a DRAFT primary email campaign activity.DestructiveDelete Email A/B Test
Delete the A/B test of a DRAFT primary email campaign activity. The original subject line is kept. Returns no content on success. Use to turn an A/B test back into a regular newsletter.
- Idempotent
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_campaign_activity_unscheduleCancel the schedule of a SCHEDULED email campaign activity.DestructiveUnschedule Email Campaign Activity
Cancel the schedule of a SCHEDULED email campaign activity. It returns to its previous status (for example DRAFT). Returns no content on success. Use to stop a scheduled send before it goes out.
- Idempotent
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
constantcontact_email_campaign_deleteDelete an email campaign and its activities.DestructiveDelete Email Campaign
Delete an email campaign and its activities. Scheduled campaigns cannot be deleted; unschedule them first. Returns no content on success. Users can restore deleted campaigns in the Constant Contact UI. Use to remove drafts or old campaigns.
- Idempotent
Inputs
campaign_idstringrequired- The unique ID (UUID) of the email campaign. Get it from List Email Campaigns.
constantcontact_email_resend_to_non_openers_deleteDelete (unschedule) a resend-to-non-openers activity.DestructiveDelete Resend to Non-openers
Delete (unschedule) a resend-to-non-openers activity. Returns no content on success. Use to cancel a planned resend. Get the resend_request_id from Get Resend to Non-openers.
- Idempotent
Inputs
campaign_activity_idstringrequired- The unique ID (UUID) of the email campaign activity. Get it from the campaign_activities array returned by Get Email Campaign (the activity with role primary_email holds the email content).
resend_request_idstringrequired- The resend ID from Get Resend to Non-openers (for example 389093). Use DRAFT if the campaign is still a draft.
constantcontact_segment_deleteDelete a segment.DestructiveDelete Segment
Delete a segment. Check first that no scheduled campaign uses it. Returns no content on success. Get Segment still returns a deleted segment's details. Use to remove segments you no longer need.
- Idempotent
Inputs
segment_idintegerrequired- The numeric ID of the segment. Get it from List Segments.
constantcontact_tag_deleteDelete a tag and remove it from every contact that has it.DestructiveDelete Tag
Delete a tag and remove it from every contact that has it. Returns an activity (202) whose link shows the deletion status. Use for one tag. Use Delete Tags in Bulk for up to 500 tags.
- Idempotent
Inputs
tag_idstringrequired- The unique ID (UUID) of the tag. Get it from List Tags.
No tools match.