Constant Contact · Capability
AppConnect V3 — Bulk Activities
AppConnect V3 — Bulk Activities. 14 operations. Lead operation: GET Activity Status Collection. Self-contained Naftiko capability covering one Constant Contact business surface.
What You Can Do
GET
Getactivitystatuscollection
— GET Activity Status Collection
/v1/activities
POST
Postlistaddcontact
— Add Contacts to Lists
/v1/activities/add-list-memberships
POST
Postcontactdelete
— Delete Contacts in Bulk
/v1/activities/contact-delete
POST
Postcontactsexport
— Export Contacts to a File
/v1/activities/contact-exports
POST
Contactscsvimport
— Import Contacts using a CSV File
/v1/activities/contacts-file-import
POST
Bulkimportcontactsjson
— Import Contacts using a JSON Payload
/v1/activities/contacts-json-import
POST
Posttagaddcontact
— Add Tags to Contacts
/v1/activities/contacts-taggings-add
POST
Posttagremovecontact
— Remove Tags from Contacts
/v1/activities/contacts-taggings-remove
POST
Posttagdelete
— Delete Tags
/v1/activities/contacts-tags-delete
POST
Postcustomfielddelete
— Delete Custom Fields
/v1/activities/custom-fields-delete
POST
Postlistdelete
— Delete Contact Lists
/v1/activities/list-delete
POST
Postlistremovecontact
— Remove Contacts from Lists
/v1/activities/remove-list-memberships
GET
Getactivity
— GET an Activity Status
/v1/activities/{activity-id}
GET
Getcontactsexport
— Retrieve Exported Contacts File
/v1/contact-exports/{file-export-id}
MCP Tools
get-activity-status-collection
GET Activity Status Collection
read-only
idempotent
add-contacts-lists
Add Contacts to Lists
delete-contacts-bulk
Delete Contacts in Bulk
export-contacts-file
Export Contacts to a File
import-contacts-using-csv-file
Import Contacts using a CSV File
import-contacts-using-json-payload
Import Contacts using a JSON Payload
add-tags-contacts
Add Tags to Contacts
remove-tags-contacts
Remove Tags from Contacts
delete-tags
Delete Tags
delete-custom-fields
Delete Custom Fields
delete-contact-lists
Delete Contact Lists
remove-contacts-lists
Remove Contacts from Lists
get-activity-status
GET an Activity Status
read-only
idempotent
retrieve-exported-contacts-file
Retrieve Exported Contacts File
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: AppConnect V3 — Bulk Activities
description: 'AppConnect V3 — Bulk Activities. 14 operations. Lead operation: GET Activity Status Collection. Self-contained
Naftiko capability covering one Constant Contact business surface.'
tags:
- Constant Contact
- Bulk Activities
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
CONSTANT_CONTACT_API_KEY: CONSTANT_CONTACT_API_KEY
capability:
consumes:
- type: http
namespace: v3-bulk-activities
baseUri: https://api.cc.email/v3
description: AppConnect V3 — Bulk Activities business capability. Self-contained, no shared references.
resources:
- name: activities
path: /activities
operations:
- name: getactivitystatuscollection
method: GET
description: GET Activity Status Collection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
description: Specifies the number of results displayed per page of output, from 1 - 500, default = 50.
- name: state
in: query
type: string
description: 'Use this parameter to filter the response to include only activities in one of the following states:
cancelled, completed, failed, processing, or timed_out.'
- name: activities-add_list_memberships
path: /activities/add_list_memberships
operations:
- name: postlistaddcontact
method: POST
description: Add Contacts to Lists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The JSON payload used to create the 'add contacts to lists' activity
required: true
- name: activities-contact_delete
path: /activities/contact_delete
operations:
- name: postcontactdelete
method: POST
description: Delete Contacts in Bulk
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The request body contains an array of contact_ids <em>or</em> list_ids. All contact_ids provided are
deleted, or all members of each specified list_id are delet
required: true
- name: activities-contact_exports
path: /activities/contact_exports
operations:
- name: postcontactsexport
method: POST
description: Export Contacts to a File
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: A JSON payload that specifies the contacts (rows in the CSV file) and contact properties (columns in
the CSV file) you want to export.
required: true
- name: activities-contacts_file_import
path: /activities/contacts_file_import
operations:
- name: contactscsvimport
method: POST
description: Import Contacts using a CSV File
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: file
in: formData
type: file
description: 'The CSV file you are importing must include either `email` or `sms_number` as a column heading. Other
properties you can include using column headings are: `fi'
required: true
- name: list_ids
in: formData
type: string
description: Specify which contact lists you are adding all imported contacts to as an array of up to 50 contact
`list_id` values.
required: true
- name: sms_permission_to_send
in: formData
type: string
description: If importing contact `sms_number`s, use this parameter to specify how SMS consent was provided. If
all contacts in the file provided their consent, set to `expl
- name: activities-contacts_json_import
path: /activities/contacts_json_import
operations:
- name: bulkimportcontactsjson
method: POST
description: Import Contacts using a JSON Payload
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The JSON request payload that contains the contact data and contact lists for the import.
required: true
- name: activities-contacts_taggings_add
path: /activities/contacts_taggings_add
operations:
- name: posttagaddcontact
method: POST
description: Add Tags to Contacts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The JSON payload used to create an asynchronous activity that adds tags to contacts that meet your
specified contact filtering criteria.
required: true
- name: activities-contacts_taggings_remove
path: /activities/contacts_taggings_remove
operations:
- name: posttagremovecontact
method: POST
description: Remove Tags from Contacts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The JSON payload used to create an asynchronous activity that removes tags from contacts meeting your
specified contact filtering criteria.
required: true
- name: activities-contacts_tags_delete
path: /activities/contacts_tags_delete
operations:
- name: posttagdelete
method: POST
description: Delete Tags
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: An array of string values (`tag_id`s) to delete.
required: true
- name: activities-custom_fields_delete
path: /activities/custom_fields_delete
operations:
- name: postcustomfielddelete
method: POST
description: Delete Custom Fields
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: An array of `custom_field_id`'s to delete.
required: true
- name: activities-list_delete
path: /activities/list_delete
operations:
- name: postlistdelete
method: POST
description: Delete Contact Lists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: An array of `list_id`'s to delete.
required: true
- name: activities-remove_list_memberships
path: /activities/remove_list_memberships
operations:
- name: postlistremovecontact
method: POST
description: Remove Contacts from Lists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: string
description: The JSON payload used to create the Remove Contacts from Lists' activity
required: true
- name: activities-activity_id
path: /activities/{activity_id}
operations:
- name: getactivity
method: GET
description: GET an Activity Status
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: activity_id
in: path
type: string
description: The unique ID of the activity to GET
required: true
- name: contact_exports-file_export_id
path: /contact_exports/{file_export_id}
operations:
- name: getcontactsexport
method: GET
description: Retrieve Exported Contacts File
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: file_export_id
in: path
type: string
description: 'The unique ID of the exported file provided in the results: section of the export contacts activity
response.'
required: true
exposes:
- type: rest
namespace: v3-bulk-activities-rest
port: 8080
description: REST adapter for AppConnect V3 — Bulk Activities. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/activities
name: activities
description: REST surface for activities.
operations:
- method: GET
name: getactivitystatuscollection
description: GET Activity Status Collection
call: v3-bulk-activities.getactivitystatuscollection
with:
limit: rest.limit
state: rest.state
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/add-list-memberships
name: activities-add-list-memberships
description: REST surface for activities-add_list_memberships.
operations:
- method: POST
name: postlistaddcontact
description: Add Contacts to Lists
call: v3-bulk-activities.postlistaddcontact
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contact-delete
name: activities-contact-delete
description: REST surface for activities-contact_delete.
operations:
- method: POST
name: postcontactdelete
description: Delete Contacts in Bulk
call: v3-bulk-activities.postcontactdelete
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contact-exports
name: activities-contact-exports
description: REST surface for activities-contact_exports.
operations:
- method: POST
name: postcontactsexport
description: Export Contacts to a File
call: v3-bulk-activities.postcontactsexport
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contacts-file-import
name: activities-contacts-file-import
description: REST surface for activities-contacts_file_import.
operations:
- method: POST
name: contactscsvimport
description: Import Contacts using a CSV File
call: v3-bulk-activities.contactscsvimport
with:
file: rest.file
list_ids: rest.list_ids
sms_permission_to_send: rest.sms_permission_to_send
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contacts-json-import
name: activities-contacts-json-import
description: REST surface for activities-contacts_json_import.
operations:
- method: POST
name: bulkimportcontactsjson
description: Import Contacts using a JSON Payload
call: v3-bulk-activities.bulkimportcontactsjson
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contacts-taggings-add
name: activities-contacts-taggings-add
description: REST surface for activities-contacts_taggings_add.
operations:
- method: POST
name: posttagaddcontact
description: Add Tags to Contacts
call: v3-bulk-activities.posttagaddcontact
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contacts-taggings-remove
name: activities-contacts-taggings-remove
description: REST surface for activities-contacts_taggings_remove.
operations:
- method: POST
name: posttagremovecontact
description: Remove Tags from Contacts
call: v3-bulk-activities.posttagremovecontact
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/contacts-tags-delete
name: activities-contacts-tags-delete
description: REST surface for activities-contacts_tags_delete.
operations:
- method: POST
name: posttagdelete
description: Delete Tags
call: v3-bulk-activities.posttagdelete
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/custom-fields-delete
name: activities-custom-fields-delete
description: REST surface for activities-custom_fields_delete.
operations:
- method: POST
name: postcustomfielddelete
description: Delete Custom Fields
call: v3-bulk-activities.postcustomfielddelete
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/list-delete
name: activities-list-delete
description: REST surface for activities-list_delete.
operations:
- method: POST
name: postlistdelete
description: Delete Contact Lists
call: v3-bulk-activities.postlistdelete
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/remove-list-memberships
name: activities-remove-list-memberships
description: REST surface for activities-remove_list_memberships.
operations:
- method: POST
name: postlistremovecontact
description: Remove Contacts from Lists
call: v3-bulk-activities.postlistremovecontact
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/activities/{activity-id}
name: activities-activity-id
description: REST surface for activities-activity_id.
operations:
- method: GET
name: getactivity
description: GET an Activity Status
call: v3-bulk-activities.getactivity
with:
activity_id: rest.activity_id
outputParameters:
- type: object
mapping: $.
- path: /v1/contact-exports/{file-export-id}
name: contact-exports-file-export-id
description: REST surface for contact_exports-file_export_id.
operations:
- method: GET
name: getcontactsexport
description: Retrieve Exported Contacts File
call: v3-bulk-activities.getcontactsexport
with:
file_export_id: rest.file_export_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v3-bulk-activities-mcp
port: 9090
transport: http
description: MCP adapter for AppConnect V3 — Bulk Activities. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: get-activity-status-collection
description: GET Activity Status Collection
hints:
readOnly: true
destructive: false
idempotent: true
call: v3-bulk-activities.getactivitystatuscollection
with:
limit: tools.limit
state: tools.state
outputParameters:
- type: object
mapping: $.
- name: add-contacts-lists
description: Add Contacts to Lists
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postlistaddcontact
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-contacts-bulk
description: Delete Contacts in Bulk
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postcontactdelete
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: export-contacts-file
description: Export Contacts to a File
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postcontactsexport
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: import-contacts-using-csv-file
description: Import Contacts using a CSV File
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.contactscsvimport
with:
file: tools.file
list_ids: tools.list_ids
sms_permission_to_send: tools.sms_permission_to_send
outputParameters:
- type: object
mapping: $.
- name: import-contacts-using-json-payload
description: Import Contacts using a JSON Payload
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.bulkimportcontactsjson
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: add-tags-contacts
description: Add Tags to Contacts
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.posttagaddcontact
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-tags-contacts
description: Remove Tags from Contacts
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.posttagremovecontact
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-tags
description: Delete Tags
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.posttagdelete
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-custom-fields
description: Delete Custom Fields
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postcustomfielddelete
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-contact-lists
description: Delete Contact Lists
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postlistdelete
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-contacts-lists
description: Remove Contacts from Lists
hints:
readOnly: false
destructive: false
idempotent: false
call: v3-bulk-activities.postlistremovecontact
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-activity-status
description: GET an Activity Status
hints:
readOnly: true
destructive: false
idempotent: true
call: v3-bulk-activities.getactivity
with:
activity_id: tools.activity_id
outputParameters:
- type: object
mapping: $.
- name: retrieve-exported-contacts-file
description: Retrieve Exported Contacts File
hints:
readOnly: true
destructive: false
idempotent: true
call: v3-bulk-activities.getcontactsexport
with:
file_export_id: tools.file_export_id
outputParameters:
- type: object
mapping: $.