Constant Contact Technology Partners Webhooks API

Use partner webhooks to subscribe to billing event notifications from Constant Contact.

Operations 5

GET /partner/webhooks/subscriptions GET a Collection of Webhook Topic Subscriptions #
GET /partner/webhooks/subscriptions/{topic_id} GET Webhook Topic Subscription #
PUT /partner/webhooks/subscriptions/{topic_id} PUT Webhook Topic Subscription #
DELETE /partner/webhooks/subscriptions/{topic_id} DELETE Webhook Topic Subscriptions #
POST /partner/webhooks/subscriptions/{topic_id}/tests POST Test Send Webhook Notification #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/constant-contact-technology-partners-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

constant-contact-technology-partners-webhooks-api-openapi.yml Raw ↑
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 Technology Partners Webhooks 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: Technology Partners Webhooks
  description: Use partner webhooks to subscribe to billing event notifications from Constant Contact.
paths:
  /partner/webhooks/subscriptions:
    get:
      tags:
      - Technology Partners Webhooks
      summary: GET a Collection of Webhook Topic Subscriptions
      description: Use this GET method to return a collection containing your application's webhook subscriptions.
      operationId: getWebhooksCollection
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksSubscriptionCollection'
        '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:
      - ctctPartnerAuthorizer: []
        api_key: []
      x-sdk-methodName: getAllWebhooks
  /partner/webhooks/subscriptions/{topic_id}:
    get:
      tags:
      - Technology Partners Webhooks
      summary: GET Webhook Topic Subscription
      description: "Use this GET method to return subscription information for a certain `topic_id`. Possible `topic_id` values include:\n\n  * `1` - Billing tier upgrade.\n  * `2` - Billing tier downgrade.\n  * `3` - Account cancelled.\n  * `4` - Account disabled."
      operationId: getWebhooksTopic
      parameters:
      - name: topic_id
        in: path
        description: Identifies a webhook topic.
        required: true
        x-example: '1'
        schema:
          type: string
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksSubscriptionResponse'
        '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:
      - ctctPartnerAuthorizer: []
        api_key: []
      x-sdk-methodName: getWebhooksTopicById
    put:
      tags:
      - Technology Partners Webhooks
      summary: PUT Webhook Topic Subscription
      description: "Use this PUT method to subscribe your application to a `topic_id` or to update the callback URI for an existing subscription. Possible `topic_id` values include:\n\n * `1` - Billing tier upgrade.\n * `2` - Billing tier downgrade.\n * `3` - Account cancelled.\n * `4` - Account disabled.\n\nAfter you subscribe your application, Constant Contact will automatically start sending POST notifications for your chosen topic to your application's callback URI. This is an example of the POST notification request body:\n\n  ```\n  {\"url\":\"https://api.cc.email/v3/partner/accounts/a07e1my9tbw0/plan\",\n  \"api_key\":\"90ed8738-5190-44a3-bc12-c172930db12c\",\n  \"event_type\":\"tier.increase\"}\n  ```\n</br>\nIf your application does not return a success response after receiving a notification, Constant Contact will retry sending the POST notification at 1 minute intervals for up to an hour."
      operationId: putWebhooksTopic
      parameters:
      - name: topic_id
        in: path
        description: Identifies a webhook topic.
        required: true
        x-example: '1'
        schema:
          type: string
      responses:
        '200':
          description: Request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksSubscriptionPutResp'
        '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:
      - ctctPartnerAuthorizer: []
        api_key: []
      x-sdk-methodName: updateWebhooksTopic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhooksSubscriptionBody'
        description: A JSON payload containing a callback URI. Constant Contact uses this callback URI to notify you about your chosen topic.
        required: true
    delete:
      tags:
      - Technology Partners Webhooks
      summary: DELETE Webhook Topic Subscriptions
      description: "Use this DELETE method to unsubscribe your application from notifications on a certain `topic_id`. Possible `topic_id` values include:\n\n * `1` - Billing tier upgrade.\n * `2` - Billing tier downgrade.\n * `3` - Account cancelled.\n * `4` - Account disabled."
      operationId: deleteWebhooksSubscriptions
      parameters:
      - name: topic_id
        in: path
        description: Identifies a webhook topic.
        required: true
        x-example: '1'
        schema:
          type: string
      responses:
        '204':
          description: Webhooks subscription successfully deleted.
        '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:
      - ctctPartnerAuthorizer: []
        api_key: []
  /partner/webhooks/subscriptions/{topic_id}/tests:
    post:
      tags:
      - Technology Partners Webhooks
      summary: POST Test Send Webhook Notification
      description: "Use this POST method to validate a webhook subscription by triggering a test notification for your chosen webhook `topic_id`. Possible `topic_id` values include:\n\n * `1` - Billing tier upgrade.\n * `2` - Billing tier downgrade.\n * `3` - Account cancelled.\n * `4` - Account disabled.\n\nAfter you successfully send this request, Constant Contact will automatically send a POST notification to your chosen topic's callback URI with example data."
      operationId: testSendWebhooksTopic
      parameters:
      - name: topic_id
        in: path
        description: Identifies a webhook topic.
        required: true
        x-example: '1'
        schema:
          type: string
      responses:
        '201':
          description: Test notification successfully sent to your callback URI.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksTestSend'
        '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:
      - ctctPartnerAuthorizer: []
        api_key: []
