# ActiveCampaign V3 API

> ActiveCampaign V3 API on Apizie: 257 endpoints (List all accounts, Create an account, Retrieve an account, Update an account, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/communication:activecampaign/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `communication:activecampaign`
- Category: Communication
- Status: byok
- Source: https://activecampaign.com
- Page: https://zieapi.vercel.app/api/communication/activecampaign
- OpenAPI: https://zieapi.vercel.app/api/communication/activecampaign/openapi.json

We help small teams power big businesses with the must-have platform for intelligent marketing automation. 🚀 Customers from over 170 countries depend on our mix of pre-built automations and integrations (including…

## Endpoints

### List all accounts
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | no | Search by name |
| count_deals | boolean | no | Whether to compute the contactCount and dealCount counts for the number of contacts/deals associated with each account. Set it to true to… |

### Create an account
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-create-new-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve an account
`GET https://zieapi.vercel.app/v1/communication:activecampaign/account-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Account's ID |

### Update an account
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-update-existing` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Account's id |
| body | object | no | JSON request body |

### Delete an account
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Account's id |

### Create an account note
`POST https://zieapi.vercel.app/v1/communication:activecampaign/note-create-account-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Account's id to assign new note to |
| body | object | no | JSON request body |

### Update an account note
`POST https://zieapi.vercel.app/v1/communication:activecampaign/note-update-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Account's id to assign new note to |
| noteid | string | yes | Account note's id to update |
| body | object | no | JSON request body |

### Bulk delete accounts
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-bulk-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| []ids | integer | no | An integer id of the account to be deleted |

### List all associations
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-account-associations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filters[contact] | integer | no | Filter by Contact ID |
| filters[account] | integer | no | Filter by Account ID |

### Create an association
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-create-association` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve an association
`GET https://zieapi.vercel.app/v1/communication:activecampaign/account-get-association` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Association's ID |

### Update an association
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-update-association` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Association's ID |
| body | object | no | JSON request body |

### Delete an association
`POST https://zieapi.vercel.app/v1/communication:activecampaign/account-delete-association` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Association's ID |

### List all custom fields
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-custom-field-meta` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of fields returned per request. |

### Create a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-create-custom-field-meta` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a custom field
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-custom-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the field to retrieve |

### Update a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-update-custom-field-meta` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the custom field to update |
| body | object | no | JSON request body |

### Delete a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-custom-field-meta` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the field to delete |

### List all custom field values
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-custom-field-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filters[customerAccountId] | string | no | Filter results by a specific account (note that Id uses a capital I) |

### Create a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-create-custom-field-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Bulk create a custom account field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-bulk-create-custom-account-field-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a custom field value
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the dealCustomFieldData to retrieve |

### Update a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-update-custom-field-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the custom fields value to update |
| body | object | no | JSON request body |

### Delete a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-custom-field-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the dealCustomFieldData to retrieve |

### Bulk update a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-bulk-update-custom-field-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### List all addresses
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-addresses` (byok)

### Create an address
`POST https://zieapi.vercel.app/v1/communication:activecampaign/address-create-new-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve an address
`GET https://zieapi.vercel.app/v1/communication:activecampaign/address-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the Address to retrieve |

### Update an address
`POST https://zieapi.vercel.app/v1/communication:activecampaign/address-update-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the Address being changed |
| body | object | no | JSON request body |

### Delete an address
`POST https://zieapi.vercel.app/v1/communication:activecampaign/address-delete-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the Address to delete |

### Delete address associated with a specific user group
`POST https://zieapi.vercel.app/v1/communication:activecampaign/user-delete-address-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the AddressGroup to delete |

### Delete address associated with a specific list
`POST https://zieapi.vercel.app/v1/communication:activecampaign/list-delete-associated-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the AddressList to delete |

### List all automations
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-automations` (byok)

### Retrieve a branding
`GET https://zieapi.vercel.app/v1/communication:activecampaign/branding-get-branding` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes |  |

### Update a branding
`POST https://zieapi.vercel.app/v1/communication:activecampaign/branding-update-existing-resource` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | Branding ID |
| body | object | no | JSON request body |

### List all brandings
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-brandings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | string | no | ActiveCampaign API key |

### List all calendar feeds
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-calendar-feeds` (byok)

### Create a calendar feed
`POST https://zieapi.vercel.app/v1/communication:activecampaign/calendar-create-feed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a calendar feed
`GET https://zieapi.vercel.app/v1/communication:activecampaign/calendar-get-feed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the calendar feed to retrieve |

### Update a calendar feed
`POST https://zieapi.vercel.app/v1/communication:activecampaign/calendar-update-feed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the calendar feed to update |
| body | object | no | JSON request body |

### Delete a calendar feed
`POST https://zieapi.vercel.app/v1/communication:activecampaign/calendar-delete-feed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the calendar feed to delete |

### Create Shareable Campaign Template Link
`GET https://zieapi.vercel.app/v1/communication:activecampaign/template-create-shareable-link` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | string | no | ActiveCampaign Account API Key |
| id | integer | no | The id of the campaign template to be shared |

### List all campaigns
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-campaigns` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| orders[sdate] | string | no | Order campaigns by send date |
| orders[ldate] | string | no | Order campaigns by last send date |
| filters[seriesid] | integer | no | Filter to return the campaigns from the targeted automationId/seriesIds |

### Retrieve links associated to campaign
`GET https://zieapi.vercel.app/v1/communication:activecampaign/campaign-get-links` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of campaign to retrieve Links for |

### Retrieve a campaign
`GET https://zieapi.vercel.app/v1/communication:activecampaign/campaign-get-campaign-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of campaign to retrieve |

### List all messages
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-messages` (byok)

### Create a message
`POST https://zieapi.vercel.app/v1/communication:activecampaign/message-create-new-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a message
`GET https://zieapi.vercel.app/v1/communication:activecampaign/message-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | ID of the message to retrieve |

### Update a message
`POST https://zieapi.vercel.app/v1/communication:activecampaign/message-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | ID of the message to update |
| message.fromname | string | no | Name of sender |
| message.email | string | no | Email of sender |
| message.reply2 | string | no | Reply email for the recipient to reply to |
| message.subject | string | no | Subject of message |
| message.preheader_text | string | no | Preheader Text |
| body | object | no | JSON request body |

### Delete a message
`POST https://zieapi.vercel.app/v1/communication:activecampaign/message-remove-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | ID of the message to delete |

### List, search, and filter contacts
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ids | string | no | Filter contacts by ID. Can be repeated for multiple IDs. Example: ids[]=1&ids[]=2&ids[]=42 |
| email | string | no | Email address of the contact you want to get |
| email_like | string | no | Filter contacts that contain the given value in the email address |
| exclude | integer | no | Exclude from the response the contact with the given ID |
| formid | integer | no | Filter contacts associated with the given form |
| id_greater | integer | no | Only include contacts with an ID greater than the given ID |
| id_less | integer | no | Only include contacts with an ID less than the given ID |
| listid | string | no | Filter contacts associated with the given list |
| organization | integer | no | (Deprecated) Please use Account-Contact end points. Filter contacts associated with the given organization ID |
| search | string | no | Filter contacts that match the given value in the contact names, organization, phone or email |
| segmentid | integer | no | Return only contacts that match a list segment (the first call kicks off an asynchronous query. When the query is complete, subsequent API… |
| seriesid | integer | no | Filter contacts associated with the given automation |
| status | integer | no | See [available values](https://developers.activecampaign.com/reference/contact) |
| tagid | integer | no | Filter contacts associated with the given tag |
| filters[created_before] | string | no | Filter contacts that were created prior to this date |
| filters[created_after] | string | no | Filter contacts that were created after this date |
| filters[updated_before] | string | no | Filter contacts that were updated before this date |
| filters[updated_after] | string | no | Filter contacts that were updated after this date |
| waitid | integer | no | Filter by contacts in the wait queue of an automation block |
| orders[id] | string | no | Order contacts by unique ID |
| orders[cdate] | string | no | Order contacts by creation date |
| orders[email] | string | no | Order contacts by email |
| orders[first_name] | string | no | Order contacts by first name |
| orders[last_name] | string | no | Order contacts by last name |
| orders[name] | string | no | Order contacts by full name |
| orders[score] | string | no | Order contacts by score |
| in_group_lists | string | no | Set this to "true" in order to return only contacts that the current user has permissions to see. |

### Create a contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-create-new-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Sync a contact's data
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-sync-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a contact
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Update a contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-update-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact to update |
| body | object | no | JSON request body |

### Delete a contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The contact id |

### Update list status for a contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/list-update-list-status-for-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### List all automations the contact is in
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-contact-automations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact to receive automations for |

### Retrieve a contact's score value
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-score-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | id of the Contact |

### Bulk import status list
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-bulk-import-status` (byok)

### Bulk import contacts
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-bulk-import-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Bulk import status info
`GET https://zieapi.vercel.app/v1/communication:activecampaign/import-status-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| batchId | string | no |  |

### List all contact activities
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-contact-activities` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contact | integer | no | Required Contact ID |
| after | string | no | Filter for activities after a specific DateTime |
| include | string | no | Activities to include: notes, notes.user, recipients, recipients.recipient, reference, reference.automation, reference.campaign,… |
| emails | boolean | no |  |
| orders[tstamp] | string | no | Order activities by tstamp |

### Retrieve a contact's bounce logs
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-bounce-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's data
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's goals
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-goals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's list memberships
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-get-contact-list-memberships` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's logs
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a list of contact's deals
`GET https://zieapi.vercel.app/v1/communication:activecampaign/deal-get-contact-deals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's deals
`GET https://zieapi.vercel.app/v1/communication:activecampaign/deal-get-contact-deals-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contact's field values
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts list of geo-ips
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-contact-geo-ips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts geo IP address
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-geo-ip-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| geoAddressID | integer | yes | ID of the contact |

### Retrieve a contacts notes
`GET https://zieapi.vercel.app/v1/communication:activecampaign/note-get-contacts-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve list of all notes
`GET https://zieapi.vercel.app/v1/communication:activecampaign/note-list-all` (byok)

### Create a note
`POST https://zieapi.vercel.app/v1/communication:activecampaign/note-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a contacts organization
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-organization` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts plus append
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-plus-append` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts tracking logs
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-tracking-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts account contacts
`GET https://zieapi.vercel.app/v1/communication:activecampaign/account-get-account-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### Retrieve a contacts automation entry counts
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-automation-entry-counts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contact |

### List all automations a contact is in
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-contact-automations-2` (byok)

### Add a contact to an automation
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-add-to-automation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve an automation a contact is in
`GET https://zieapi.vercel.app/v1/communication:activecampaign/contact-get-in-automation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contactAutomation to retrieve |

### Remove a contact from an automation
`POST https://zieapi.vercel.app/v1/communication:activecampaign/contact-remove-from-automation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the contactAutomation to delete |

### List all custom fields
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-list-all-custom` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of fields returned per request. |

### Create a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-create-custom-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Add Custom Field to Field Group
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-add-group-member` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete Custom Field Field Group
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-field-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| groupID | string | yes | Group ID |
| body | object | no | JSON request body |

### Retrieve a custom field
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-custom-field-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the field to retrieve |

### Update a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-update-custom-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the field to update |
| body | object | no | JSON request body |

### Delete a custom field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-custom-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the field option to delete |

### Get Custom Field to Field Group
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-field-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| groupID | string | yes | Group ID |

### Update Custom Field Field Group
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-update-custom-field-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| groupId | string | yes | Field group ID (see notes) |
| body | object | no | JSON request body |

### Create a custom field relationship to list(s)
`POST https://zieapi.vercel.app/v1/communication:activecampaign/list-create-field-relationship-to-lists` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Create custom field options
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-create-custom-field-options` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete a custom field relationship to list(s)
`POST https://zieapi.vercel.app/v1/communication:activecampaign/list-delete-field-relation-to-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fieldRelId | integer | yes | Field relationship ID to be deleted |

### List all custom field values
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-custom-field-values-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filters[fieldid] | string | no | ID of the field the value belongs to. |
| filters[val] | string | no | Value of the custom field for a specific contact |

### Create a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-create-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a custom field value
`GET https://zieapi.vercel.app/v1/communication:activecampaign/field-get-custom-value-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | ID of the fieldValue to retrieve |

### Update a custom field value for contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-update-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | ID of the fieldValue to update |
| body | object | no | JSON request body |

### Delete a custom field value
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | ID of the fieldValue to delete |

### List all email activities
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-email-activities` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filters[subscriberid] | integer | no | Set this parameter to return only email activities belonging to a given subscriber. |
| filters[dealId] | integer | no | Set this parameter to return only email activities belonging to a given deal. |

### Add a tag to contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/tag-add-contact-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Remove a tag from a contact
`POST https://zieapi.vercel.app/v1/communication:activecampaign/tag-remove-tag-from-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The contactTag id |

### List all schemas
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-schemas` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of schemas to retrieve for each API call. Maximum value is 100. |
| offset | integer | no | Offset index of items to return |
| orders | array | no | Array of sorting criteria to fetch items |
| filters | string | no | Filters schemas by different criteria |
| showFields | string | no | Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter… |

### Create a schema
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a schema
`GET https://zieapi.vercel.app/v1/communication:activecampaign/schema-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Id of the Schema |
| showFields | string | no | Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter… |

### Delete a schema
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-delete-schema-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Id of schema to delete |

### Update a schema
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-update-schema` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | Id of Schema being updated |
| validateOnly | boolean | no | When set to `true` the API will validate the schema update without saving changes |
| showFields | string | no | Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter… |
| body | object | no | JSON request body |

### Delete a field
`POST https://zieapi.vercel.app/v1/communication:activecampaign/field-delete-field` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | Schema ID of the field to be deleted |
| fieldId | string | yes | Field ID of the field to be deleted |
| showFields | string | no | Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter… |

### Create a public schema
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-create-public-schema` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Create a child schema
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-create-child-schema` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Id of the parent schema the new child schema will extend |

### List records by schema
`GET https://zieapi.vercel.app/v1/communication:activecampaign/list-by-schema-records` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | ID of schema |
| limit | integer | no | The number of records to return for each call. Maximum value is 100. |
| offset | integer | no | Offset index of records to return |
| filters | array | no | Use ?filters[relationships.{your-contact-relationship}][eq]={contactId} to filter records to a specific contact. |

### Create or update record
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-create-or-update-record` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | ID of schema |
| body | object | no | JSON request body |

### Get a record by id
`GET https://zieapi.vercel.app/v1/communication:activecampaign/schema-get-by-id-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | ID of schema |
| recordId | string | yes | ID of record |

### Delete a record by id
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-delete-record-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | ID of schema |
| recordId | string | yes | ID of record |

### Get a record by external id
`GET https://zieapi.vercel.app/v1/communication:activecampaign/record-get-by-external-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemdId | string | yes | ID of schema |
| externalId | string | yes | External ID for record |

### Delete a record by external ID
`POST https://zieapi.vercel.app/v1/communication:activecampaign/schema-delete-record-by-external-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| schemaId | string | yes | ID of schema |
| externalId | string | yes | External ID of record |

### List all deals
`GET https://zieapi.vercel.app/v1/communication:activecampaign/deal-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filters[search] | string | no | Search text to use with `search_field` parameter. |
| filters[search_field] | string | no | Field to search for. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values). |
| filters[title] | string | no | Filter by deal's title |
| filters[stage] | integer | no | Filter by deal's stage |
| filters[group] | integer | no | Filter by deal's pipeline |
| filters[status] | integer | no | Filter by deal's status. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values) |
| filters[owner] | integer | no | Filter by deal's owner |
| filters[nextdate_range] | string | no | Filter by deal's tasks due dates. See [available… |
| filters[tag] | string | no | Filter by tag names associated with deal's primary contact. See [available… |
| filters[tasktype] | string | no | Filter by deals that have tasks with given type |
| filters[created_before] | string | no | Returns deals that are created less than given date |
| filters[created_after] | string | no | Returns deals that are created greater than or equal to given date |
| filters[updated_before] | string | no | Returns deals that are updated less than given date |
| filters[updated_after] | string | no | Returns deals that are updated greater than or equal to given date |
| filters[organization] | integer | no | Filter by deal's primary contact's organization's id |
| filters[minimum_value] | integer | no | In USD with dollar portion. Returns deals whose values are greater than or equal to given value |
| filters[maximum_value] | integer | no | In USD with dollar portion. Returns deals whose values are less than or equal to given value |
| filters[score_greater_than] | string | no | In a format of ` : `. Returns deals whose score value is greater than given value |
| filters[score_less_than] | string | no | In a format of ` : `. Returns deals whose score value is less than given value |
| filters[score] | string | no | In a format of ` : `. Returns deals whose score value is equal to given value |
| orders[title] | string | no | Order by deal's title. |
| orders[value] | string | no | Order by deal's value. |
| orders[cdate] | string | no | Order by deal's created date. |
| orders[contact_name] | string | no | Order by deal's primary contact's first name. |
| orders[contact_orgname] | string | no | Order by deal's primary contact's organization name. |
| orders[next-action] | string | no | Order by deal's next task's due date first. Then append deals with no next task. Lastly append deals with overdue tasks. If dates are the… |

…and 137 more. See the OpenAPI spec.

## Example
```
curl "https://zieapi.vercel.app/v1/communication:activecampaign/list-all-accounts" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the ActiveCampaign V3 API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/communication:activecampaign/list-all-accounts with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the ActiveCampaign V3 API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. ActiveCampaign V3 itself also needs your own key from {youraccountname}.api-us1.com.

### Can AI agents use the ActiveCampaign V3 API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key communication:activecampaign.

### What is the status of the ActiveCampaign V3 API?
Needs your own provider key (bring your own key)
