Constant Contact Email Reporting API

Use the email reporting endpoints and methods to get reporting data for email campaigns you sent to contacts.

OpenAPI Specification

constant-contact-email-reporting-api-openapi.yml Raw ↑
swagger: '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.149
  title: AppConnect V3 Account Services Email Reporting API
  contact:
    name: webservices@constantcontact.com
  license:
    name: Private
    url: https://www.constantcontact.com/legal/terms-of-use
host: api.cc.email
basePath: /v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Email Reporting
  description: Use the email reporting endpoints and methods to get reporting data for email campaigns you sent to contacts.
paths:
  /reports/email_reports/{campaign_activity_id}/links:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Links Report
      description: 'Use this method to return link details, including the number of unique contacts that clicked each link in an email campaign activity, and the type of action associated with clicking each link. To include link details for links that were not clicked, set the `no_clicks` query parameter to `true`.


        You can return reporting data for `primary_email` and `resend` role email campaign activities. For more use case information, see [Get an Email Links Report](/api_guide/email_links_report.html) in the API guide.'
      operationId: getCampaignActivityLinkStats
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The unique ID for an email campaign activity.
        required: true
        type: string
        format: uuid
        x-example: 8892baf9-970a-4de6-8400-fa4ec461987c
      - name: no_clicks
        in: query
        description: Set this query parameter to `true` to  return details for links that were not clicked in the response results.
        required: false
        type: boolean
        default: false
        x-example: 'true'
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/EmailLinks'
        '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
      x-sdk-methodName: getCampaignActivityLinkReport
  /reports/email_reports/{campaign_activity_id}/tracking/sends:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Sends Report
      description: Use this method to get each contact that was sent a specific email campaign activity. This sends report includes general contact data such as the date and time that the email campaign activity was sent to a contact's email address, the contact's first and last name, and unique ID. This report lists the most recent activity first. For more use case information, see [Get an Sends report for an Email Campaign Activity](/api_guide/email_summary_sends_report.html) in the API guide.
      operationId: getSends
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The unique ID for an email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
        x-example: 8892baf9-970a-4de6-8400-fa4ec461987c
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/SendsTrackingActivitiesPage'
        '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
      x-sdk-methodName: getEmailSendsReport
  /reports/email_reports/{campaign_activity_id}/tracking/opens:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Opens Report
      description: Use this method to get each time a contact opened a specific email campaign activity. This report includes general contact information such as the contact's email address and unique ID, the date and time they opened the email campaign activity, and the type of device they used to open it. This report lists the most recent activity first. For more use case information, see [Get an Opens report for an Email Campaign Activity](/api_guide/email_summary_opens_report.html) in the API guide.
      operationId: getOpens
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The unique ID for an email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
        x-example: 8892baf9-970a-4de6-8400-fa4ec461987c
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/OpensTrackingActivitiesPage'
        '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
      x-sdk-methodName: getEmailOpensReport
  /reports/email_reports/{campaign_activity_id}/tracking/unique_opens:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Unique Opens Report
      description: Use this method to get a unique opens report that provides details about the last time that each contact opened the specified email campaign activity. This report includes general contact information such as the contact's email address and unique ID, the date and time they opened the email campaign activity, and the type of device they used to open it. This report lists the most recent activity first. For more use case information, see [Get an Unique Opens Report for an Email Campaign Activity](/api_guide/email_summary_unique_opens_report.html) in the API guide.
      operationId: getUniqueOpens
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
        x-example: 8892baf9-970a-4de6-8400-fa4ec461987c
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/OpensTrackingActivitiesPage'
        '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
      x-sdk-methodName: getUniqueOpensReport
  /reports/email_reports/{campaign_activity_id}/tracking/didnotopens:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Did Not Opens Report
      description: Use this method to get a report listing each contact that was sent, but did not open the specified email campaign activity. This report lists contact information such as the contact's email address and unique ID, and the date and time that the email campaign activity was sent. This report lists the most recent activity first. For more use case information, see [Get a Did Not Opens Report for an Email Campaign Activity](/api_guide/email_summary_non_opens_report.html) in the API guide.
      operationId: getDidNotOpens
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
        x-example: 8892baf9-970a-4de6-8400-fa4ec461987c
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/DidNotOpensTrackingActivitiesPage'
        '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
      x-sdk-methodName: getDidNotOpensReport
  /reports/email_reports/{campaign_activity_id}/tracking/clicks:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Clicks Report
      description: Use this method to get each time a contact clicked a link, the click date and time, and the device type they used. Use the `url_id` query parameter to get a clicks report for a specific link URL. Clicks report data is sorted with most recent activity listed first.
      operationId: getClicks
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
        x-example: c8cdf384-15ca-4dcc-9b6f-4c91121fdc23
      - name: url_id
        in: query
        description: The ID that uniquely identifies a single link URL for which you want to get a clicks report.
        required: false
        type: integer
        format: int64
        x-example: '49920742166'
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/ClicksTrackingActivitiesPage'
        '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
      x-sdk-methodName: getClicksReport
  /reports/email_reports/{campaign_activity_id}/tracking/forwards:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Forwards Report
      description: Use this method to get a report listing each time a contact forwarded the email campaign activity using the forwarding link in the email footer. The report includes general contact information, such as the contact's email address and unique ID, and the date and time that the email campaign activity was forwarded. Forwards report data is sorted with the most recent activity listed first. For more use case information, see [Get an Email Forwards Report](/api_guide/email_summary_forwards_report.html) in the API guide.
      operationId: getForwards
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/ForwardsTrackingActivitiesPage'
        '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
      x-sdk-methodName: getForwardsReport
  /reports/email_reports/{campaign_activity_id}/tracking/optouts:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Opt-outs Report
      description: Use this method to get a report listing each contact that clicked the unsubscribe link in the email campaign activity to opt-out from receiving emails sent from your Constant Contact account. This report includes contact information, such as the contact's email address, unique ID, and the opt-out date and time. Opt-out report data is sorted with the most recent activity listed first. For more use case information, see [Get an Email Opt-outs Report](/api_guide/email_summary_optouts_report.html) in the API guide.
      operationId: getOptouts
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/OptoutsTrackingActivitiesPage'
        '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
      x-sdk-methodName: getOptoutsReport
  /reports/email_reports/{campaign_activity_id}/tracking/bounces:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Bounces Report
      description: 'Use this method to get a report listing contact bounce data for the specified email campaign activity. This report lists the most recent bounce data first and includes contact information, such as the contact''s email address, unique ID, and the email bounce date and time.

        Use the <code>bounce_code</code> query parameter to limit the type of bounce data to return.


        For more use case information, see [Get a Bounces Report for an Email Campaign Activity](/api_guide/email_summary_bounces_report.html) in the API guide.'
      operationId: getBounces
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_id
        in: path
        description: The ID that uniquely identifies the email campaign activity to use for this report.
        required: true
        type: string
        format: uuid
      - name: bounce_code
        in: query
        description: To return results for a specific bounce code, select the `bounce_code` from the drop-down list. To return results for multiple codes, repeat the bounce code parameter for each. For example, to return results for bounce codes `B` and `D` use `bounce_code=B&bounce_code=D`.
        required: false
        type: array
        items:
          type: string
          enum:
          - B
          - D
          - F
          - S
          - V
          - X
          - Z
        collectionFormat: multi
      - name: limit
        in: query
        description: The number of tracking activities to return on a page.
        required: false
        type: string
        default: '500'
        maximum: 500
        minimum: 1
      responses:
        '200':
          description: Request was successful
          schema:
            $ref: '#/definitions/BouncesTrackingActivitiesPage'
        '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
      x-sdk-methodName: getBouncesReport
  /reports/summary_reports/email_campaign_summaries:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Campaigns Summary Report
      description: "Use this method to get aggregate email campaign statistics for up to five hundred email campaigns. The response results include the total number of times that each contact uniquely interacted with each tracked campaign activity.\n\nResults are sorted in descending order by the date that the email was last sent (<code>last_sent_date</code>). Use the <code>limit</code> query parameter to limit the number of email campaign summary reports listed on each page.\n\n\n\n For more use case information, see \"[Get an Email Campaign Summary Report](/api_guide/email_bulk_campaign_summary_report.html)\""
      operationId: getAllBulkEmailCampaignSummaries
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: limit
        in: query
        description: Use the `limit` query parameter to limit the number of email campaign summaries to return on a single page. The default is `50` and the maximum is `500` per page.
        required: false
        type: string
        default: '50'
        x-example: '100'
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/BulkEmailCampaignSummariesPage'
        '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.
        '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
      x-sdk-methodName: getEmailCampaignReport
  /reports/stats/email_campaigns/{campaign_ids}:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Campaign Stats Report
      description: 'Use this method to get email campaign performance tracking statistics for one or more campaigns, including the total number of times contacts interacted with your campaigns and how.


        For each `campaign_id`, this method returns lists that include total counts (`stats`) for each type of tracked email and relevant campaign-related percentages (`percents`). It also returns the date and time at which the campaign stats were last refreshed.

        If any specified `campaign_id` is invalid, a 404 error response is returned for all campaigns.'
      operationId: getEmailSummary
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_ids
        in: path
        description: A comma-separated list of `campaign_id`s (UUID's).
        required: true
        type: string
        maximum: 150
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/CampaignStatsQueryResultEmail'
        '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.
        '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
      x-sdk-methodName: getEmailStatsReport
  /reports/stats/email_campaign_activities/{campaign_activity_ids}:
    get:
      tags:
      - Email Reporting
      summary: GET an Email Campaign Activity Stats Report
      description: 'Use this method to get performance tracking statistics for up to ten email campaign activities. Statistics include the total number of times contacts interacted with your campaigns and how.


        For each `campaign_activity_id`, this method returns the `campaign_id`, the total counts (`stats`) for each type of tracked email activity, and the date and time that Constant Contact last refreshed (`last_refresh_time`) the `stats`.


        When requesting statistics for multiple email campaign activities, if one or more of the `campaign_activity_ids` do not exist, were deleted, or do not have any stats associated with it, the `campaign_activity_ids` and error details display under `errors`. If any single specified `campaign_activity_id` is invalid (malformed), a 404 error response is returned for all campaign activities.'
      operationId: getEmailCampaignActivitySummary
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: campaign_activity_ids
        in: path
        description: A comma-separated list of `campaign_activity_id`s (UUID's).
        required: true
        type: string
        maximum: 10
        x-example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
      responses:
        '200':
          description: Request was successful.
          schema:
            $ref: '#/definitions/CampaignActivityStatsQueryResultEmail'
        '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.
        '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
      x-sdk-methodName: getEmailCampaignActivityReport
definitions:
  Next-2:
    type: object
    properties:
      href:
        type: string
        description: The next link in the page or null if there are no additional pages.
  CampaignStatsQueryResultEmail:
    type: object
    properties:
      errors:
        type: array
        description: An array of errors indicating any partial failures in the query.
        items:
          $ref: '#/definitions/StatsError'
      results:
        type: array
        description: An array of results listing statistics for each requested <code>campaign_id</code>.
        items:
          $ref: '#/definitions/CampaignStatsResultGenericStatsEmailPercentsEmail'
  OpensTrackingActivity:
    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 ID that uniquely identifies a contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The ID that uniquely identifies an email campaign activity.
      tracking_activity_type:
        type: string
        example: em_opens
        description: The type of tracking activity that is associated with this <code>campaign_activity_id</code> and used for reporting purposes.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The email address used to send the email campaign activity to a contact.
      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: computer
        description: The type of device that the contact used to open the email campaign activity.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The date and time that the contact opened the email campaign activity.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        description: If applicable, displays the date that the contact was deleted.
  CampaignStatsResultGenericStatsEmailPercentsEmail:
    type: object
    properties:
      campaign_id:
        type: string
        example: 82ee2c37-c8f8-4974-9560-ef93ad51d58z
        description: The ID that uniquely identifies the campaign (UUID).
      stats:
        description: Key-value pairs of campaign related statistics.
        $ref: '#/definitions/StatsEmail'
      percents:
        description: Key-value pairs of campaign related percentages.
        $ref: '#/definitions/PercentsEmail'
      last_refresh_time:
        type: string
        format: date-time
        example: '2015-08-25T22:00:09.908Z'
        description: The date and time that the campaign stats were last refreshed.
  OptoutsTrackingActivity:
    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 ID that uniquely identifies a contact.
      campaign_activity_id:
        type: string
        format: uuid
        example: 98edac88-f4bc-408c-9e64-acd890384231
        description: The ID that uniquely identifies the email campaign activity.
      tracking_activity_type:
        type: string
        example: em_optouts
        description: The type of report tracking activity that is associated with the specified <code>campaign_activity_id</code>.
      email_address:
        type: string
        example: maddieb@gmail.com
        description: The contact's email address.
      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.
      opt_out_reason:
        type: string
        example: The content is not what I expected
        description: The opt-out reason, if the contact entered a reason.
      created_time:
        type: string
        format: date-time
        example: '2019-04-25T11:08:00.000Z'
        description: The time that the contact chose to opt-out from receiving future email campaign activities.
      deleted_at:
        type: string
        format: date
        example: '2015-08-10'
        descr

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/constant-contact/refs/heads/main/openapi/constant-contact-email-reporting-api-openapi.yml