ActiveCampaign

Email marketing and CRM automation

developers.activecampaign.com/reference ↗
Version
3
OpenAPI
3.0.3
Endpoints
257
Schemas
571
69
Quality
Updated
3 days ago
Email email marketing crm automation
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://{youraccountname}.api-us1.com/api/3

Endpoints

Clear filters

Account 3 endpoints

GET /accountContacts/{id}

Retrieve an existing account association

operationId: Account_getAssociation

Parameters

Name In Required Type Description
id path required integer

Association’s ID

Responses

200

200

404

404

GET /accountContacts/{id}
GET /accounts/{id}

Retrieve an existing account

operationId: Account_getById

Parameters

Name In Required Type Description
id path required integer

Account’s ID

Responses

200

200

GET /accounts/{id}
GET /contacts/{id}/accountContacts
operationId: Account_getAccountContacts

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/accountContacts

Address 1 endpoints

GET /addresses/{id}
operationId: Address_getById

Parameters

Name In Required Type Description
id path required integer

ID of the Address to retrieve

Responses

200

200

400

400

GET /addresses/{id}

Branding 1 endpoints

GET /brandings/{id}

Retrieve an existing branding resource

operationId: Branding_getBranding

Parameters

Name In Required Type Description
id path required integer

Responses

200

200

400

400

GET /brandings/{id}

Calendar 1 endpoints

GET /calendars/{id}
operationId: Calendar_getFeed

Parameters

Name In Required Type Description
id path required integer

ID of the calendar feed to retrieve

Responses

200

200

404

404

GET /calendars/{id}

Campaign 2 endpoints

GET /campaigns/{id}
operationId: Campaign_getCampaignById

Parameters

Name In Required Type Description
id path required integer

ID of campaign to retrieve

Responses

200

200

GET /campaigns/{id}
GET /campaigns/{id}/links
operationId: Campaign_getLinks

Parameters

Name In Required Type Description
id path required integer

ID of campaign to retrieve Links for

Responses

200

200

404

404

GET /campaigns/{id}/links

Connection 1 endpoints

GET /connections/{id}

Retrieve an existing connection resource.

operationId: Connection_getById

Parameters

Name In Required Type Description
id path required string

The id of the connection to retrieve

Responses

200

200

400

400

GET /connections/{id}

Contact 12 endpoints

GET /contactAutomations/{id}
operationId: Contact_getInAutomation

Parameters

Name In Required Type Description
id path required integer

ID of the contactAutomation to retrieve

Responses

200

200

404

404

GET /contactAutomations/{id}
GET /contacts/{id}

Retrieve an existing contact

operationId: Contact_getById

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}
GET /contacts/{id}/automationEntryCounts
operationId: Contact_getAutomationEntryCounts

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/automationEntryCounts
GET /contacts/{id}/bounceLogs
operationId: Contact_getBounceLogs

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/bounceLogs
GET /contacts/{id}/contactData
operationId: Contact_getData

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/contactData
GET /contacts/{id}/contactGoals
operationId: Contact_getGoals

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/contactGoals
GET /contacts/{id}/contactLogs
operationId: Contact_getLogs

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/contactLogs
GET /contacts/{id}/organization
operationId: Contact_getOrganization

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/organization
GET /contacts/{id}/plusAppend
operationId: Contact_getPlusAppend

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/plusAppend
GET /contacts/{id}/scoreValues
operationId: Contact_getScoreValues

Parameters

Name In Required Type Description
id path required integer

id of the Contact

Responses

200

200

404

404

GET /contacts/{id}/scoreValues
GET /contacts/{id}/trackingLogs
operationId: Contact_getTrackingLogs

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/trackingLogs
GET /geoIps/{geoAddressID}/geoAddress
operationId: Contact_getGeoIpAddress

Parameters

Name In Required Type Description
geoAddressID path required integer

ID of the contact

Responses

200

200

404

404

GET /geoIps/{geoAddressID}/geoAddress

Customer 1 endpoints

GET /ecomCustomers/{id}

Retrieve an existing e-commerce customer resource.

operationId: Customer_get

Parameters

Name In Required Type Description
id path required string

The id of the customer to retrieve

Responses

200

200

400

400

GET /ecomCustomers/{id}

Deal 20 endpoints

GET /contactDeals

Retrieve all secondary contacts

operationId: Deal_listAllSecondaryContacts

Responses

200

200

400

400

GET /contactDeals
GET /contactDeals/{id}

Retrieve an existing secondary contact

operationId: Deal_getSecondaryContact

Parameters

Name In Required Type Description
id path required integer

Secondary Contact’s id

Responses

200

200

404

404

GET /contactDeals/{id}
GET /contacts/{id}/contactDeals
operationId: Deal_getContactDeals

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/contactDeals
GET /contacts/{id}/deals
operationId: Deal_getContactDeals

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/deals
GET /dealActivities

View a recent activity for Deals. A specific deal’s activity can also be viewed using /api/3/deals/[dealID]/dealActivities.

operationId: Deal_listActivities

Parameters

Name In Required Type Description
exclude=email query optional string

Include this param to exclude “email”, “connection_email”, and “LinkData” activity types

deal query optional string

Filter by deal ID

filters[data_type] query optional string

Enter any dataType (see Response Details) to filter by that type. Examples: “userid” or task” or “note”

filters[data_id] query optional string

Enter any dataId (see Response details) to filter by related object. Example “291” for a note with ID 291

Responses

200

200

400

400

GET /dealActivities
GET /dealCustomFieldData
operationId: Deal_listCustomFieldData

Parameters

Name In Required Type Description
filters[dealId] query optional string

Filter results by a specific deal (note that Id uses a capital I)

Responses

200

200

GET /dealCustomFieldData
GET /dealCustomFieldData/{id}
operationId: Deal_getCustomFieldValue

Parameters

Name In Required Type Description
id path required integer

ID of the dealCustomFieldData to retrieve

