Constant Contact
App · 20 actions
Manage Constant Contact contacts, lists and tags, and create, test, send and report on email campaigns.
Actions
| Action | What it does |
|---|---|
| Add contacts to lists | Add contacts - or every member of other lists - to lists. |
| Create contact | Add a new contact, optionally to lists and with tags. |
| Create contact list | Create a contact list. |
| Create email campaign | Create a draft email from your HTML (or plain text, which is wrapped in HTML). |
| Create or update contact | Add a contact by email, or update the contact that already has that email. |
| Create tag | Create a contact tag. |
| Delete contact | Delete a contact. |
| Get activity status | How far a list or tag change has got (initialized, processing, completed, failed...) and any errors it hit. |
| Get contact | Read one contact with its email permission, lists, tags, phones, addresses, custom fields and notes. |
| Get email campaign | Read a campaign: status, subject, sender, recipient lists, web link and HTML. |
| Get email campaign stats | Sends, opens, clicks, bounces, forwards and unsubscribes, with rates, for up to 150 campaigns. |
| List contact lists | Contact lists with how many members each has. |
| List contacts | Find contacts by email, list, tag, subscription status or the date they were created or changed, with their lists, tags, phones, addresses and custom fields. |
| List email campaigns | Email campaigns with their status, newest first. |
| List tags | Contact tags, optionally with how many contacts have each. |
| Remove contacts from lists | Remove contacts from lists. |
| Send or schedule email campaign | Send a campaign to lists now, or at a set time. |
| Send test email | Send a test of a campaign to up to five addresses - by default to its From address. |
| Tag contacts | Add tags to contacts - or to every member of some lists - keeping their other tags. |
| Update contact | Change fields on a contact. |
Add contacts to lists
Add contacts - or every member of other lists - to lists. Constant Contact does this in the background; follow it with 'Get activity status'.
Inputs
- Lists
list_idstextRequired - Lists to add them to.
- Contact IDs
contact_idslist - Up to 500 contact ids, as a list or comma-separated.
- Members of lists
source_list_idstext - Instead of contact ids: every member of these lists.
Outputs
activity_errorslistactivity_idtextcompleted_attextcreated_attextpercent_donenumberstarted_attextstatetextstatusobjectupdated_attext
Example output
{
"activity_errors": [],
"activity_id": "c1a6f6a2-5d7e-4b9c-8f3a-2e4d6b8a0c13",
"completed_at": "2026-09-03T10:16:02Z",
"created_at": "2026-09-03T10:16:00Z",
"percent_done": 0,
"started_at": "2026-09-03T10:16:00Z",
"state": "initialized",
"status": {
"items_completed_count": 1,
"items_total_count": 1,
"list_count": 1
},
"updated_at": "2026-09-03T10:16:02Z"
}Create contact
Add a new contact, optionally to lists and with tags. Needs at least an email or a name. Fails if the email already belongs to a contact - use 'Create or update contact' for that.
Inputs
- Email
emailtext - Email address (up to 80 characters).
- Email permission
permission_to_sendtext - The permission you have to email them. Defaults to Implicit. Only choose Explicit if they asked to receive your email.One of:
implicit(Implicit (an existing business relationship)),explicit(Explicit (the contact asked to be emailed)),pending_confirmation(Pending confirmation (double opt-in)). - First name
first_nametext - First name (up to 50 characters).
- Last name
last_nametext - Last name (up to 50 characters).
- Job title
job_titletext - Job title (up to 50 characters).
- Company
company_nametext - Company name (up to 50 characters).
- Phone number
phone_numbertext - Phone number (up to 25 characters).
- Phone type
phone_typetext - Defaults to Mobile.One of:
mobile,home,work,other. - Street
streettext - Street address.
- City
citytext - City.
- State
statetext - State or province.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Address type
address_typetext - Defaults to Home.One of:
home,work,other. - Birthday
birthdaydate - Birthday. Constant Contact keeps the month and day only.
- Anniversary
anniversarydate - Anniversary date, e.g. when they became a customer.
- Lists
list_idstext - Lists to add the contact to.
- Tags
tag_idstext - Tags to give the contact.
- Custom fields
custom_fieldsobject - Values for your account's contact custom fields.
Outputs
anniversarytextbirthday_daynumberbirthday_monthnumbercompany_nametextcontact_idtextcreate_sourcetextcreated_attextcustom_fieldslistdeleted_attextemailtextemail_addressobjectfirst_nametextjob_titletextlast_nametextlist_membershipslistnoteslistpermission_to_sendtextphone_numberslistsms_channelobjectstreet_addresseslisttaggingslistupdate_sourcetextupdated_attext
Example output
{
"anniversary": "2021-06-01",
"birthday_day": 12,
"birthday_month": 4,
"company_name": "Ramirez Bakery",
"contact_id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"create_source": "Account",
"created_at": "2026-09-03T10:15:00Z",
"custom_fields": [],
"deleted_at": null,
"email": "dana@example.com",
"email_address": {
"address": "dana@example.com",
"opt_in_source": "Account",
"permission_to_send": "implicit"
},
"first_name": "Dana",
"job_title": "Owner",
"last_name": "Ramirez",
"list_memberships": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"notes": [],
"permission_to_send": "implicit",
"phone_numbers": [
{
"kind": "mobile",
"phone_number": "+1 555 0100"
}
],
"sms_channel": null,
"street_addresses": [],
"taggings": [
"00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1"
],
"update_source": "Account",
"updated_at": "2026-09-03T10:15:00Z"
}Create contact list
Create a contact list. List names must be unique.
Inputs
- Name
nametextRequired - List name (unique).
- Description
descriptiontext - What the list is for.
- Favorite
favoritetrue/false - Star the list in Constant Contact.
Outputs
created_attextdeleted_attextdescriptiontextfavoritetrue/falselist_idtextmembership_countnumbernametextupdated_attext
Example output
{
"created_at": "2026-01-10T09:00:00Z",
"deleted_at": null,
"description": "Monthly newsletter subscribers",
"favorite": false,
"list_id": "07936f78-662a-11eb-af0a-fa163e56c9b0",
"membership_count": null,
"name": "Newsletter",
"updated_at": "2026-09-01T09:00:00Z"
}Create email campaign
Create a draft email from your HTML (or plain text, which is wrapped in HTML). Constant Contact's open-tracking image is added for you. Choose who receives it when you send it.
Inputs
- Campaign name
nametextRequired - Internal name, unique in the account (up to 80).
- Subject
subjecttextRequired - Email subject line.
- From name
from_nametextRequired - Sender name recipients see (up to 100).
- Email body
html_contenttextRequired - The email's HTML, or plain text.
- From email
from_emailtext - A confirmed email address of this account. Defaults to the first one.
- Reply-to email
reply_to_emailtext - A confirmed email address of this account. Defaults to the From email.
- Preheader
preheadertext - Preview text shown after the subject (up to 200).
Outputs
activity_statustextcampaign_activity_idtextcampaign_idtextcontact_list_idslistcreated_attextcurrent_statustextfrom_emailtextfrom_nametexthtml_contenttextnametextpermalink_urltextpreheadertextreply_to_emailtextsegment_idslistsubjecttexttypetextupdated_attext
Example output
{
"activity_status": "DRAFT",
"campaign_activity_id": "e2b4c6d8-1a3c-4e5f-9a7b-1c3d5e7f9a20",
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"contact_list_ids": [],
"created_at": "2026-09-03T10:20:00Z",
"current_status": "Draft",
"from_email": "hello@example.com",
"from_name": "Ramirez Bakery",
"html_content": "<html><body><p>Hello!</p>[[trackingImage]]</body></html>",
"name": "September newsletter",
"permalink_url": null,
"preheader": "Fresh bread and a new loyalty card",
"reply_to_email": "hello@example.com",
"segment_ids": [],
"subject": "What's new this month",
"type": "Custom Code Email",
"updated_at": "2026-09-03T10:20:00Z"
}Create or update contact
Add a contact by email, or update the contact that already has that email. Lists and custom fields are added to what the contact has - never removed. Returns the full contact and whether it was created or updated.
Inputs
- Email
emailtextRequired - Email address (up to 50 characters).
- Lists
list_idstextRequired - Lists to add the contact to (at least one).
- First name
first_nametext - First name (up to 50 characters).
- Last name
last_nametext - Last name (up to 50 characters).
- Job title
job_titletext - Job title (up to 50 characters).
- Company
company_nametext - Company name (up to 50 characters).
- Phone number
phone_numbertext - Phone number (up to 25 characters).
- Street
streettext - Street address.
- City
citytext - City.
- State
statetext - State or province.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Address type
address_typetext - Defaults to Home.One of:
home,work,other. - Birthday
birthdaydate - Birthday. Constant Contact keeps the month and day only.
- Anniversary
anniversarydate - Anniversary date, e.g. when they became a customer.
- Custom fields
custom_fieldsobject - Values for your account's contact custom fields.
Outputs
actiontextanniversarytextbirthday_daynumberbirthday_monthnumbercompany_nametextcontact_idtextcreate_sourcetextcreated_attextcustom_fieldslistdeleted_attextemailtextemail_addressobjectfirst_nametextjob_titletextlast_nametextlist_membershipslistnoteslistpermission_to_sendtextphone_numberslistsms_channelobjectstreet_addresseslisttaggingslistupdate_sourcetextupdated_attext
Example output
{
"action": "created",
"anniversary": "2021-06-01",
"birthday_day": 12,
"birthday_month": 4,
"company_name": "Ramirez Bakery",
"contact_id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"create_source": "Account",
"created_at": "2026-09-03T10:15:00Z",
"custom_fields": [],
"deleted_at": null,
"email": "dana@example.com",
"email_address": {
"address": "dana@example.com",
"opt_in_source": "Account",
"permission_to_send": "implicit"
},
"first_name": "Dana",
"job_title": "Owner",
"last_name": "Ramirez",
"list_memberships": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"notes": [],
"permission_to_send": "implicit",
"phone_numbers": [
{
"kind": "mobile",
"phone_number": "+1 555 0100"
}
],
"sms_channel": null,
"street_addresses": [],
"taggings": [
"00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1"
],
"update_source": "Account",
"updated_at": "2026-09-03T10:15:00Z"
}Create tag
Create a contact tag. Tag names must be unique.
Inputs
- Name
nametextRequired - Tag name (unique).
Outputs
contacts_countnumbercreated_attextnametexttag_idtexttag_sourcetextupdated_attext
Example output
{
"contacts_count": 0,
"created_at": "2026-02-01T09:00:00Z",
"name": "VIP",
"tag_id": "00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1",
"tag_source": "Contact",
"updated_at": "2026-02-01T09:00:00Z"
}Delete contact
Delete a contact. Constant Contact keeps it as deleted, and updating it later restores it.
Inputs
- Contact ID
contact_idtextRequired - The contact's id (a UUID) - the contact_id of a List contacts result, or a Constant Contact contact page address containing it.
Outputs
deletedtrue/falseidtexttypetext
Example output
{
"deleted": true,
"id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"type": "contact"
}Get activity status
How far a list or tag change has got (initialized, processing, completed, failed...) and any errors it hit.
Inputs
- Activity ID
activity_idtextRequired - The activity_id an earlier list or tag step returned.
Outputs
activity_errorslistactivity_idtextcompleted_attextcreated_attextpercent_donenumberstarted_attextstatetextstatusobjectupdated_attext
Example output
{
"activity_errors": [],
"activity_id": "c1a6f6a2-5d7e-4b9c-8f3a-2e4d6b8a0c13",
"completed_at": "2026-09-03T10:16:02Z",
"created_at": "2026-09-03T10:16:00Z",
"percent_done": 100,
"started_at": "2026-09-03T10:16:00Z",
"state": "completed",
"status": {
"items_completed_count": 1,
"items_total_count": 1,
"list_count": 1
},
"updated_at": "2026-09-03T10:16:02Z"
}Get contact
Read one contact with its email permission, lists, tags, phones, addresses, custom fields and notes.
Inputs
- Contact ID
contact_idtextRequired - The contact's id (a UUID) - the contact_id of a List contacts result, or a Constant Contact contact page address containing it.
Outputs
anniversarytextbirthday_daynumberbirthday_monthnumbercompany_nametextcontact_idtextcreate_sourcetextcreated_attextcustom_fieldslistdeleted_attextemailtextemail_addressobjectfirst_nametextjob_titletextlast_nametextlist_membershipslistnoteslistpermission_to_sendtextphone_numberslistsms_channelobjectstreet_addresseslisttaggingslistupdate_sourcetextupdated_attext
Example output
{
"anniversary": "2021-06-01",
"birthday_day": 12,
"birthday_month": 4,
"company_name": "Ramirez Bakery",
"contact_id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"create_source": "Account",
"created_at": "2026-09-03T10:15:00Z",
"custom_fields": [],
"deleted_at": null,
"email": "dana@example.com",
"email_address": {
"address": "dana@example.com",
"opt_in_source": "Account",
"permission_to_send": "implicit"
},
"first_name": "Dana",
"job_title": "Owner",
"last_name": "Ramirez",
"list_memberships": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"notes": [],
"permission_to_send": "implicit",
"phone_numbers": [
{
"kind": "mobile",
"phone_number": "+1 555 0100"
}
],
"sms_channel": null,
"street_addresses": [],
"taggings": [
"00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1"
],
"update_source": "Account",
"updated_at": "2026-09-03T10:15:00Z"
}Get email campaign
Read a campaign: status, subject, sender, recipient lists, web link and HTML.
Inputs
- Email campaign
campaign_idtextRequired - The campaign, or its campaign_id from List email campaigns.
Outputs
activity_statustextcampaign_activity_idtextcampaign_idtextcontact_list_idslistcreated_attextcurrent_statustextfrom_emailtextfrom_nametexthtml_contenttextnametextpermalink_urltextpreheadertextreply_to_emailtextsegment_idslistsubjecttexttypetextupdated_attext
Example output
{
"activity_status": "DRAFT",
"campaign_activity_id": "e2b4c6d8-1a3c-4e5f-9a7b-1c3d5e7f9a20",
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"contact_list_ids": [],
"created_at": "2026-09-03T10:20:00Z",
"current_status": "Draft",
"from_email": "hello@example.com",
"from_name": "Ramirez Bakery",
"html_content": "<html><body><p>Hello!</p>[[trackingImage]]</body></html>",
"name": "September newsletter",
"permalink_url": null,
"preheader": "Fresh bread and a new loyalty card",
"reply_to_email": "hello@example.com",
"segment_ids": [],
"subject": "What's new this month",
"type": "Custom Code Email",
"updated_at": "2026-09-03T10:20:00Z"
}Get email campaign stats
Sends, opens, clicks, bounces, forwards and unsubscribes, with rates, for up to 150 campaigns.
Inputs
- Email campaigns
campaign_idstextRequired - The campaigns to report on.
Outputs
errorslistresultslist
Example output
{
"errors": [],
"results": [
{
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"last_refresh_time": "2026-09-05T08:00:00Z",
"percents": {
"bounce": 0.8,
"click": 12.6,
"open": 45.5
},
"stats": {
"em_bounces": 2,
"em_clicks": 31,
"em_opens": 112,
"em_optouts": 1,
"em_sends": 248
}
}
]
}List contact lists
Contact lists with how many members each has.
Inputs
- Name
nametext - Only the list with exactly this name.
- Status
statustext - Defaults to active lists.One of:
active,deleted,all. - Maximum results
limitnumber - How many to return in one page (1-500).From 1 to 500. Default:
50. - Include total count
include_counttrue/false - Also return the total number of matches.
- Next page
next_pagetext - The next_page value from an earlier List contact lists step, to read the following page. Other filters are ignored when it is set.
Outputs
countnumberlistslistnext_pagetexttotalnumber
Example output
{
"count": 1,
"lists": [
{
"created_at": "2026-01-10T09:00:00Z",
"deleted_at": null,
"description": "Monthly newsletter subscribers",
"favorite": false,
"list_id": "07936f78-662a-11eb-af0a-fa163e56c9b0",
"membership_count": 248,
"name": "Newsletter",
"updated_at": "2026-09-01T09:00:00Z"
}
],
"next_page": null,
"total": null
}List contacts
Find contacts by email, list, tag, subscription status or the date they were created or changed, with their lists, tags, phones, addresses and custom fields.
Inputs
- Email
emailtext - Only the contact with this email address.
- Subscription status
statustext - Defaults to every status except deleted.One of:
all,active,unsubscribed,pending_confirmation(Pending confirmation),temp_hold(Temporary hold),not_set(Not set),deleted. - Lists
list_idstext - Only members of these lists (up to 25).
- Tags
tag_idstext - Only contacts with these tags (up to 50).
- Created after
created_afterdate and time - Only contacts created after this time.
- Created before
created_beforedate and time - Only contacts created before this time.
- Updated after
updated_afterdate and time - Only contacts changed after this time.
- Updated before
updated_beforedate and time - Only contacts changed before this time.
- Maximum results
limitnumber - How many to return in one page (1-500).From 1 to 500. Default:
50. - Include total count
include_counttrue/false - Also return the total number of matches.
- Next page
next_pagetext - The next_page value from an earlier List contacts step, to read the following page. Other filters are ignored when it is set.
Outputs
contactslistcountnumbernext_pagetexttotalnumber
Example output
{
"contacts": [
{
"anniversary": "2021-06-01",
"birthday_day": 12,
"birthday_month": 4,
"company_name": "Ramirez Bakery",
"contact_id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"create_source": "Account",
"created_at": "2026-09-03T10:15:00Z",
"custom_fields": [],
"deleted_at": null,
"email": "dana@example.com",
"email_address": {
"address": "dana@example.com",
"opt_in_source": "Account",
"permission_to_send": "implicit"
},
"first_name": "Dana",
"job_title": "Owner",
"last_name": "Ramirez",
"list_memberships": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"notes": [],
"permission_to_send": "implicit",
"phone_numbers": [
{
"kind": "mobile",
"phone_number": "+1 555 0100"
}
],
"sms_channel": null,
"street_addresses": [],
"taggings": [
"00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1"
],
"update_source": "Account",
"updated_at": "2026-09-03T10:15:00Z"
}
],
"count": 1,
"next_page": null,
"total": null
}List email campaigns
Email campaigns with their status, newest first.
Inputs
- Updated after
updated_afterdate and time - Only campaigns changed after this time.
- Updated before
updated_beforedate and time - Only campaigns changed before this time.
- Include deleted
include_removedtrue/false - Also return deleted (Removed) campaigns.
- Maximum results
limitnumber - How many to return in one page (1-500).From 1 to 500. Default:
50. - Next page
next_pagetext - The next_page value from an earlier List email campaigns step, to read the following page. Other filters are ignored when it is set.
Outputs
campaignslistcountnumbernext_pagetext
Example output
{
"campaigns": [
{
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"created_at": "2026-09-03T10:20:00Z",
"current_status": "Draft",
"name": "September newsletter",
"type": "Custom Code Email",
"updated_at": "2026-09-03T10:20:00Z"
}
],
"count": 1,
"next_page": null
}List tags
Contact tags, optionally with how many contacts have each.
Inputs
- Maximum results
limitnumber - How many to return in one page (1-500).From 1 to 500. Default:
50. - Include contact counts
include_counttrue/false - Also return how many contacts have each tag.
- Next page
next_pagetext - The next_page value from an earlier List tags step, to read the following page. Other filters are ignored when it is set.
Outputs
countnumbernext_pagetexttagslist
Example output
{
"count": 1,
"next_page": null,
"tags": [
{
"contacts_count": 12,
"created_at": "2026-02-01T09:00:00Z",
"name": "VIP",
"tag_id": "00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1",
"tag_source": "Contact",
"updated_at": "2026-02-01T09:00:00Z"
}
]
}Remove contacts from lists
Remove contacts from lists. The contacts themselves are kept. Runs in the background; follow it with 'Get activity status'.
Inputs
- Lists
list_idstextRequired - Lists to remove them from.
- Contact IDs
contact_idslistRequired - Up to 500 contact ids, as a list or comma-separated.
Outputs
activity_errorslistactivity_idtextcompleted_attextcreated_attextpercent_donenumberstarted_attextstatetextstatusobjectupdated_attext
Example output
{
"activity_errors": [],
"activity_id": "c1a6f6a2-5d7e-4b9c-8f3a-2e4d6b8a0c13",
"completed_at": "2026-09-03T10:16:02Z",
"created_at": "2026-09-03T10:16:00Z",
"percent_done": 0,
"started_at": "2026-09-03T10:16:00Z",
"state": "initialized",
"status": {
"items_completed_count": 1,
"items_total_count": 1,
"list_count": 1
},
"updated_at": "2026-09-03T10:16:02Z"
}Send or schedule email campaign
Send a campaign to lists now, or at a set time. This emails real contacts. Sets the campaign's recipient lists first.
Inputs
- Email campaign
campaign_idtextRequired - The campaign, or its campaign_id from List email campaigns.
- Lists
list_idstextRequired - Lists to send to.
- Send at
send_atdate and time - When to send. Leave blank to send immediately.
Outputs
campaign_activity_idtextcampaign_idtextcontact_list_idslistscheduled_datetextsent_nowtrue/false
Example output
{
"campaign_activity_id": "e2b4c6d8-1a3c-4e5f-9a7b-1c3d5e7f9a20",
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"contact_list_ids": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"scheduled_date": "2026-10-01T14:00:00.000Z",
"sent_now": false
}Send test email
Send a test of a campaign to up to five addresses - by default to its From address. Constant Contact allows 50 test recipients a day.
Inputs
- Email campaign
campaign_idtextRequired - The campaign, or its campaign_id from List email campaigns.
- Send to
email_addresseslist - Up to 5 addresses. Blank sends to the From email.
- Personal message
personal_messagetext - A note shown above the email in the test.
Outputs
campaign_activity_idtextcampaign_idtextemail_addresseslistsenttrue/false
Example output
{
"campaign_activity_id": "e2b4c6d8-1a3c-4e5f-9a7b-1c3d5e7f9a20",
"campaign_id": "9f7d3e1a-2b6c-4d8e-a1f0-3c5b7d9e2a41",
"email_addresses": [
"hello@example.com"
],
"sent": true
}Tag contacts
Add tags to contacts - or to every member of some lists - keeping their other tags. Runs in the background; follow it with 'Get activity status'.
Inputs
- Tags
tag_idstextRequired - Tags to add.
- Contact IDs
contact_idslist - Up to 500 contact ids, as a list or comma-separated.
- Members of lists
source_list_idstext - Instead of contact ids: every member of these lists.
Outputs
activity_errorslistactivity_idtextcompleted_attextcreated_attextpercent_donenumberstarted_attextstatetextstatusobjectupdated_attext
Example output
{
"activity_errors": [],
"activity_id": "c1a6f6a2-5d7e-4b9c-8f3a-2e4d6b8a0c13",
"completed_at": "2026-09-03T10:16:02Z",
"created_at": "2026-09-03T10:16:00Z",
"percent_done": 0,
"started_at": "2026-09-03T10:16:00Z",
"state": "initialized",
"status": {
"items_completed_count": 1,
"items_total_count": 1,
"list_count": 1
},
"updated_at": "2026-09-03T10:16:02Z"
}Update contact
Change fields on a contact. Fields left blank keep their value. Setting a phone, address, lists or tags replaces the contact's existing ones. Updating a deleted contact restores it.
Inputs
- Contact ID
contact_idtextRequired - The contact's id (a UUID) - the contact_id of a List contacts result, or a Constant Contact contact page address containing it.
- New email
emailtext - A new email address for the contact.
- Email permission
permission_to_sendtext - Change the permission you have to email them. Unsubscribed stops all email; Constant Contact does not let an integration subscribe them again.One of:
implicit(Implicit (an existing business relationship)),explicit(Explicit (the contact asked to be emailed)),pending_confirmation(Pending confirmation (double opt-in)),unsubscribed. - Unsubscribe reason
opt_out_reasontext - Why they unsubscribed, when unsubscribing them.Only when Email permission is Unsubscribed.
- First name
first_nametext - First name (up to 50 characters).
- Last name
last_nametext - Last name (up to 50 characters).
- Job title
job_titletext - Job title (up to 50 characters).
- Company
company_nametext - Company name (up to 50 characters).
- Phone number
phone_numbertext - Replaces the contact's phone numbers.
- Phone type
phone_typetext - Defaults to Mobile.One of:
mobile,home,work,other. - Street
streettext - Street address.
- City
citytext - City.
- State
statetext - State or province.
- Postal code
postal_codetext - ZIP or postal code.
- Country
countrytext - Country.
- Address type
address_typetext - Defaults to Home.One of:
home,work,other. - Birthday
birthdaydate - Birthday. Constant Contact keeps the month and day only.
- Anniversary
anniversarydate - Anniversary date, e.g. when they became a customer.
- Lists
list_idstext - Replaces the contact's lists with these.
- Tags
tag_idstext - Replaces the contact's tags with these.
- Custom fields
custom_fieldsobject - Values for your account's contact custom fields.
Outputs
anniversarytextbirthday_daynumberbirthday_monthnumbercompany_nametextcontact_idtextcreate_sourcetextcreated_attextcustom_fieldslistdeleted_attextemailtextemail_addressobjectfirst_nametextjob_titletextlast_nametextlist_membershipslistnoteslistpermission_to_sendtextphone_numberslistsms_channelobjectstreet_addresseslisttaggingslistupdate_sourcetextupdated_attext
Example output
{
"anniversary": "2021-06-01",
"birthday_day": 12,
"birthday_month": 4,
"company_name": "Ramirez Bakery",
"contact_id": "1618ae62-4752-11e9-9c8a-fa163e6b01c1",
"create_source": "Account",
"created_at": "2026-09-03T10:15:00Z",
"custom_fields": [],
"deleted_at": null,
"email": "dana@example.com",
"email_address": {
"address": "dana@example.com",
"opt_in_source": "Account",
"permission_to_send": "implicit"
},
"first_name": "Dana",
"job_title": "Owner",
"last_name": "Ramirez",
"list_memberships": [
"07936f78-662a-11eb-af0a-fa163e56c9b0"
],
"notes": [],
"permission_to_send": "implicit",
"phone_numbers": [
{
"kind": "mobile",
"phone_number": "+1 555 0100"
}
],
"sms_channel": null,
"street_addresses": [],
"taggings": [
"00f4f6ec-2b62-4c33-9a0a-7f1e5d4bf3e1"
],
"update_source": "Account",
"updated_at": "2026-09-03T10:15:00Z"
}