components:
  schemas:
    WebhooksSubscriptionCollection:
      type: array
      description: An array of webhook subscriptions.
      items:
        type: object
        properties:
          topic_id:
            type: integer
            example: 2
            description: Identifies the topic using an integer to indicate the type of topic.
          hook_uri:
            type: string
            example: https://www.examplename.com/webhooks/billingTier
            description: Your webhook callback URI. Constant Contact automatically sends POST requests to this URI to notify you about the topic.
          topic_name:
            type: string
            example: Billing Tier Downgrade
            description: The name of the topic.
          topic_description:
            type: string
            example: Executes when an account's billing tier is downgraded.
            description: A description of what the topic is and when Constant Contact notifies you concerning it.
    WebhooksSubscriptionResponse:
      type: object
      properties:
        topic_id:
          type: integer
          example: 2
          description: Identifies the topic using an integer to indicate the type of topic.
        hook_uri:
          type: string
          example: https://www.examplename.com/webhooks/billingTier
          description: Your webhook callback URI. Constant Contact automatically sends POST requests to this URI to notify you about the topic.
        topic_name:
          type: string
          example: Billing Tier Downgrade
          description: The name of the topic.
        topic_description:
          type: string
          example: Executes when an account's billing tier is downgraded.
          description: A description of what the topic is and when Constant Contact notifies you concerning it.
    WebhooksSubscriptionPutResp:
      type: object
      properties:
        topic_id:
          type: integer
          example: 1
          description: Identifies the topic using an integer to indicate the type of topic.
        hook_uri:
          type: string
          example: https://www.examplename.com/webhooks/billingTier
          description: Your webhook callback URI. Constant Contact automatically sends POST requests to this URI to notify you about the topic.
    WebhooksSubscriptionBody:
      type: object
      properties:
        hook_uri:
          type: string
          example: https://www.examplename.com/webhooks/billingTier
          description: The callback URI you would like to use to receive webhook notifications. Constant Contact will automatically send POST notifications about your chosen topic to this URI.
    WebhooksTestSend:
      type: object
      properties:
        topic_id:
          type: integer
          example: 2
          description: Identifies the topic using an integer to indicate the type of topic.
        hook_uri:
          type: string
          example: https://www.examplename.com/webhooks/billingTier
          description: The webhook callback URI. Constant Contact automatically sends POST requests to this URI to notify you about the topic.
        topic_name:
          type: string
          example: Billing Tier Downgrade
          description: The name of the topic.
        topic_description:
          type: string
          example: Executes when an account's billing tier is downgraded.
          description: A description of what the topic is and when Constant Contact notifies you concerning it. When you use the test send API method, Constant Contact will immediately send a test event to you.
  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