Responses

200

200

404

404

GET /dealCustomFieldData/{id}
GET /dealCustomFieldMeta
operationId: Deal_listCustomFieldMeta

Parameters

Name In Required Type Description
limit query optional integer

The number of fields returned per request.

Responses

200

200

GET /dealCustomFieldMeta
GET /dealCustomFieldMeta/{id}
operationId: Deal_getCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer

ID of the field to retrieve

Responses

200

200

404

404

GET /dealCustomFieldMeta/{id}
GET /dealGroups

Retrieve all existing pipelines

operationId: Deal_getAllPipelines

Parameters

Name In Required Type Description
filters[title] query optional string

Filter by pipeline’s title. The filter matches any pipeline titles that contain the provided title (i.e. “Contact” matches all of “In Contact”, “To Contact”, and “Contact Pipeline”).

filters[have_stages] query optional integer

Filter by whether pipelines have deal stages. Can be either 1 or 0. If 1, only pipelines with at least one stage will be returned.

orders[title] query optional string

Order by Pipeline’s title

orders[popular] query optional string

Order by number of deals each pipeline has. If pipelines have same number of deals, pipelines’ created dates are used to determine the order.

Responses

200

200

400

400

GET /dealGroups
GET /dealGroups/{id}

Retrieve an existing pipeline

operationId: Deal_getPipeline

Parameters

Name In Required Type Description
id path required string

Pipeline’s id

Responses

200

200

400

400

GET /dealGroups/{id}
GET /dealRoles
operationId: Deal_listAllRoles

Parameters

Name In Required Type Description
search query optional string

(optional string used to search for matching titles)

Responses

200

200

400

400

GET /dealRoles
GET /dealStages

Retrieve all existing stages

operationId: Deal_listAllStages

Parameters

Name In Required Type Description
filters[title] query optional string

Filter by deal stages’ titles. Any stages whose titles partial-match the filter value are returned

filters[d_groupid] query optional string

Filter by pipeline’s id

orders[title] query optional string

Order by deal stage’s title

Responses

200

200

400

400

GET /dealStages
GET /dealStages/{id}

Retrieve an existing stage

operationId: Deal_getStageById

Parameters

Name In Required Type Description
id path required integer

Deal stage’s id

Responses

200

200

400

400

GET /dealStages/{id}
GET /dealTasks

Retrieve a list of existing tasks

operationId: Deal_getAllTasks

Parameters

Name In Required Type Description
filters[title] query optional string

The title to be assigned to the task

filters[reltype] query optional string

The name of the relating object (see relationships table)

filters[relid] query optional integer

The id of the relational object for this task

filters[status] query optional integer

Task status means complete or incomplete. 1 is complete and 0 is incomplete.

filters[note] query optional string

The content describing the task

filters[duedate] query optional string

Due date of the task

filters[d_tasktypeid] query optional integer

The type of the task based on the available Task Types in the account

filters[userid] query optional integer

User ID this task belongs to

filters[due_after] query optional string

Filter deal tasks that are due after a specific date

Fitlers[due_before] query optional string

Filter deal tasks that are due before a specific date

filters[duedate_range] query optional string

Filter deal tasks that are due between specific date range

filters[assignee_userid] query optional integer

The id of the user a task is assigned to

filters[outcome_id] query optional integer

The id of a task outcome that the task belongs to.

Responses

201

201

400

400

GET /dealTasks
GET /dealTasks/{id}

Retrieve an existing task

operationId: Deal_getTaskById

Parameters

Name In Required Type Description
id path required integer

The ID of the task

Responses

201

201

400

400

GET /dealTasks/{id}
GET /dealTasktypes

Retrieve all existing task types

operationId: Deal_listAllTaskTypes

Responses

200

200

400

400

GET /dealTasktypes
GET /dealTasktypes/{id}

Retrieve an existing task type

operationId: Deal_getTaskType

Parameters

Name In Required Type Description
id path required integer

Deal task type’s id

Responses

200

200

400

400

GET /dealTasktypes/{id}
GET /deals

Retrieve all existing deals

operationId: Deal_getAll

Parameters

Name In Required Type Description
filters[search] query optional string

Search text to use with search_field parameter.

filters[search_field] query optional string

Field to search for. See available values.

filters[title] query optional string

Filter by deal’s title

filters[stage] query optional integer

Filter by deal’s stage

filters[group] query optional integer

Filter by deal’s pipeline

filters[status] query optional integer

Filter by deal’s status. See available values

filters[owner] query optional integer

Filter by deal’s owner

filters[nextdate_range] query optional string

Filter by deal’s tasks due dates. See available values

filters[tag] query optional string

Filter by tag names associated with deal’s primary contact. See available values.

filters[tasktype] query optional string

Filter by deals that have tasks with given type

filters[created_before] query optional string

Returns deals that are created less than given date

filters[created_after] query optional string

Returns deals that are created greater than or equal to given date

filters[updated_before] query optional string

Returns deals that are updated less than given date

filters[updated_after] query optional string

Returns deals that are updated greater than or equal to given date

filters[organization] query optional integer

Filter by deal’s primary contact’s organization’s id

filters[minimum_value] query optional integer

In USD with dollar portion. Returns deals whose values are greater than or equal to given value

filters[maximum_value] query optional integer

In USD with dollar portion. Returns deals whose values are less than or equal to given value

filters[score_greater_than] query optional string

In a format of <score_id>:<score_value>. Returns deals whose score value is greater than given value

filters[score_less_than] query optional string

In a format of <score_id>:<score_value>. Returns deals whose score value is less than given value

filters[score] query optional string

In a format of <score_id>:<score_value>. Returns deals whose score value is equal to given value

orders[title] query optional string

Order by deal’s title.

orders[value] query optional string

Order by deal’s value.

orders[cdate] query optional string

Order by deal’s created date.

orders[contact_name] query optional string

Order by deal’s primary contact’s first name.

