Constant
Contact
API Guide
User Authorization and API AccessUser Roles and Privileges Overview

User Roles and Privileges Overview

Constant Contact allows multiple users to work together using a single account. To accommodate multiple users, Constant Contact uses user roles and privileges. User roles are types of users in Constant Contact that have collections of privileges associated with them. Privileges permit users to access different endpoints and methods in the V3 API. Constant Contact currently has three user roles:

  • Account Owner: The user that currently has ownership of an account. In the V3 API, account owners have privileges that allow them to access all currently available endpoints and methods. This includes access to campaigns, contacts, contact lists, and reporting data.

  • Account Manager: A user that the account owner appoints to manage the account. In the V3 API, account managers have privileges that allow them to access all currently available endpoints and methods. This includes access to campaigns, contacts, contact lists, and reporting data.

  • Campaign Creator: A user that the account owner appoints to create and edit campaigns. In the V3 API, campaign creators only have privileges that allow them to create campaigns, edit campaigns, view campaigns, and view contact lists. Campaign creators lack the privileges necessary to access contacts, access reports, or modify contact lists.

Because the users roles have different levels of access to data in Constant Contact, you should take the user roles into account when you build your application. Use the GET /account/user/privileges endpoint to return the user privileges associated with your access token.

User Roles and Privileges Reference Table

User RoleRole DescriptionRole Privileges
Account OwnerAccount owners can access all resources and operations that are currently available in the V3 API.
  • contacts:read
  • contacts:write
  • contacts:lists:read
  • contacts:lists:write
  • ui:campaign:metrics
  • campaign:read
  • campaign:create
  • campaign:write
  • campaign:send
  • account:read
  • account:update
Account ManagerAccount managers can access all resources and operations that are currently available in the V3 API.
  • contacts:read
  • contacts:write
  • contacts:lists:read
  • contacts:lists:write
  • ui:campaign:metrics
  • campaign:read
  • campaign:create
  • campaign:write
  • campaign:send
  • account:read
Campaign CreatorCampaign creators are limited to creating campaigns, updating campaigns, viewing campaigns, and viewing contact lists. Campaign creators cannot send campaigns, access contacts, view reports, or modify contact lists.
  • campaign:read
  • campaign:create
  • campaign:write
  • contacts:lists:read

V3 API Endpoint Privileges

Account Services

DescriptionEndpoint Method and RouteRequired Privileges
Get details about a Constant Contact user account.GET /account/summaryaccount:read
Update details about a Constant Contact user account.PUT /account/summaryaccount:update
Get the organization's physical address that is associated with a Constant Contact user account.GET /account/summary/physical_addressaccount:read
Update the organization's physical address that is associated with a Constant Contact user account.PUT /account/summary/physical_addressaccount:update
Add the organization's physical address that is associated with a Constant Contact user account.POST /account/summary/physical_addressaccount:update
Get user privileges.GET /account/user/privilegesNone
Add a new email address to an account.POST /account/emailsaccount:update
Get a collection of account emails.GET /account/emailsaccount:read

Contacts Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get a collection of contacts.GET /contactscontacts:read
Create a contact.POST /contactscontacts:write
Create or update a contact using a single method.POST /contacts/sign_up_formcontacts:write
Get a collection of V2 and V3 contact ids.GET /contacts/contact_id_xrefscontacts:read
Get a single contact.GET /contacts/{contact_id}contacts:read
Update a contact.PUT /contacts/{contact_id}contacts:write
Delete a contact.DELETE /contacts/{contact_id}contacts:write
Get contact consent counts by consent state.GET /contacts/countscontacts:read
Get contact sms engagment details.GET /contacts/sms_engagement_history/{contact_id}contacts:read

Contact Lists Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get a collection of contact lists.GET /contact_listscontacts:lists:read
Create a contact list.POST /contact_listscontacts:lists:write
Get a collection of V2 and V3 list ids.GET /contact_lists/list_id_xrefscontacts:lists:read
Get a single contact list.GET /contact_lists/{list_id}contacts:lists:read
Update a contact list.PUT /contact_lists/{list_id}contacts:lists:write
Delete a contact list.DELETE /contact_lists/{list_id}contacts:lists:write

Contact Custom Fields Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get a collection of contact custom fields.GET /contact_custom_fieldscontacts:read
Create a contact custom field.POST /contact_custom_fieldscontacts:write
Get a contact single custom field.GET /contact_custom_fields/{custom_field_id}contacts:read
Update a contact custom field.PUT /contact_custom_fields/{custom_field_id}contacts:write
Delete a contact custom field.DELETE /contact_custom_fields/{custom_field_id}contacts:write

Contact Tags Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get details about a specific tag.GET /contact_tags/{tag_id}contacts:read
Get details about all tags.GET /contact_tagscontacts:read
Create a tag.POST /contact_tagscontacts:write
Rename a tag.PUT /contact_tags/{tag_id}contacts:write
Delete a tag.DELETE /contact_tags/{tag_id}contacts:write

Bulk Activity Operation Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get a collection of bulk activities.GET /activitiescontacts:write
Get the status of a single bulk activity.GET /activities/{activity_id}contacts:write
Add contacts to contact lists bulk activity.POST /activities/add_list_membershipscontacts:write
Remove contacts from contact lists bulk activity.POST /activities/remove_list_membershipscontacts:write
Remove custom fields from an account bulk activity.POST /activities/custom_fields_deletecontacts:write
Import contacts from a CSV file.POST /activities/contacts_file_importcontacts:write
Import contacts from a JSON payload.POST /activities/contacts_json_importcontacts:write
Delete contacts bulk activity.POST /activities/contact_deletecontacts:write
Export contacts to a CSV file.POST /activities/contact_exportscontacts:write
Delete lists POST /activities/list_deletecontacts:write
Add tags POST /activities/contacts_taggings_addcontacts:write
Remove tags from contacts.POST /activities/contacts_taggings_removecontacts:write
Delete tags POST /activities/contacts_tags_deletecontacts:write

