Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://{youraccountname}.api-us1.com/api/3
/accountContacts/{id}
Retrieve an existing account association
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Association's ID |
GET /accountContacts/{id}
/accounts/{id}
Retrieve an existing account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Account's ID |
GET /accounts/{id}
/contacts/{id}/accountContacts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/accountContacts
/addresses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Address to retrieve |
GET /addresses/{id}
/brandings/{id}
Retrieve an existing branding resource
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer |
GET /brandings/{id}
/calendars/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the calendar feed to retrieve |
GET /calendars/{id}
/campaigns/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of campaign to retrieve |
GET /campaigns/{id}
/campaigns/{id}/links
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of campaign to retrieve Links for |
GET /campaigns/{id}/links
/connections/{id}
Retrieve an existing connection resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the connection to retrieve |
GET /connections/{id}
/contactAutomations/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contactAutomation to retrieve |
GET /contactAutomations/{id}
/contacts/{id}
Retrieve an existing contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}
/contacts/{id}/automationEntryCounts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/automationEntryCounts
/contacts/{id}/bounceLogs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/bounceLogs
/contacts/{id}/contactData
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/contactData
/contacts/{id}/contactGoals
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/contactGoals
/contacts/{id}/contactLogs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/contactLogs
/contacts/{id}/organization
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/organization
/contacts/{id}/plusAppend
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/plusAppend
/contacts/{id}/scoreValues
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | id of the Contact |
GET /contacts/{id}/scoreValues
/contacts/{id}/trackingLogs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/trackingLogs
/geoIps/{geoAddressID}/geoAddress
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| geoAddressID | path | required | integer | ID of the contact |
GET /geoIps/{geoAddressID}/geoAddress
/ecomCustomers/{id}
Retrieve an existing e-commerce customer resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the customer to retrieve |
GET /ecomCustomers/{id}
/contactDeals
Retrieve all secondary contacts
GET /contactDeals
/contactDeals/{id}
Retrieve an existing secondary contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Secondary Contact's id |
GET /contactDeals/{id}
/contacts/{id}/contactDeals
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/contactDeals
/contacts/{id}/deals
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/deals
/dealActivities
View a recent activity for Deals. A specific deal's activity can also be viewed using /api/3/deals/[dealID]/dealActivities.
| 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 |
GET /dealActivities
/dealCustomFieldData
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filters[dealId] | query | optional | string | Filter results by a specific deal (note that Id uses a capital I) |
GET /dealCustomFieldData
/dealCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
GET /dealCustomFieldData/{id}
/dealCustomFieldMeta
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The number of fields returned per request. |
GET /dealCustomFieldMeta
/dealCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /dealCustomFieldMeta/{id}
/dealGroups
Retrieve all existing pipelines
| 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. |
GET /dealGroups
/dealGroups/{id}
Retrieve an existing pipeline
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Pipeline's id |
GET /dealGroups/{id}
/dealRoles
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| search | query | optional | string | (optional string used to search for matching titles) |
GET /dealRoles
/dealStages
Retrieve all existing stages
| 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 |
GET /dealStages
/dealStages/{id}
Retrieve an existing stage
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal stage's id |
GET /dealStages/{id}
/dealTasks
Retrieve a list of existing tasks
| 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. |
GET /dealTasks
/dealTasks/{id}
Retrieve an existing task
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the task |
GET /dealTasks/{id}
/dealTasktypes
Retrieve all existing task types
GET /dealTasktypes
/dealTasktypes/{id}
Retrieve an existing task type
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal task type's id |
GET /dealTasktypes/{id}
/deals
Retrieve all existing deals
| 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. |
GET /deals
/deals/{id}
Retrieve an existing deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The Deal's id |
GET /deals/{id}
/contacts/{contactId}/trackingLogs
Get a log of events for a Contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contactId | path | required | string | The Contact's ID |
GET /contacts/{contactId}/trackingLogs
/eventTracking
Get event tracking status (enabled or disabled)
GET /eventTracking
/trackingLogs/{eventId}/contact
Get the contact that was involved in an event.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventId | path | required | string | The Event's ID |
GET /trackingLogs/{eventId}/contact
/accountCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
GET /accountCustomFieldData/{id}
/accountCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /accountCustomFieldMeta/{id}
/contacts/{id}/fieldValues
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/fieldValues
/fieldValues/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the fieldValue to retrieve |
GET /fieldValues/{id}
/fields
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The number of fields returned per request. |
GET /fields
/fields/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /fields/{id}
/groupMembers/{groupID} (COPY)
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| groupID | path | required | string | Group ID |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldGetFieldGroupRequest"
},
"examples": {
"POST": {
"value": {
"groupMember": {
"rel_id": "10",
"group_id": "1",
"ordernum": null
}
}
}
}
}
}
}
GET /groupMembers/{groupID} (COPY)
/forms
GET /forms
/forms/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the form to retrieve |
GET /forms/{id}
/groups/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the group to retrieve |
GET /groups/{id}
/import/info
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| batchId | query | optional | string |
GET /import/info
/accountContacts
Retrieve all existing account association
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filters[contact] | query | optional | integer | Filter by Contact ID |
| filters[account] | query | optional | integer | Filter by Account ID |
GET /accountContacts
/accountCustomFieldData
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filters[customerAccountId] | query | optional | string | Filter results by a specific account (note that Id uses a capital I) |
GET /accountCustomFieldData
/accountCustomFieldMeta
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The number of fields returned per request. |
GET /accountCustomFieldMeta
/accounts
Retrieve all existing account
| 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. |
GET /accounts
/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.
| 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 |
GET /activities
/addresses
GET /addresses
/automations
GET /automations
/brandings
List all existing branding resources
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| api_key | query | optional | string | ActiveCampaign API key |
GET /brandings
/calendars
GET /calendars
/campaigns
| 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 |
GET /campaigns
/connections
List all existing connection resources.
| 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. |
GET /connections
/contactAutomations
GET /contactAutomations
/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.
| 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 |
| 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. |
GET /contacts
/contacts/{id}/contactAutomations
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact to receive automations for |
GET /contacts/{id}/contactAutomations
/contacts/{id}/contactLists
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/contactLists
/contacts/{id}/geoIps
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/geoIps
/customObjects/records/{schemaId}
| 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. |
GET /customObjects/records/{schemaId}
/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.
| 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. |
GET /customObjects/schemas
/ecomCustomers
List all e-commerce customer resources.
| 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. |
GET /ecomCustomers
/ecomOrderProducts
GET /ecomOrderProducts
/ecomOrders
List all existing e-commerce order resources.
| 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. |
GET /ecomOrders
/ecomOrders/{id}/orderProducts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the order whose products you'd like returned. |
GET /ecomOrders/{id}/orderProducts
/emailActivities
| 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. |
GET /emailActivities
/eventTrackingEvents
List the names of tracked events
GET /eventTrackingEvents
/fieldValues
| 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 |
GET /fieldValues
/groupLimits
GET /groupLimits
/groups
GET /groups
/import/bulk_import
GET /import/bulk_import
/lists
| 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. |
GET /lists
/lists/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the lists to retrieve |
GET /lists/{id}
/messages
GET /messages
/savedResponses
GET /savedResponses
/scores
GET /scores
/segments
GET /segments
/siteTrackingDomains
List of all whitelisted site tracking domains
GET /siteTrackingDomains
/taskOutcomes
Retrieve all existing task outcomes
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filters[sentiment] | query | optional | string | 1 is for Negative, 2 is for Neutral and 3 is for Positive |
GET /taskOutcomes
/tasktypeOutcomeRels
Retrieve all existing task type - outcome relations
GET /tasktypeOutcomeRels
/webhook/events
List all available webhook events
GET /webhook/events
/webhooks
List all existing webhooks
| 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 |
GET /webhooks
/messages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message to retrieve |
GET /messages/{id}
/contacts/{id}/notes
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/notes
/notes
GET /notes
/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the note to retrieve |
GET /notes/{id}
/ecomOrderProducts/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the product you'd like returned. |
GET /ecomOrderProducts/{id}
/ecomOrders/{ecomOrderId}
Retrieve an existing e-commerce order resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ecomOrderId | path | required | integer | The id of the order to retrieve. |
GET /ecomOrders/{ecomOrderId}
/taskOutcomes/{id}
Retrieve an existing task outcome
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Task outcome's id |
GET /taskOutcomes/{id}
/tasktypeOutcomeRels/{id}
Retrieve an existing task type - outcome relation
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Task type - outcome relation's id |
GET /tasktypeOutcomeRels/{id}
/records/{schemdId}/external/{externalId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemdId | path | required | string | ID of schema |
| externalId | path | required | string | External ID for record |
GET /records/{schemdId}/external/{externalId}
/savedResponses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the saved Response to recieve |
GET /savedResponses/{id}
/customObjects/records/{schemaId}/{recordId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemaId | path | required | string | ID of schema |
| recordId | path | required | string | ID of record |
GET /customObjects/records/{schemaId}/{recordId}
/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.
| 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. |
GET /customObjects/schemas/{id}
/scores/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the score to retrieve |
GET /scores/{id}
/segments/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the segment to be retrieved |
GET /segments/{id}
/siteTracking
Get site tracking status (enabled or disabled)
GET /siteTracking
/tags
| 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. |
GET /tags
/tags/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the tag to retrieve |
GET /tags/{id}
/template/share
Create a shareable link to a campaign template
| 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 |
GET /template/share
/templates/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the template to retrieve |
GET /templates/{id}
/siteTracking/code
Get site tracking code
GET /siteTracking/code
/users
List all existing users
GET /users
/users/email/{email}
Retrieve an existing user by looking up their email address
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| path | required | string | Email address of the user you want to view |
GET /users/email/{email}
/users/me
Retrieve the logged-in user
GET /users/me
/users/username/{username}
Retrieve an existing user by looking up their username
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| username | path | required | string | Username of the user you want to view |
GET /users/username/{username}
/users/{id}
Retrieve an existing user
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the user you want to view |
GET /users/{id}
/webhooks/{id}
Retrieve an existing webhook
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer |
GET /webhooks/{id}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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)"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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`."
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
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"
}
}
}
}
}
NoteCreateAccountNoteRequest
{
"type": "object",
"properties": {
"note": {
"type": "object",
"required": [
"note"
],
"properties": {
"note": {
"type": "string",
"description": "Account note's content"
}
}
}
}
}
NoteUpdateNoteRequest
{
"type": "object",
"properties": {
"note": {
"type": "object",
"required": [
"note"
],
"properties": {
"note": {
"type": "string",
"description": "Account note's content"
}
}
}
}
}