orders[contact_orgname] query optional string

Order by deal’s primary contact’s organization name.

orders[next-action] query optional string

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 same, order by deal’s id.

Responses

200

200

400

400

GET /deals
GET /deals/{id}

Retrieve an existing deal

operationId: Deal_getDeal

Parameters

Name In Required Type Description
id path required integer

The Deal’s id

Responses

200

200

GET /deals/{id}

Event 3 endpoints

GET /contacts/{contactId}/trackingLogs

Get a log of events for a Contact

operationId: Event_getTrackingLogs

Parameters

Name In Required Type Description
contactId path required string

The Contact’s ID

Responses

200

200

GET /contacts/{contactId}/trackingLogs
GET /eventTracking

Get event tracking status (enabled or disabled)

operationId: Event_getStatus

Responses

200

200

GET /eventTracking
GET /trackingLogs/{eventId}/contact

Get the contact that was involved in an event.

operationId: Event_getContactByEventId

Parameters

Name In Required Type Description
eventId path required string

The Event’s ID

Responses

200

200

GET /trackingLogs/{eventId}/contact

Field 7 endpoints

GET /accountCustomFieldData/{id}
operationId: Field_getCustomValue

Parameters

Name In Required Type Description
id path required integer

ID of the dealCustomFieldData to retrieve

Responses

200

200

404

404

GET /accountCustomFieldData/{id}
GET /accountCustomFieldMeta/{id}
operationId: Field_getCustomField

Parameters

Name In Required Type Description
id path required integer

ID of the field to retrieve

Responses

200

200

404

404

GET /accountCustomFieldMeta/{id}
GET /contacts/{id}/fieldValues
operationId: Field_getValues

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/fieldValues
GET /fieldValues/{id}
operationId: Field_getCustomValue

Parameters

Name In Required Type Description
id path required string

ID of the fieldValue to retrieve

Responses

200

200

403

403

GET /fieldValues/{id}
GET /fields
operationId: Field_listAllCustom

Parameters

Name In Required Type Description
limit query optional integer

The number of fields returned per request.

Responses

200

200

GET /fields
GET /fields/{id}
operationId: Field_getCustomField

Parameters

Name In Required Type Description
id path required integer

ID of the field to retrieve

Responses

200

200

400

400

GET /fields/{id}
GET /groupMembers/{groupID} (COPY)
operationId: Field_getFieldGroup

Parameters

Name In Required Type Description
groupID path required string

Group ID

Request Body

application/json
schema FieldGetFieldGroupRequest

Responses

200

200

404

404

GET /groupMembers/{groupID} (COPY)

Form 2 endpoints

GET /forms
operationId: Form_listAll

Responses

200

200

400

400

GET /forms
GET /forms/{id}
operationId: Form_getForm

Parameters

Name In Required Type Description
id path required string

ID of the form to retrieve

Responses

200

200

403

403

GET /forms/{id}

Group 1 endpoints

GET /groups/{id}
operationId: Group_getGroup

Parameters

Name In Required Type Description
id path required string

ID of the group to retrieve

Responses

200

200

403

403

GET /groups/{id}

Import 1 endpoints

GET /import/info
operationId: Import_statusInfo

Parameters

Name In Required Type Description
batchId query optional string

Responses

200

200

400

400

GET /import/info

List 39 endpoints

GET /accountContacts

Retrieve all existing account association

operationId: List_accountAssociations

Parameters

Name In Required Type Description
filters[contact] query optional integer

Filter by Contact ID

filters[account] query optional integer

Filter by Account ID

Responses

200

200

GET /accountContacts
GET /accountCustomFieldData
operationId: List_customFieldValues

Parameters

Name In Required Type Description
filters[customerAccountId] query optional string

Filter results by a specific account (note that Id uses a capital I)

Responses

200

200

GET /accountCustomFieldData
GET /accountCustomFieldMeta
operationId: List_allCustomFieldMeta

Parameters

Name In Required Type Description
limit query optional integer

The number of fields returned per request.

Responses

200

200

GET /accountCustomFieldMeta
GET /accounts

Retrieve all existing account

operationId: List_allAccounts

Parameters

Name In Required Type Description
search query optional string

Search by name

count_deals query optional boolean

Whether to compute the contactCount and dealCount counts for the number of contacts/deals associated with each account. Set it to true to include the right counts. If set to false or omitted from the call, then contactCount and dealCount will not be counted and be simply displayed as 0.

Responses

200

200

400

400

GET /accounts
GET /activities

View a 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.

operationId: List_contactActivities

Parameters

Name In Required Type Description
contact query optional integer

Required Contact ID

after query optional string

Filter for activities after a specific DateTime

include query optional string

Activities to include: notes, notes.user, recipients, recipients.recipient, reference, reference.automation, reference.campaign, reference.campaign.campaignList, reference.campaign.campaignMessage, reference.campaignMessage, reference.contact, reference.contactList, reference.contactList.list, reference.deal, reference.deal.contact, reference.dealTasktype, reference.link, reference.list, reference.log, reference.log.campaign, reference.log.contact, reference.log.message, reference.message, reference.note, reference.sms, reference.sms.automation, user

emails query optional boolean
orders[tstamp] query optional string

Order activities by tstamp

Responses

200

200

400

400

GET /activities
GET /addresses
operationId: List_addresses

Responses

200

200

400

400

GET /addresses
GET /automations
operationId: List_allAutomations

Responses

200

200

400

400

GET /automations
GET /brandings

List all existing branding resources

operationId: List_brandings

Parameters

Name In Required Type Description
api_key query optional string

ActiveCampaign API key

Responses

200

200

400

400

GET /brandings
GET /calendars
operationId: List_calendarFeeds

Responses

200

200

GET /calendars
GET /campaigns
operationId: List_allCampaigns

Parameters

Name In Required Type Description
orders[sdate] query optional string

Order campaigns by send date

orders[ldate] query optional string

