ActiveCampaign

Email marketing and CRM automation

developers.activecampaign.com/reference ↗
Version
3
OpenAPI
3.0.3
Endpoints
257
Schemas
571
Updated
about 1 hour 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

Authentication

apiKey

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](https://developers.activecampaign.com/reference/deal#deals-parameters-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](https://developers.activecampaign.com/reference/deal#deals-parameters-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](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values)
filters[tag] query optional string Filter by tag names associated with deal's primary contact. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/FieldGetFieldGroupRequest"
      },
      "examples": {
        "POST": {
          "value": {
            "groupMember": {
              "rel_id": "10",
              "group_id": "1",
              "ordernum": null
            }
          }
        }
      }
    }
  }
}

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](https://developers.activecampaign.com/reference/contact)
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"
        }
      }
    }
  }
}