Constant Contact Landing Pages Reporting API
Use landing pages reporting endpoints and methods to get reporting data about how a contact interacted with a campaign activity.
Use landing pages reporting endpoints and methods to get reporting data about how a contact interacted with a campaign activity.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/constant-contact-landing-pages-reporting-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: The Constant Contact, Inc. V3 public API, for building integrations with Constant Contact, the leading small-business email marketing platform.
version: 3.0.178
title: AppConnect V3 Landing Pages Reporting API
contact:
name: webservices@constantcontact.com
license:
name: Private
url: https://www.constantcontact.com/legal/terms-of-use
servers:
- url: https://api.cc.email/v3
tags:
- name: Landing Pages Reporting
description: Use landing pages reporting endpoints and methods to get reporting data about how a contact interacted with a campaign activity.
paths:
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_clicks:
get:
tags:
- Landing Pages Reporting
summary: GET a Unique Contacts Clicks Landing Page Report
description: Use this method get details about each contact that clicked a link on a landing page campaign activity. Unique contact clicks are identified by both the `contact_id` and `url_id`. The same contact may appear more than once in the results, if they clicked more than one link on the landing page. The resulting contact data is listed with most recent activity first.
operationId: getUniqueContactClicks
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact click results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to return only contacts that match a contacts full or partial first or last name, or email. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactClickTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_opens:
get:
tags:
- Landing Pages Reporting
summary: GET a Unique Contacts Opens Landing Page Report
description: Use this method get details about each contact that opens a link on a landing page. Contacts are uniquely identified by `contact_id`. The resulting contact data is listed with most recent activity first.
operationId: getUniqueContactOpens
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactOpensTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_contact_opens:
get:
tags:
- Landing Pages Reporting
summary: GET a Contacts Opens Landing Page Report
description: Use this method get contact details for each time a contact opens a link on a landing page. The resulting contact data is listed with most recent activity first.
operationId: getContactOpens
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactOpensTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_updates:
get:
tags:
- Landing Pages Reporting
summary: GET a Unique Contacts Updates Landing Page Report
description: Use this method to get contact details for each contact that updated their contact data from a landing page. Contacts are uniquely identified by `contact_id`. The resulting contact data is listed with most recent activity first.
operationId: getUniqueContactUpdates
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact open results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactUpdateTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_adds:
get:
tags:
- Landing Pages Reporting
summary: GET a Unique Contacts Adds Landing Page Report
description: Use this method to get details about each contact added to the account from a specified landing page. Contacts are identified by `contact_id`. The resulting contact data is listed with most recent activity first.
operationId: getContactAdds
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to only include contacts that contain a certain value. This parameter does full and partial matches and applies to the contact first name, last name, and email fields. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactAddTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
/reports/landing_pages/campaign_details/{campaign_activity_id}/p_unique_contact_sms_optins:
get:
tags:
- Landing Pages Reporting
summary: GET a Unique Contacts SMS Opt-In Landing Page Report
description: Use this method get details about unique contacts that click a link on a landing page to opt in to receiving SMS text messages. Contacts are uniquely identified by `contact_id``. The resulting contact data is listed with most recent activity first.
operationId: getUniqueContactSMSOptIns
parameters:
- name: campaign_activity_id
in: path
description: The landing page `campaign_activity_id` (UUID's) to use to get unique contact click results.
required: true
x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
schema:
type: string
format: uuid
- name: limit
in: query
description: Use to limit the number of contact tracking activities to return on a single page. The default is `50` and the maximum is `500` per page.
required: false
x-example: '100'
schema:
type: string
default: '50'
- name: contacts_filter
in: query
description: 'Use to filter the results to return only contacts that match a contacts full or partial first or last name, or email. For example: Josie or Jo.'
required: false
x-example: Jo
schema:
type: string
responses:
'200':
description: Request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PContactSMSOptInTrackingActivitiesPage'
'400':
description: Bad request. Either the JSON was malformed or there was a data validation error.
'401':
description: The Access Token used is invalid.
'403':
description: Forbidden request. You lack the necessary scopes, you lack the necessary user privileges, or the application is deactivated.
'404':
description: The requested resource was not found.
'415':
description: Unsupported Media Type.
'500':
description: There was a problem with our internal service.
security:
- oauth2_implicit:
- campaign_data
- oauth2_access_code:
- campaign_data
x-authorization-privileges:
- ui:campaign:metrics
components:
schemas:
PContactAddTrackingActivitiesPage:
type: object
required:
- _links
- tracking_activities
properties:
tracking_activities:
type: array
description: The list of landing page contact adds tracking activities.
items:
$ref: '#/components/schemas/PContactAddTrackingActivity'
_links:
description: HAL property that contains next link if applicable
$ref: '#/components/schemas/lpreportingLinks'
PContactClickTrackingActivitiesPage:
type: object
required:
- _links
- tracking_activities
properties:
tracking_activities:
type: array
description: The list of landing page contact click tracking activities.
items:
$ref: '#/components/schemas/PContactClickTrackingActivity'
_links:
description: HAL property that contains next link if applicable
$ref: '#/components/schemas/lpreportingLinks'
lpreportingNext:
type: object
required:
- href
properties:
href:
type: string
description: The next link in the page or null if there are no additional pages
PContactOpenTrackingActivity:
type: object
required:
- campaign_activity_id
- contact_id
- created_time
- email_address
- tracking_activity_type
properties:
contact_id:
type: string
format: uuid
example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
description: The unique ID that identifies the contact.
campaign_activity_id:
type: string
format: uuid
example: 98edac88-f4bc-408c-9e64-acd890384231
description: The unique ID that identifies of the campaign activity to use.
tracking_activity_type:
type: string
example: p_contact_opens
description: The tracked activity event type.
email_address:
type: string
example: maddieb@gmail.com
description: The email address for the contact and tracking activity.
first_name:
type: string
example: Maddie
description: The first name of the contact.
last_name:
type: string
example: Brown
description: The last name of the contact.
device_type:
type: string
example: tablet
description: The type of device that was used to open the link.
created_time:
type: string
format: date-time
example: '2019-04-25T11:08:00.000Z'
description: The time the tracking activity occurred.
deleted_at:
type: string
format: date
example: '2015-08-10'
description: The time the Contact was deleted
sms_channel:
description: Sms channel info for this contact
$ref: '#/components/schemas/TrackingActivitySmsChannelDTO'
PContactUpdateTrackingActivitiesPage:
type: object
required:
- _links
- tracking_activities
properties:
tracking_activities:
type: array
description: The list of landing page contact update tracking activities.
items:
$ref: '#/components/schemas/PContactUpdateTrackingActivity'
_links:
description: HAL property that contains next link if applicable
$ref: '#/components/schemas/lpreportingLinks'
PContactClickTrackingActivity:
type: object
required:
- campaign_activity_id
- contact_id
- created_time
- email_address
- link_url
- tracking_activity_type
properties:
contact_id:
type: string
format: uuid
example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
description: The unique ID that identifies the contact.
campaign_activity_id:
type: string
format: uuid
example: 98edac88-f4bc-408c-9e64-acd890384231
description: The unique ID that identifies of the campaign activity to use.
tracking_activity_type:
type: string
example: p_contact_click
description: The tracked activity event type.
email_address:
type: string
example: maddieb@gmail.com
description: The email address for the contact and tracking activity.
first_name:
type: string
example: Maddie
description: The first name of the contact.
last_name:
type: string
example: Brown
description: The last name of the contact.
device_type:
type: string
example: tablet
description: The type of device that was used to click the link.
url_id:
type: string
example: '1100407204171'
description: The ID used to uniquely identify the link.
link_url:
type: string
example: http://www.amazon.com
description: The URL link text.
created_time:
type: string
format: date-time
example: '2019-04-25T11:08:00.000Z'
description: The time the tracking activity occurred.
deleted_at:
type: string
format: date
example: '2015-08-10'
description: The time the Contact was deleted
sms_channel:
description: Sms channel info for this contact
$ref: '#/components/schemas/TrackingActivitySmsChannelDTO'
PContactSMSOptInTrackingActivitiesPage:
type: object
required:
- _links
- tracking_activities
properties:
tracking_activities:
type: array
description: The list of landing page contact opt in tracking activities.
items:
$ref: '#/components/schemas/PContactSMSOptInTrackingActivity'
_links:
description: HAL property that contains next link if applicable
$ref: '#/components/schemas/lpreportingLinks'
lpreportingLinks:
type: object
required:
- next
properties:
next:
description: Contains the next link if it is available.
$ref: '#/components/schemas/lpreportingNext'
PContactAddTrackingActivity:
type: object
required:
- campaign_activity_id
- contact_id
- created_time
- email_address
- tracking_activity_type
properties:
contact_id:
type: string
format: uuid
example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
description: The unique ID that identifies the contact.
campaign_activity_id:
type: string
format: uuid
example: 98edac88-f4bc-408c-9e64-acd890384231
description: The unique ID that identifies of the campaign activity to use.
tracking_activity_type:
type: string
example: p_contact_adds
description: The tracked activity event type.
email_address:
type: string
example: maddieb@gmail.com
description: The email address for the contact and tracking activity.
first_name:
type: string
example: Maddie
description: The first name of the contact.
last_name:
type: string
example: Brown
description: The last name of the contact.
created_time:
type: string
format: date-time
example: '2019-04-25T11:08:00.000Z'
description: The time the tracking activity occurred.
deleted_at:
type: string
format: date
example: '2015-08-10'
description: The time the Contact was deleted
sms_channel:
description: Sms channel info for this contact
$ref: '#/components/schemas/TrackingActivitySmsChannelDTO'
PContactOpensTrackingActivitiesPage:
type: object
required:
- _links
- tracking_activities
properties:
tracking_activities:
type: array
description: The list of landing page contact opens tracking activities.
items:
$ref: '#/components/schemas/PContactOpenTrackingActivity'
_links:
description: HAL property that contains next link if applicable
$ref: '#/components/schemas/lpreportingLinks'
TrackingActivitySmsChannelDTO:
type: object
properties:
country_code:
type: string
example: US
description: The ISO country code that is associated with SMS address.
state:
type: string
description: "The SMS channel status:\n <ul><li><code>N</code>: not_set<li>\n <li><code>T</code>: temp_hold<li>\n <li><code>P</code>: pending_confirmation<li>\n <li><code>I</code>: implicit<li>\n <li><code>E</code>: explicit<li>\n <li><code>O</code>: unsubscribed<li>\n <li><code>D</code>:deprecated<li></ul>"
formatted_international:
type: string
example: +1 234-555-6789
description: 'The formatted SMS number returned if the SMS <code>country_code</code> does not match the contacts <code>country_code</code>. '
formatted_national:
type: string
example: (234) 555-6789
description: 'The formatted SMS number returned if the SMS <code>country_code</code> matches the contacts <code>country_code</code>. '
PContactUpdateTrackingActivity:
type: object
required:
- campaign_activity_id
- contact_id
- created_time
- email_address
- tracking_activity_type
properties:
contact_id:
type: string
format: uuid
example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
description: The unique ID that identifies the contact.
campaign_activity_id:
type: string
format: uuid
example: 98edac88-f4bc-408c-9e64-acd890384231
description: The unique ID that identifies of the campaign activity to use.
tracking_activity_type:
type: string
example: p_contact_updates
description: The tracked activity event type.
email_address:
type: string
example: maddieb@gmail.com
description: The email address for the contact and tracking activity.
first_name:
type: string
example: Maddie
description: The first name of the contact.
last_name:
type: string
example: Brown
description: The last name of the contact.
created_time:
type: string
format: date-time
example: '2019-04-25T11:08:00.000Z'
description: The time the tracking activity occurred.
deleted_at:
type: string
format: date
example: '2015-08-10'
description: The time the Contact was deleted
sms_channel:
description: Sms channel info for this contact
$ref: '#/components/schemas/TrackingActivitySmsChannelDTO'
PContactSMSOptInTrackingActivity:
type: object
required:
- campaign_activity_id
- contact_id
- created_time
- email_address
- tracking_activity_type
properties:
contact_id:
type: string
format: uuid
example: a2fdc285-f4bc-408c-9e64-f3f89038ec82
description: The unique ID that identifies the contact.
campaign_activity_id:
type: string
format: uuid
example: 98edac88-f4bc-408c-9e64-acd890384231
description: The unique ID that identifies of the campaign activity to use.
tracking_activity_type:
type: string
example: p_contact_sms_optins
description: The tracked activity event type.
email_address:
type: string
example: maddieb@gmail.com
description: The email address for the contact and tracking activity.
first_name:
type: string
example: Maddie
description: The first name of the contact.
last_name:
type: string
example: Brown
description: The last name of the contact.
created_time:
type: string
format: date-time
example: '2019-04-25T11:08:00.000Z'
description: The time the tracking activity occurred.
deleted_at:
type: string
format: date
example: '2015-08-10'
description: The time the Contact was deleted
sms_channel:
description: Sms channel info for this contact
$ref: '#/components/schemas/TrackingActivitySmsChannelDTO'
securitySchemes:
oauth2_implicit:
type: oauth2
flows:
implicit:
scopes:
contact_data: Read or modify contact data.
campaign_data: Read or modify email campaign data.
account_read: Read account data.
account_update: Modify account data.
billing_data: Read or modify billing data.
authorizationUrl: https://authz.constantcontact.com/oauth2/default/v1/authorize
oauth2_access_code:
type: oauth2
flows:
authorizationCode:
scopes:
contact_data: Read or modify contact data.
campaign_data: Read or modify email campaign data.
account_read: Read account data.
account_update: Modify account data.
billing_data: Read or modify billing data.
authorizationUrl: https://authz.constantcontact.com/oauth2/default/v1/authorize
tokenUrl: https://authz.constantcontact.com/oauth2/default/v1/token
ctctPartnerAuthorizer:
type: oauth2
flows:
implicit:
scopes:
v3api/general.partner: Access to general partner API methods
authorizationUrl: https://v3api-partner.auth.us-east-1.amazoncognito.com/oauth2/token
description: Partner Authentication
api_key:
type: apiKey
name: x-api-key
in: header