Order campaigns by last send date

filters[seriesid] query optional integer

Filter to return the campaigns from the targeted automationId/seriesIds

Responses

200

200

400

400

GET /campaigns
GET /connections

List all existing connection resources.

operationId: List_allConnections

Parameters

Name In Required Type Description
filters[service] query optional string

Filter by the external service name.

filters[externalid] query optional string

Filter by the external id associated with a connection.

Responses

200

200

400

400

GET /connections
GET /contactAutomations
operationId: List_contactAutomations

Responses

200

200

GET /contactAutomations
GET /contacts

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.

operationId: List_contacts

Parameters

Name In Required Type Description
ids query optional string

Filter contacts by ID. Can be repeated for multiple IDs. Example: ids[]=1&ids[]=2&ids[]=42

email query optional string

Email address of the contact you want to get

email_like query optional string

Filter contacts that contain the given value in the email address

exclude query optional integer

Exclude from the response the contact with the given ID

formid query optional integer

Filter contacts associated with the given form

id_greater query optional integer

Only include contacts with an ID greater than the given ID

id_less query optional integer

Only include contacts with an ID less than the given ID

listid query optional string

Filter contacts associated with the given list

organization query optional integer

(Deprecated) Please use Account-Contact end points. Filter contacts associated with the given organization ID

search query optional string

Filter contacts that match the given value in the contact names, organization, phone or email

segmentid query optional integer

Return only contacts that match a list segment (the first call kicks off an asynchronous query. When the query is complete, subsequent API calls will return contacts that match the segment - timeout 1hr)

seriesid query optional integer

Filter contacts associated with the given automation

status query optional integer

See available values

tagid query optional integer

Filter contacts associated with the given tag

filters[created_before] query optional string

Filter contacts that were created prior to this date

filters[created_after] query optional string

Filter contacts that were created after this date

filters[updated_before] query optional string

Filter contacts that were updated before this date

filters[updated_after] query optional string

Filter contacts that were updated after this date

waitid query optional integer

Filter by contacts in the wait queue of an automation block

orders[id] query optional string

Order contacts by unique ID

orders[cdate] query optional string

Order contacts by creation date

orders[email] query optional string

Order contacts by email

orders[first_name] query optional string

Order contacts by first name

orders[last_name] query optional string

Order contacts by last name

orders[name] query optional string

Order contacts by full name

orders[score] query optional string

Order contacts by score

in_group_lists query optional string

Set this to ”true” in order to return only contacts that the current user has permissions to see.

Responses

200

200

400

400

GET /contacts
GET /contacts/{id}/contactAutomations
operationId: List_contactAutomations

Parameters

Name In Required Type Description
id path required integer

ID of the contact to receive automations for

Responses

200

200

404

404

GET /contacts/{id}/contactAutomations
GET /contacts/{id}/contactLists
operationId: List_getContactListMemberships

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/contactLists
GET /contacts/{id}/geoIps
operationId: List_contactGeoIps

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/geoIps
GET /customObjects/records/{schemaId}
operationId: List_bySchemaRecords

Parameters

Name In Required Type Description
schemaId path required string

ID of schema

limit query optional integer

The number of records to return for each call. Maximum value is 100.

offset query optional integer

Offset index of records to return

filters query optional array

Use ?filters[relationships.{your-contact-relationship}][eq]={contactId} to filter records to a specific contact.

Responses

200

200

400

400

404

404

GET /customObjects/records/{schemaId}
GET /customObjects/schemas

Retrieve all schemas available within an account.

Users are encouraged to leverage the ?showFields=all query parameter when programmatically creating new schema fields, to ensure field id uniqueness. Fields that have been deleted will contain a status: marked_for_deletion attribute.

operationId: List_allSchemas

Parameters

Name In Required Type Description
limit query optional integer

The number of schemas to retrieve for each API call. Maximum value is 100.

offset query optional integer

Offset index of items to return

orders query optional array

Array of sorting criteria to fetch items

filters query optional string

Filters schemas by different criteria

showFields query optional string

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 entirely to hide fields by default.

Responses

200

200

400

400

GET /customObjects/schemas
GET /ecomCustomers

List all e-commerce customer resources.

operationId: List_allCustomers

Parameters

Name In Required Type Description
filters[email] query optional string

Filter by the email address of a customer.

filters[externalid] query optional string

Filter by the id of the customer in the external service.

filters[connectionid] query optional string

Filter by the id of the connection object for the service where the customer originates.

Responses

200

200

GET /ecomCustomers
GET /ecomOrderProducts
operationId: List_ecomOrderProducts

Responses

200

200

400

400

GET /ecomOrderProducts
GET /ecomOrders

List all existing e-commerce order resources.

operationId: List_allOrders

Parameters

Name In Required Type Description
filters[connectionid] query optional integer

Filter by the connection id. Must be greater than 0.

filters[externalid] query optional integer

Filter by the external id of the order.

filters[externalcheckoutid] query optional string

Filter by the external checkout id

filters[email] query optional string

Filter by the customer email address.

filters[state] query optional integer

Filter by the state of the order. 0 = Pending, 1 = Completed, 2 = Abandoned, 3 = Recovered, 4 = Waiting (Customer checked out but payment is not yet completed)

filters[customerid] query optional string

Filter by the customer id

filters[external_created_date] query optional string

Filter by the external created date

orders[connectionid] query optional integer

Order by connection ID. Accepted values are ASC or DESC.

orders[externalid] query optional integer

Order by external ID. Accepted values are ASC or DESC.

orders[externalcheckoutid] query optional string

Order by external checkout ID. Accepted values are ASC or DESC.

orders[email] query optional string

Order by email. Accepted values are ASC or DESC.

orders[state] query optional integer

Order by state. Accepted values are ASC or DESC.

orders[customerid] query optional string

Order by customer ID. Accepted values are ASC or DESC.

orders[external_created_date] query optional string