Reports Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get the tracking activity data for a contact.GET /reports/contact_reports/{contact_id}/activity_detailsui:campaign:metrics
Get the contact action summary for a contact.GET /reports/contact_reports/{contact_id}/activity_summaryui:campaign:metrics
Get an Email Campaigns Statistics Report.GET /reports/stats/email_campaigns/{campaign_ids}ui:campaign:metrics
Get an Email Campaign Activity Statistics Report.GET /reports/stats/email_campaign_activity/{campaign_activity_ids}ui:campaign:metrics
Get an Email Campaigns Summary Report.GET /reports/summary_reports/email_campaign_summariesui:campaign:metrics
Get an SMS Campaigns Summary Report.GET /reports/summary_reports/sms_campaign_summariesui:campaign:metrics
Get the average open and click rate for a contact.GET /reports/contact_reports/{contact_id}/open_and_click_ratesui:campaign:metrics
Get a links report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/linksui:campaign:metrics
Get a opens report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/opensui:campaign:metrics
Get a unique opens report listing the last time each unique contact opened the email campaign activity. GET/reports/email_reports/{campaign_activity_id}/tracking/unique_opensui:campaign:metrics
Get a sends report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/sendsui:campaign:metrics
Get a clicks report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/clicksui:campaign:metrics
Get a did not opens report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/didnotopensui:campaign:metrics
Get a forwards report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/forwardsui:campaign:metrics
Get an opt-outs (unsubscribe) report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/optoutsui:campaign:metrics
Get a bounces report for an email campaign activity.GET /reports/email_reports/{email_campaign_activity_id}/tracking/bouncesui:campaign:metrics

Emails Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get a collection of email campaigns.GET /emailscampaign:read
Create a new email campaign in your email campaign collection. POST /emailscampaign:write
Rename an existing email campaign.PATCH /emailscampaign:write
Get a collection of V2 and V3 campaign ids.GET /emails/campaign_id_xrefscampaign:read
Get a single email campaign and a list of associated campaign activities.GET /emails/{campaign_id}campaign:read
Get a single email campaign activity.GET /emails/activities/{campaign_activity_id}campaign:read
Update a single email campaign activity.PUT /emails/activities/{campaign_activity_id}campaign:write
Get the send history for a single email campaign activity.GET /emails/activities/{campaign_activity_id}/send_historycampaign:read
Schedule an email campaign activity.POST /emails/activities/{campaign_activity_id}/schedulescampaign:send
Get the schedule of an email campaign activity.GET /emails/activities/{campaign_activity_id}/schedulescampaign:read
Unschedule an email campaign activity. DELETE /emails/activities/{campaign_activity_id}/schedulescampaign:send
Delete an email campaign and all associated email campaign activities. DELETE /emails/{campaign_id}campaign:write
Get an HTML preview of an email campaign activity. GET /emails/activities/{campaign_activity_id}/previewscampaign:read
Test send an email campaign activity. GET /emails/activities/{campaign_activity_id}/testscampaign:send
Resend (schedule) a primary email campaign activity to non-openers. POST /emails/activities/{campaign_activity_id}/non_opener_resends. campaign:send
Get details for a single resend to non-openers email campaign activity. GET /emails/activities/{campaign_activity_id}/non_opener_resends. campaign:read
Delete (unschedule) a resend to non-openers email campaign activity. DELETE /emails/activities/{campaign_activity_id}/non_opener_resends/{resend_request_id}. campaign:send
Get A/B test details for a primary email campaign activity.GET /emails/activities/{campaign_activity_id}/abtestcampaign:read
Delete an A/B test for a primary email campaign activity. DELETE /emails/activities/{campaign_activity_id}/abtestcampaign:write
Create an A/B test for a primary email campaign activity. POST /emails/activities/{campaign_activity_id}/abtestcampaign:write

Segment Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Create a segment.POST /segmentscontacts:lists:write
Get a list of segments for an account.GET /segmentscontacts:lists:read
Get details about a segment.GET /segments/{segment_id}contacts:lists:read
Delete a segment.DELETE /segments/{segment_id}contacts:lists:write
Update a segment's name and/or contact selection criteria.UPDATE /segments/{segment_id}contacts:lists:write
Rename a segment.PATCH /segments/{segment_id}/namecontacts:lists:write

Landing Page Reporting Privileges

DescriptionEndpoint Method and RouteRequired Privileges
Get details for contacts that uniquely click a link on a specific landing page.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_clicksui:campaign:metrics
Get details for contacts that uniquely click a link on a specific landing page to opt in to receiving SMS messages.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_sms_optinsui:campaign:metrics
Get details for contacts that uniquely open a specific landing page.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_opensui:campaign:metrics
Get details for each time contacts open a specific landing page.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_contact_opensui:campaign:metrics
Get contact details for each contact added to the account from a specific landing page.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_addsui:campaign:metrics
Get contact details for each contact in an account that was updated from a specific landing page.GET /reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_updatesui:campaign:metrics

Error Behavior for User Privileges

The V3 API returns a 403 Forbidden error when you attempt to access an endpoint on behalf of a user that lacks the necessary privileges for the endpoint. Use the GET /account/user/privileges endpoint and the V3 API Endpoint Privileges table to determine which privileges you are missing.

On this page