# ActiveCampaign Documentation ## Guides - [api Object](https://developers.activecampaign.com/docs/api.md) - [auth Object](https://developers.activecampaign.com/docs/auth.md) - [Commands, Variables, Properties](https://developers.activecampaign.com/docs/commands-1.md) - [Reference](https://developers.activecampaign.com/docs/configuration-specification-v2.md) - [What is a CX App?](https://developers.activecampaign.com/docs/what-is-a-cx-app.md): Explaining what a CX Application is, and why you should build one - [workflows Array](https://developers.activecampaign.com/docs/workflows.md) - [Twillio SMS Outbound Example](https://developers.activecampaign.com/docs/twillio-sms-outbound-example.md) - [Configuration Walkthrough](https://developers.activecampaign.com/docs/configuration-walkthrough-1.md) - [CX App Go Live Guide](https://developers.activecampaign.com/docs/cx-app-go-live-guide.md): When you are ready to publish with your CX App, please review this guide to learn more about the review process and what steps are necessary to complete before, during, and after the app is submitted for review. - [Create Your First App using Pipedream and Python: Part 1](https://developers.activecampaign.com/docs/python-create-and-test-your-first-app-using-pipedream.md): PART 1: Build your first CX App that communicates with a Python API ## API Reference - [Bulk delete accounts](https://developers.activecampaign.com/reference/bulk-delete-accounts.md): Delete an existing account - [Create a custom field](https://developers.activecampaign.com/reference/create-a-customfieldmeta.md) - [List all custom fields](https://developers.activecampaign.com/reference/list-all-custom-fields-meta.md) - [Retrieve a custom field](https://developers.activecampaign.com/reference/retrieve-a-custom-field-meta.md) - [Contact Custom Fields API Guide](https://developers.activecampaign.com/reference/contact-custom-fields-api-guide.md): Using the API to add and manage Custom Fields for your Contacts - [Create Campaign](https://developers.activecampaign.com/reference/create-campaign.md) - [Duplicate Campaign](https://developers.activecampaign.com/reference/duplicate-campaign.md) - [Edit campaign](https://developers.activecampaign.com/reference/edit-campaign.md) - [Update a message](https://developers.activecampaign.com/reference/update-a-message.md) - [Bulk Delete Variables](https://developers.activecampaign.com/reference/bulk-delete-variables.md): Bulk delete personalization variables - [Create a Variable](https://developers.activecampaign.com/reference/create-variable.md): Create a personalization variable - [Delete a Variable](https://developers.activecampaign.com/reference/delete-variable.md): Delete a personalization variable - [Edit a Variable](https://developers.activecampaign.com/reference/edit-variable.md): Edit a personalization variable - [Variables](https://developers.activecampaign.com/reference/variables.md): Use variables when messaging specific mailing lists. - [List Variables](https://developers.activecampaign.com/reference/list-variables.md): Retrieve a list of personalization variables - [Lock a Variable](https://developers.activecampaign.com/reference/lock-a-variable.md): Lock a personalization variable - [Retrieve a Variable](https://developers.activecampaign.com/reference/retrieve-variable.md): Retrieve an individual personalization variable - [Unlock a Variable](https://developers.activecampaign.com/reference/unlock-a-variable.md): Lock a personalization variable - [Bulk import contacts](https://developers.activecampaign.com/reference/bulk-import-contacts.md) - [Bulk import status info](https://developers.activecampaign.com/reference/bulk-import-status-info.md) - [Bulk import status list](https://developers.activecampaign.com/reference/bulk-import-status-list.md) - [List, search, and filter contacts](https://developers.activecampaign.com/reference/list-all-contacts.md): Use this API endpoint to list all contacts, search contacts, or filter contacts by many criteria. For example, search for specific contacts by email, list, account. - [List a contact's activities](https://developers.activecampaign.com/reference/list-contact-activities.md): View your contact's recent activity. The activity is generated when a contact is retrieved via /api/3/contacts/[contactID]. This endpoint should be used after retrieving a contact to obtain the latest data. This is useful for searching for contacts that match certain criteria - such as being part of a certain list, or having a specific custom field value. - [Retrieve a contacts geo IP address](https://developers.activecampaign.com/reference/retrieve-a-contacts-geo-ip-address.md) - [Retrieve a contacts list of geo-ips](https://developers.activecampaign.com/reference/retrieve-contact-geo-ips.md) - [Sync a contact's data](https://developers.activecampaign.com/reference/sync-a-contacts-data.md) - [Add Custom Field to Field Group](https://developers.activecampaign.com/reference/add-custom-field-to-field-group.md) - [Create a custom field](https://developers.activecampaign.com/reference/create-a-contact-custom-field.md) - [Get All Custom Field Groups](https://developers.activecampaign.com/reference/get-all-custom-field-groups.md) - [Get Custom Field Group by ID](https://developers.activecampaign.com/reference/get-custom-field-to-field-group.md) - [Get a custom field by ID](https://developers.activecampaign.com/reference/retrieve-a-custom-field-contact.md) - [List all custom fields](https://developers.activecampaign.com/reference/retrieve-fields.md) - [Create a custom field value](https://developers.activecampaign.com/reference/create-fieldvalue.md) - [Update a custom field value for contact](https://developers.activecampaign.com/reference/update-a-custom-field-value-for-contact.md) - [Paging, Ordering, Sorting, and Filtering](https://developers.activecampaign.com/reference/paging-ordering-sorting-and-filtering.md) - [Create a deal](https://developers.activecampaign.com/reference/create-a-deal-new.md): Create a new deal - [Create a custom field meta](https://developers.activecampaign.com/reference/create-custom-deal-field-meta.md) - [Retrieve a custom field](https://developers.activecampaign.com/reference/retrieve-a-custom-deal-field-meta.md) - [List all custom fields](https://developers.activecampaign.com/reference/retrieve-all-custom-deal-field-meta.md) - [Create a connection](https://developers.activecampaign.com/reference/create-connection.md): Create a new connection resource. - [Retrieve a connection](https://developers.activecampaign.com/reference/get-connection.md): Retrieve an existing connection resource. - [List all connections](https://developers.activecampaign.com/reference/list-all-connections.md): List all existing connection resources. - [Update a connection](https://developers.activecampaign.com/reference/update-connection.md): Update an existing connection resource. - [About the GraphQL API](https://developers.activecampaign.com/reference/about-the-graphql-api.md) - [Overview](https://developers.activecampaign.com/reference/graphql-overview.md) - [Browse Abandonment Developer Overview](https://developers.activecampaign.com/reference/browse-abandonment.md) - [Browse Session APIs](https://developers.activecampaign.com/reference/browse-session-apis.md) - [Orders](https://developers.activecampaign.com/reference/orders-1.md) - [Products](https://developers.activecampaign.com/reference/products.md) - [Recurring Payments](https://developers.activecampaign.com/reference/recurring-payments.md) - [Searches](https://developers.activecampaign.com/reference/searches.md) - [Shared Objects](https://developers.activecampaign.com/reference/shared-objects.md) - [post](https://developers.activecampaign.com/reference/create-a-new-form.md) - [delete](https://developers.activecampaign.com/reference/delete-a-form.md) - [post](https://developers.activecampaign.com/reference/set-opt-in.md) - [put](https://developers.activecampaign.com/reference/update-a-form.md) - [Authentication](https://developers.activecampaign.com/reference/authentication.md) - [Pagination, Ordering, and Filtering](https://developers.activecampaign.com/reference/pagination.md) - [Base URL](https://developers.activecampaign.com/reference/url.md) - [Create a list](https://developers.activecampaign.com/reference/create-new-list.md) - [Retrieve all result counts for the given segment that were ran without an AdditionalCriteria](https://developers.activecampaign.com/reference/get_count_history_by_segment_id.md): Up to 50 results will be returned at once. To get the next page, request again with the last result's timestamp formatted as an EPOCH seconds value - [Retrieve all result counts for the given segment that were ran without an AdditionalCriteria](https://developers.activecampaign.com/reference/get_count_history_with_timestamp.md): Up to 50 results will be returned at once. To get the next page, request again with the last result's timestamp formatted as an EPOCH seconds value - [Create a Match ALL Request](https://developers.activecampaign.com/reference/create_match_all_request_with_segment_id.md): A new match-all request will be initiated. If results are not ready within 4 seconds, a response that lacks a result-set will be returned and the response's `is_ready` attribute will be equal to `false`. Use the returned segmentId and runId to poll and check back later to see if the result-set is ready - [Create a Match ALL Request for a new Segment](https://developers.activecampaign.com/reference/create_match_all_request.md): Find all Contact Id's that match the given Segment. The provided segment will be saved with a 24 hour TTL. A new match-all request will be initiated. If results are not ready within 4 seconds, a response that lacks a result-set will be returned. Use the returned segmentId and runId to poll and check back later to see if the result-set is ready. - [Finds the Contact Id's that match a Segment and the AdditionalContext payload](https://developers.activecampaign.com/reference/find_contact_id_by_ac_playload.md) - [Return the result-set for the segment's given runId](https://developers.activecampaign.com/reference/get_result_set_by_id.md): If the result-set is not ready yet, the response's `is_ready` attribute will be equal to `false`. The match-all request has errored out if the `is_ready` attribute is false and the `run_id_end` attribute contains a valid timestamp`; when this occurs please try your request again or alert the support team. If either the RunId or the SegmentId have expired or otherwise do not exist, a 404 with error details will be returned. result-sets are cached and returned in the same `sort` order that's requested. If the `sort` param is not provided it defaults to `id`. You can specify a different `sort` order than the original request, however this will break the result's cache for this `runId` and re-kick-off a new search for results using the same `runId` - [Return the result-set for the Segment's given runId](https://developers.activecampaign.com/reference/get_result_set_by_run_id.md): If the result-set is not ready yet, the response's `is_ready` attribute will be equal to `false`. The match-all request has errored out if the `is_ready` attribute is false and the `run_id_end` attribute contains a valid timestamp`; when this occurs please try your request again or alert the support team. If either the RunId or the SegmentId have expired or otherwise do not exist, a 404 with error details will be returned. Sorting is not supported for this endpoint. This endpoint can be used to pull results from a Match All or a Match Some request. The original sort value will be preserved and there is no risk kicking off a new request - [Create a Match One Request](https://developers.activecampaign.com/reference/create_match_one_request.md) - [Check to see if a Contact matches a Segment using the given externalId](https://developers.activecampaign.com/reference/segment_match_check_by_external_id.md) - [Retrieve the most recent result count for the given segments that were ran without an AdditionalCriteria](https://developers.activecampaign.com/reference/get_recent_count_history.md): One result per segment will be returned. Pagination not supported. Maximum 100 segmentIds per request. SegmentIds in the request that doesn't exist, will simply be ignored - [Create AI-generated broadcast](https://developers.activecampaign.com/reference/createaibroadcast.md): Creates a broadcast using AI based on prompt and tone - [Get AI broadcast request status](https://developers.activecampaign.com/reference/getaibroadcaststatus.md): Returns the current status of the AI process execution - [Update broadcast with AI](https://developers.activecampaign.com/reference/updateaibroadcast.md): Updates an existing broadcast using AI - [Create a new broadcast message](https://developers.activecampaign.com/reference/createbroadcast.md): Creates a new SMS broadcast message - [Delete broadcast message](https://developers.activecampaign.com/reference/deletebroadcast.md): Performs a soft-delete on the requested message - [Get broadcast message](https://developers.activecampaign.com/reference/getbroadcast.md): Retrieves the full details for one broadcast message - [Get all broadcast lists](https://developers.activecampaign.com/reference/listbroadcastlists.md): Gets a paged list of all broadcast lists (SMS channel) - [Get all broadcast messages](https://developers.activecampaign.com/reference/listbroadcasts.md): Gets a paged list of all of a customer's broadcast messages with optional filtering - [Update broadcast message](https://developers.activecampaign.com/reference/updatebroadcast.md): Updates an existing broadcast message - [Get current sms credit use data](https://developers.activecampaign.com/reference/getsmscreditdata.md): Retrieve the current period's sms credit usage and remaining balance - [Get broadcast failure details](https://developers.activecampaign.com/reference/getbroadcastfailures.md): Returns grouping and counts of failures for the broadcast - [Export broadcast metrics](https://developers.activecampaign.com/reference/exportbroadcastmetrics.md): Export broadcast performance metrics as CSV - [Get all broadcast metrics](https://developers.activecampaign.com/reference/getbroadcastmetrics.md): Returns metrics for specified broadcast IDs - [Get broadcast snapshot](https://developers.activecampaign.com/reference/getbroadcastsnapshot.md): Returns snapshot data for all broadcasts - [Get broadcast snapshot](https://developers.activecampaign.com/reference/getbroadcastsnapshotbyids.md): Returns snapshot for specified broadcast IDs - [Export broadcast recipients](https://developers.activecampaign.com/reference/exportbroadcastrecipients.md): Export recipient data as CSV including full contact records - [Get broadcast recipients](https://developers.activecampaign.com/reference/getbroadcastrecipients.md): Fetch all contacts who were sent a specific broadcast - [Create a task reminder](https://developers.activecampaign.com/reference/create-a-task-reminder.md): Create a new task reminder - [List all tasks](https://developers.activecampaign.com/reference/list-all-tasks.md): Retrieve a list of existing tasks - [Webhooks](https://developers.activecampaign.com/reference/webhooks.md) - [List Conversations](https://developers.activecampaign.com/reference/list-conversations.md): Lists Conversations. - [Partially Update a Conversation](https://developers.activecampaign.com/reference/partially-update-a-conversation.md): Partially update a Conversation - [Update a conversation](https://developers.activecampaign.com/reference/update-a-conversation.md): Update a Conversation - [Create a Flow Execution](https://developers.activecampaign.com/reference/create-a-flow-execution.md): Create a Flow Execution of a Flow. - [Get Flow Execution Contact by Id](https://developers.activecampaign.com/reference/get-flow-execution-contact.md): Get Flow Execution Contact by Id. - [Get Flow Execution](https://developers.activecampaign.com/reference/get-flow-execution.md): Get Flow Execution by Id. - [List Flow Execution Contacts](https://developers.activecampaign.com/reference/list-flow-execution-contact.md): Lists Flow Execution Contacts. - [List Flow Executions](https://developers.activecampaign.com/reference/list-flow-execution.md): Lists Flow Executions. - [Update WhatsApp Template](https://developers.activecampaign.com/reference/channels_whatsapp_template_update.md): Update a WhatsApp Template by Id. - [Delete WhatsApp Template](https://developers.activecampaign.com/reference/delete-whatsapp-template.md): Deletes a WhatsApp Template by Id. - [Get WhatsApp Template](https://developers.activecampaign.com/reference/get-whatsapp-template.md): Gets a WhatsApp Template by Id. - [List WhatsApp Templates](https://developers.activecampaign.com/reference/list-whatsapp-templates.md): Lists WhatsApp Templates. You can search with the `name` and `status` fields using the `?seach=my-template-name` query parameter. - [Send a WhatsApp Template](https://developers.activecampaign.com/reference/send-a-whatsapp-template-message.md): Send a single WhatsApp message: select a template to use and call our endpoint with the recipient phone number and the variables the template needs. That's it! ## Pages - [ActiveCampaign MCP + ChatGPT](https://developers.activecampaign.com/connect-chatgpt.md) - [ActiveCampaign MCP + Claude](https://developers.activecampaign.com/connect-claude.md) - [Developer Sandbox Accounts](https://developers.activecampaign.com/developer-sandbox-accounts.md) - [Get Started](https://developers.activecampaign.com/getting-started.md) - [ActiveCampaign MCP - Available Tools](https://developers.activecampaign.com/mcp-available-tools.md) - [ActiveCampaign MCP - Prompt Examples](https://developers.activecampaign.com/mcp-prompt-examples.md) - [ActiveCampaign Remote MCP Server](https://developers.activecampaign.com/mcp.md) - [Webhooks](https://developers.activecampaign.com/webhooks.md) ## Changelog - [New CX App Capability to map Deals, Accounts, and Private Custom Object Schemas](https://developers.activecampaign.com/changelog/new-cx-app-capability-to-map-deals-accounts-and-private-custom-object-schemas.md) - [New API Endpoints: Custom Field - Field Groupings](https://developers.activecampaign.com/changelog/new-api-endpoint-add-custom-field-to-field-group.md) - [New CX App Commands](https://developers.activecampaign.com/changelog/new-cx-app-updates.md) - [New Tutorial: Create Your First App Using Pipedream and Python - Part 2: Custom Objects](https://developers.activecampaign.com/changelog/new-tutorial-create-your-first-app-using-pipedream-and-python-part-2-custom-objects.md) - [New Tutorial: Using Custom Objects with the API](https://developers.activecampaign.com/changelog/new-tutorial-using-custom-objects-with-the-api.md)