Order by external created date. Accepted values are ASC or DESC.

Responses

200

200

422

422

GET /ecomOrders
GET /ecomOrders/{id}/orderProducts
operationId: List_orderProductsForSpecificOrder

Parameters

Name In Required Type Description
id path required string

The ID of the order whose products you’d like returned.

Responses

200

200

400

400

GET /ecomOrders/{id}/orderProducts
GET /emailActivities
operationId: List_emailActivities

Parameters

Name In Required Type Description
filters[subscriberid] query optional integer

Set this parameter to return only email activities belonging to a given subscriber.

filters[dealId] query optional integer

Set this parameter to return only email activities belonging to a given deal.

Responses

200

200

400

400

GET /emailActivities
GET /eventTrackingEvents

List the names of tracked events

operationId: List_eventNames

Responses

200

200

400

400

GET /eventTrackingEvents
GET /fieldValues
operationId: List_customFieldValues

Parameters

Name In Required Type Description
filters[fieldid] query optional string

ID of the field the value belongs to.

filters[val] query optional string

Value of the custom field for a specific contact

Responses

200

200

400

400

GET /fieldValues
GET /groupLimits
operationId: List_groupLimits

Responses

200

200

GET /groupLimits
GET /groups
operationId: List_allGroups

Responses

200

200

GET /groups
GET /import/bulk_import
operationId: List_bulkImportStatus

Responses

200

200

GET /import/bulk_import
GET /lists
operationId: List_getAll

Parameters

Name In Required Type Description
filters[name] query optional string

Filter by the name of the list

limit query optional integer

Limit the number of returned results

filters[name][<operator>] query optional string

Filters lists by list name according to the operator specified. (See supported operators below)

orders[name] query optional string

Orders filtered results by weight, ascending order, or descending order. If weight is used, exact matches are returned first, followed by matches starting with what was filtered by, followed by the rest of the results.

Responses

200

200

403

403

GET /lists
GET /lists/{id}
operationId: List_getById

Parameters

Name In Required Type Description
id path required string

ID of the lists to retrieve

Responses

200

200

403

403

404

404

GET /lists/{id}
GET /messages
operationId: List_messages

Responses

200

200

400

400

GET /messages
GET /savedResponses
operationId: List_savedResponses

Responses

200

200

GET /savedResponses
GET /scores
operationId: List_allScores

Responses

200

200

GET /scores
GET /segments
operationId: List_allSegments

Responses

200

200

400

400

GET /segments
GET /siteTrackingDomains

List of all whitelisted site tracking domains

operationId: List_whitelistedDomains

Responses

200

200

GET /siteTrackingDomains
GET /taskOutcomes

Retrieve all existing task outcomes

operationId: List_taskOutcomes

Parameters

Name In Required Type Description
filters[sentiment] query optional string

1 is for Negative, 2 is for Neutral and 3 is for Positive

Responses

200

200

400

400

GET /taskOutcomes
GET /tasktypeOutcomeRels

Retrieve all existing task type - outcome relations

operationId: List_taskTypeOutcomeRelations

Responses

200

200

400

400

GET /tasktypeOutcomeRels
GET /webhook/events

List all available webhook events

operationId: List_webhookEvents

Responses

200

200

GET /webhook/events
GET /webhooks

List all existing webhooks

operationId: List_webhooks

Parameters

Name In Required Type Description
filters[name] query optional string

Filter by webhook name

filters[url] query optional string

Filter by webhook url

filters[listid] query optional string

Filter by webhook’s associated list

Responses

200

200

400

400

GET /webhooks

Message 1 endpoints

GET /messages/{id}
operationId: Message_getById

Parameters

Name In Required Type Description
id path required string

ID of the message to retrieve

Responses

200

200

404

404

GET /messages/{id}

Note 3 endpoints

GET /contacts/{id}/notes
operationId: Note_getContactsNotes

Parameters

Name In Required Type Description
id path required integer

ID of the contact

Responses

200

200

404

404

GET /contacts/{id}/notes
GET /notes
operationId: Note_listAll

Responses

200

200

GET /notes
GET /notes/{id}
operationId: Note_getById

Parameters

Name In Required Type Description
id path required string

ID of the note to retrieve

Responses

200

200

400

400

GET /notes/{id}

Order 2 endpoints

GET /ecomOrderProducts/{id}
operationId: Order_getProductById

Parameters

Name In Required Type Description
id path required string

The ID of the product you’d like returned.

Responses

200

200

400

400

404

404

GET /ecomOrderProducts/{id}
GET /ecomOrders/{ecomOrderId}

Retrieve an existing e-commerce order resource.

operationId: Order_getOrder

Parameters

Name In Required Type Description
ecomOrderId path required integer

The id of the order to retrieve.

Responses

200

200

GET /ecomOrders/{ecomOrderId}

Outcome 2 endpoints

GET /taskOutcomes/{id}

Retrieve an existing task outcome

operationId: Outcome_getTaskOutcome

Parameters

Name In Required Type Description
id path required integer

Task outcome’s id

Responses

200

200

404

404

GET /taskOutcomes/{id}
GET /tasktypeOutcomeRels/{id}

Retrieve an existing task type - outcome relation

operationId: Outcome_getTaskTypeOutcome

Parameters

Name In Required Type Description
id path required integer

Task type - outcome relation’s id

Responses

200

200

404

404

GET /tasktypeOutcomeRels/{id}

Record 1 endpoints

GET /records/{schemdId}/external/{externalId}
operationId: Record_getByExternalId

Parameters

Name In Required Type Description
schemdId path required string

ID of schema

externalId path required string

External ID for record

Responses

200

200

400

400

GET /records/{schemdId}/external/{externalId}

Response 1 endpoints

GET /savedResponses/{id}
operationId: Response_getById

Parameters

Name In Required Type Description
id path required integer

ID of the saved Response to recieve

Responses

200

200

400

400

GET /savedResponses/{id}

Schema 2 endpoints

GET /customObjects/records/{schemaId}/{recordId}
operationId: Schema_getById

Parameters

Name In Required Type Description
schemaId path required string

ID of schema

recordId path required string

ID of record

Responses

200

200

400

400

GET /customObjects/records/{schemaId}/{recordId}
GET /customObjects/schemas/{id}

Retrieve a specific schema by id.

Users are encouraged to leverage the ?showFields=all query parameter when programmatically creating new schema fields, to ensure field id uniqueness. Fields that have been deleted will contain a status: marked_for_deletion attribute.

operationId: Schema_getById

Parameters

Name In Required Type Description
id path required string

Id of the Schema

showFields query optional string

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 entirely to hide fields by default.

Responses

200

200

404

404

GET /customObjects/schemas/{id}

Score 1 endpoints

GET /scores/{id}
operationId: Score_getScoreById

Parameters

Name In Required Type Description
id path required integer

ID of the score to retrieve

Responses

200

200

404

404

GET /scores/{id}

Segment 1 endpoints

GET /segments/{id}
operationId: Segment_getById

Parameters

Name In Required Type Description
id path required integer

ID of the segment to be retrieved

Responses

200

200

GET /segments/{id}

Status 1 endpoints

GET /siteTracking

Get site tracking status (enabled or disabled)

operationId: Status_getSiteTrackingStatus

Responses

200

200

400

400

GET /siteTracking

Tag 2 endpoints

GET /tags
operationId: Tag_listAllTags

Parameters

Name In Required Type Description
search query optional string

Filter by name of tag(s); “contains” operator is assumed.

filters[search][<operator>] query optional string

Filters tags by tag name according to the operator specified. Operators currently supported: eq, neq, lt, lte, gt, gte, contains, starts_with

orders[search] query optional string

Orders filtered results by weight, ascending order, or descending order. If weight is used, exact matches are returned first, followed by matches starting with what was filtered by, followed by the rest of the results.

Responses

200

200

400

400

GET /tags
GET /tags/{id}
operationId: Tag_getTag

Parameters

Name In Required Type Description
id path required integer

ID of the tag to retrieve

Responses

200

200

404

404

GET /tags/{id}

Template 2 endpoints

GET /template/share

Create a shareable link to a campaign template

operationId: Template_createShareableLink

Parameters

Name In Required Type Description
api_key query optional string

ActiveCampaign Account API Key

id query optional integer

The id of the campaign template to be shared

Responses

200

200

GET /template/share
GET /templates/{id}
operationId: Template_getById

Parameters

Name In Required Type Description
id path required integer

ID of the template to retrieve

Responses

200

200

404

404

GET /templates/{id}

Tracking 1 endpoints

GET /siteTracking/code

Get site tracking code

operationId: Tracking_getSiteCode

Responses

200

200

400

400

GET /siteTracking/code

User 5 endpoints

GET /users

List all existing users

operationId: User_listAllUsers

Responses

200

200

400

400

GET /users
GET /users/email/{email}

Retrieve an existing user by looking up their email address

operationId: User_getByEmail

Parameters

Name In Required Type Description
email path required string

Email address of the user you want to view

Responses

200

200

400

400

GET /users/email/{email}
GET /users/me

Retrieve the logged-in user

operationId: User_getLoggedInUser

Responses

200

200

400

400

GET /users/me
GET /users/username/{username}

Retrieve an existing user by looking up their username

operationId: User_getByUsername

Parameters

Name In Required Type Description
username path required string

Username of the user you want to view

Responses

200

200

400

400

GET /users/username/{username}
GET /users/{id}

Retrieve an existing user

operationId: User_getById

Parameters

Name In Required Type Description
id path required integer

ID of the user you want to view

Responses

200

200

400

400

GET /users/{id}

Webhook 1 endpoints

GET /webhooks/{id}

Retrieve an existing webhook

operationId: Webhook_getById

Parameters

Name In Required Type Description
id path required integer

Responses

200

200

GET /webhooks/{id}

Schemas

object AccountCreateAssociationRequest
{
  "type": "object",
  "properties": {
    "accountContact": {
      "type": "object",
      "required": [
        "account",
        "contact"
      ],
      "properties": {
        "account": {
          "type": "integer",
          "format": "int32",
          "description": "Account ID"
        },
        "contact": {
          "type": "integer",
          "format": "int32",
          "description": "Contact ID"
        },
        "jobTitle": {
          "type": "string",
          "description": "Job Title of the contact at the account"
        }
      }
    }
  }
}
object AccountCreateNewAccountRequest
{
  "type": "object",
  "properties": {
    "account": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Account's name"
        },
        "owner": {
          "type": "integer",
          "format": "int32",
          "default": 1,
          "description": "The userId of the account owner."
        },
        "fields": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "customFieldId",
              "fieldValue"
            ],
            "properties": {
              "fieldValue": {
                "type": "string",
                "description": "Updated field value. For `currency` field, this needs to be in cents not dollars (or 100 x Base Unit)."
              },
              "customFieldId": {
                "type": "integer",
                "format": "int32",
                "description": "Field ID, ID of the Custom Field Meta Data"
              },
              "fieldCurrency": {
                "type": "string",
                "description": "Required only for the `currency` field type. The three letter currency code for the currency value"
              }
            }
          },
          "description": "Account's custom field values `{customFieldId: int, fieldValue: string, fieldCurrency?:string}[]`"
        },
        "accountUrl": {
          "type": "string",
          "description": "Account's website"
        }
      }
    }
  }
}
object AccountUpdateAssociationRequest
{
  "type": "object",
  "properties": {
    "accountContact": {
      "type": "object",
      "required": [
        "account",
        "contact"
      ],
      "properties": {
        "account": {
          "type": "integer",
          "format": "int32",
          "description": "Account ID"
        },
        "contact": {
          "type": "integer",
          "format": "int32",
          "description": "Contact ID"
        },
        "jobTitle": {
          "type": "string",
          "description": "Job Title of the contact at the account"
        }
      }
    }
  }
}
object AccountUpdateExistingRequest
{
  "type": "object",
  "properties": {
    "account": {
      "type": "object",
      "required": [],
      "properties": {
        "name": {
          "type": "string",
          "description": "Account's name"
        },
        "owner": {
          "type": "integer",
          "format": "int32",
          "default": 1,
          "description": "The userId of the Account owner."
        },
        "fields": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "customFieldId",
              "fieldValue"
            ],
            "properties": {
              "fieldValue": {
                "type": "string",
                "description": "Updated field value. For `currency` field, this needs to be in cents not dollars (or 100 x Base Unit)."
              },
              "customFieldId": {
                "type": "integer",
                "format": "int32",
                "description": "Field ID, ID of the Custom Field Meta Data"
              },
              "fieldCurrency": {
                "type": "string",
                "description": "Required only for the `currency` field type. The three letter currency code for the currency value"
              }
            }
          },
          "description": "Account's custom field values `{customFieldId: int, fieldValue: string, fieldCurrency?:string}[]`"
        },
        "accountUrl": {
          "type": "string",
          "description": "Account's website"
        }
      }
    }
  }
}
object AddressCreateNewAddressRequest
{
  "type": "object",
  "properties": {
    "address": {
      "type": "object",
      "required": [
        "company_name",
        "address_1",
        "country"
      ],
      "properties": {
        "zip": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "global": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "description": "Accepts a (2) two character string - country code (eg 'US', 'CA', 'MX')"
        },
        "groupid": {
          "type": "integer",
          "format": "int32"
        },
        "allgroup": {
          "type": "integer",
          "format": "int32"
        },
        "district": {
          "type": "string",
          "description": "(Optional for countries that use it)"
        },
        "address_1": {
          "type": "string"
        },
        "address_2": {
          "type": "string"
        },
        "is_default": {
          "type": "boolean",
          "description": "Indicates default address"
        },
        "company_name": {
          "type": "string"
        }
      }
    }
  }
}
object AddressUpdateAddressRequest
{
  "type": "object",
  "properties": {
    "address": {
      "type": "object",
      "required": [
        "company_name",
        "address_1",
        "country"
      ],
      "properties": {
        "zip": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "global": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "description": "Accepts a (2) two character string - country code (eg 'US', 'CA', 'MX')"
        },
        "groupid": {
          "type": "integer",
          "format": "int32"
        },
        "allgroup": {
          "type": "integer",
          "format": "int32"
        },
        "district": {
          "type": "string",
          "description": "(Optional for countries that use it)"
        },
        "address_1": {
          "type": "string"
        },
        "address_2": {
          "type": "string"
        },
        "is_default": {
          "type": "boolean",
          "description": "Indicates default address"
        },
        "company_name": {
          "type": "string"
        }
      }
    }
  }
}
object BrandingUpdateExistingResourceRequest
{
  "type": "object",
  "properties": {
    "branding": {
      "type": "object",
      "required": [],
      "properties": {
        "help": {
          "type": "string"
        },
        "links": {
          "type": "boolean",
          "description": "External links. To enable (which is the default) exclude this parameter entirely. To disable (remove our branding), just pass this parameter with any value."
        },
        "favicon": {
          "type": "string",
          "description": "URL of the favicon."
        },
        "groupid": {
          "type": "integer",
          "format": "int32",
          "default": 3,
          "description": "The group ID. This value will always be 3."
        },
        "license": {
          "type": "boolean",
          "description": "unknown"
        },
        "version": {
          "type": "boolean",
          "description": "unknown"
        },
        "siteLogo": {
          "type": "string"
        },
        "siteName": {
          "type": "string",
          "description": "Title of software. Example: 'ActiveCampaign Email Marketing'"
        },
        "copyright": {
          "type": "boolean",
          "description": "unknown"
        },
        "siteLogoSmall": {
          "type": "string",
          "description": "URL of small logo. Small logos appear in the header of the admin panel."
        },
        "footerHtmlValue": {
          "type": "string",
          "description": "Content of non-removeable footer. Example: <p>footer content here</p>"
        },
        "footerTextValue": {
          "type": "string",
          "description": "Content of non-removeable footer. Example: text footer content"
        },
        "headerHtmlValue": {
          "type": "string",
          "description": "Content of non-removable header. Example: <p>header content here</p>"
        },
        "headerTextValue": {
          "type": "string",
          "description": "Content of non-removable header. Example: text header content"
        },
        "adminTemplateCss": {
          "type": "string",
          "description": "The actual CSS. Example: test color: green; (ONLY AVAILABLE FOR CERTAIN PLANS)"
        },
        "adminTemplateHtm": {
          "type": "string",
          "description": "The actual HTML template (ONLY AVAILABLE FOR CERTAIN PLANS)"
        },
        "publicTemplateCss": {
          "type": "string",
          "description": "The actual CSS. Example: test color: green; (ONLY AVAILABLE FOR CERTAIN PLANS)"
        },
        "publicTemplateHtm": {
          "type": "string",
          "description": "The actual HTML template (ONLY AVAILABLE FOR CERTAIN PLANS)"
        }
      }
    }
  }
}
object CalendarCreateFeedRequest
{
  "type": "object",
  "properties": {
    "calendar": {
      "type": "object",
      "required": [
        "title",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Possible Values: 'All', 'Deals', or 'Contacts'"
        },
        "title": {
          "type": "string",
          "description": "Title of the calendar feed"
        },
        "notification": {
          "type": "boolean",
          "description": "Whether or not this calendar has notifications"
        }
      }
    }
  }
}
object CalendarUpdateFeedRequest
{
  "type": "object",
  "properties": {
    "calendar": {
      "type": "object",
      "required": [],
      "properties": {
        "type": {
          "type": "string",
          "description": "Possible Values: 'All', 'Deals', or 'Contacts'"
        },
        "title": {
          "type": "string",
          "description": "Title of the calendar feed"
        },
        "notification": {
          "type": "boolean",
          "description": "Whether or not this calendar has notifications"
        }
      }
    }
  }
}
object FieldBulkCreateCustomAccountFieldValueRequest
{
  "type": "object",
  "properties": {
    "array": {
      "type": "object",
      "required": [
        "customerAccountId",
        "customFieldId",
        "fieldValue"
      ],
      "properties": {
        "fieldValue": {
          "type": "string",
          "description": "Values for the field. (For currency field only, this needs to be in cents: eg, 10050 = 100.5)"
        },
        "customFieldId": {
          "type": "integer",
          "format": "int32",
          "description": "The ID of the custom field metum this field value relates to"
        },
        "fieldCurrency": {
          "type": "string",
          "description": "Currency code for the money value"
        },
        "customerAccountId": {
          "type": "integer",
          "format": "int32",
          "description": "The ID of the account this field value relates to"
        }
      }
    }
  }
}
object FieldBulkUpdateCustomFieldValueRequest
{
  "type": "object",
  "properties": {
    "array": {
      "type": "object",
      "required": [
        "id",
        "fieldValue"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32",
          "description": "ID of the dealCustomFieldData to update"
        },
        "fieldValue": {
          "type": "string",
          "description": "Values for the field. (For currency field only, this needs to be in cents: eg, 10050 = 100.5)"
        },
        "fieldCurrency": {
          "type": "string",
          "description": "Currency code for the money value"
        }
      }
    }
  }
}
object FieldCreateCustomFieldMetaRequest
{
  "type": "object",
  "properties": {
    "accountCustomFieldMetum": {
      "type": "object",
      "required": [
        "fieldLabel",
        "fieldType"
      ],
      "properties": {
        "fieldType": {
          "type": "string",
          "description": "Type of field. Possible values are: `text`, `textarea`, `date`, `datetime`, `dropdown`, `multiselect`, `radio`, `checkbox`, `hidden`, `currency`, or `number`."
        },
        "fieldLabel": {
          "type": "string",
          "description": "Name of the field"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32",
          "description": "Order for displaying the field on Manage Fields page and deal profiles"
        },
        "fieldDefault": {
          "type": "string",
          "description": "Default value of the field"
        },
        "fieldOptions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Options for the field. Only necessary if `field_type` is `dropdown`, `multiselect`, `radio`, or `checkbox`."
        },
        "isFormVisible": {
          "type": "boolean",
          "description": "Whether or not the field is visible on forms"
        },
        "fieldDefaultCurrency": {
          "type": "string",
          "description": "The 3-letter currency code of the default currency for the field. Only necessary if `field_type` is `currency`."
        }
      }
    }
  }
}
object FieldCreateCustomFieldValueRequest
{
  "type": "object",
  "properties": {
    "accountCustomFieldDatum": {
      "type": "object",
      "required": [
        "customerAccountId",
        "customFieldId",
        "fieldValue"
      ],
      "properties": {
        "fieldValue": {
          "type": "string",
          "description": "Values for the field. (For `currency` field only, this needs to be in cents: eg, 10050 = 100.5)"
        },
        "customFieldId": {
          "type": "integer",
          "format": "int32",
          "description": "The ID of the custom field metum this field value relates to"
        },
        "fieldCurrency": {
          "type": "string",
          "default": "Default Currency for Field",
          "description": "Currency code for the money value"
        },
        "customerAccountId": {
          "type": "integer",
          "format": "int32",
          "description": "The ID of the account this field value relates to"
        }
      }
    }
  }
}
object FieldUpdateCustomFieldMetaRequest
{
  "type": "object",
  "properties": {
    "accountCustomFieldMetum": {
      "type": "object",
      "required": [],
      "properties": {
        "fieldLabel": {
          "type": "string",
          "description": "Name of the field"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32",
          "description": "Order for displaying the field on Manage Fields page and deal profiles"
        },
        "fieldDefault": {
          "type": "string",
          "description": "Default value of the field"
        },
        "fieldOptions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Options for the field. Only necessary if field_type is dropdown, multiselect, radio, or checkbox."
        },
        "isFormVisible": {
          "type": "boolean",
          "description": "Whether or not the field is visible on forms"
        }
      }
    }
  }
}
object FieldUpdateCustomFieldValueRequest
{
  "type": "object",
  "properties": {
    "accountCustomFieldDatum": {
      "type": "object",
      "required": [],
      "properties": {
        "fieldValue": {
          "type": "string",
          "description": "Values for text"
        },
        "fieldCurrency": {
          "type": "string",
          "default": "Default Currency for Field",
          "description": "Currency code for the `currency` value"
        }
      }
    }
  }
}
object MessageCreateNewMessageRequest
{
  "type": "object",
  "properties": {
    "message": {
      "type": "object",
      "required": [
        "fromname",
        "email",
        "reply2"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "Email of sender"
        },
        "reply2": {
          "type": "string",
          "description": "Reply email for the recipient to reply to"
        },
        "subject": {
          "type": "string",
          "description": "Subject of message"
        },
        "fromname": {
          "type": "string",
          "description": "Name of sender"
        },
        "preheader_text": {
          "type": "string",
          "description": "Preheader Text"
        }
      }
    }
  }
}
object NoteCreateAccountNoteRequest
{
  "type": "object",
  "properties": {
    "note": {
      "type": "object",
      "required": [
        "note"
      ],
      "properties": {
        "note": {
          "type": "string",
          "description": "Account note's content"
        }
      }
    }
  }
}
object NoteUpdateNoteRequest
{
  "type": "object",
  "properties": {
    "note": {
      "type": "object",
      "required": [
        "note"
      ],
      "properties": {
        "note": {
          "type": "string",
          "description": "Account note's content"
        }
      }
    }
  }
}