Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://{youraccountname}.api-us1.com/api/3
/accountContacts
Create a new account association
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountCreateAssociationRequest"
},
"examples": {
"Request Example": {
"value": {
"accountContact": {
"account": 1,
"contact": 2,
"jobTitle": "Product Manager"
}
}
}
}
}
}
}
POST /accountContacts
/accountContacts/{id}
Delete an existing account association
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Association's ID |
DELETE /accountContacts/{id}
/accountContacts/{id}
Retrieve an existing account association
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Association's ID |
GET /accountContacts/{id}
/accountContacts/{id}
Update an existing account association
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Association's ID |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountUpdateAssociationRequest"
},
"examples": {
"Request Example": {
"value": {
"accountContact": {
"jobTitle": "Product Manager"
}
}
}
}
}
}
}
PUT /accountContacts/{id}
/accounts
Create a new account
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountCreateNewAccountRequest"
},
"examples": {
"Request Example": {
"value": {
"account": {
"name": "Example Account",
"owner": 1,
"fields": [
{
"fieldValue": "500-1000",
"customFieldId": 9
},
{
"fieldValue": 1234,
"customFieldId": 20,
"fieldCurrency": "GBP"
}
],
"accountUrl": "https://www.example.com"
}
}
}
}
}
}
}
POST /accounts
/accounts/bulk_delete
Delete an existing account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| []ids | query | optional | integer | An integer id of the account to be deleted |
| []ids | query | optional | integer | An integer id of the account to be deleted |
| []ids | query | optional | integer | An integer id of the account to be deleted |
DELETE /accounts/bulk_delete
/accounts/{id}
Delete an existing account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Account's id |
DELETE /accounts/{id}
/accounts/{id}
Retrieve an existing account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Account's ID |
GET /accounts/{id}
/accounts/{id}
Update an existing account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Account's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountUpdateExistingRequest"
},
"examples": {
"Request Example": {
"value": {
"account": {
"name": "Exmaple Account",
"fields": [
{
"fieldValue": "500-1000",
"customFieldId": 9
},
{
"fieldValue": 1234,
"customFieldId": 20,
"fieldCurrency": "GBP"
}
],
"accountUrl": "https://www.example.com"
}
}
}
}
}
}
}
PUT /accounts/{id}
/contacts/{id}/accountContacts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/accountContacts
/addresses
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddressCreateNewAddressRequest"
},
"examples": {
"Request Example": {
"value": {
"address": {
"country": "US",
"address_1": "TEST ADDRESS",
"company_name": "TEST NAME"
}
}
}
}
}
}
}
POST /addresses
/addresses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Address to delete |
DELETE /addresses/{id}
/addresses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Address to retrieve |
GET /addresses/{id}
/addresses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Address being changed |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddressUpdateAddressRequest"
},
"examples": {
"Request Example": {
"value": {
"address": {
"zip": "12345",
"city": "New Test City",
"state": "Florida",
"country": "US",
"address1": "111 New Test Address",
"address2": "",
"companyName": "New Test Company Name"
}
}
}
}
}
}
}
PUT /addresses/{id}
/brandings/{id}
Retrieve an existing branding resource
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer |
GET /brandings/{id}
/brandings/{id}
Update an existing branding resource
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Branding ID |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandingUpdateExistingResourceRequest"
}
}
}
}
PUT /brandings/{id}
/calendars
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CalendarCreateFeedRequest"
},
"examples": {
"Request Example": {
"value": {
"calendar": {
"type": "All",
"title": "Calendar Title",
"notification": 1
}
}
}
}
}
}
}
POST /calendars
/calendars/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the calendar feed to delete |
DELETE /calendars/{id}
/calendars/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the calendar feed to retrieve |
GET /calendars/{id}
/calendars/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the calendar feed to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CalendarUpdateFeedRequest"
},
"examples": {
"Request Example": {
"value": {
"calendar": {
"type": "Deals",
"title": "Calendar Title",
"notification": 0
}
}
}
}
}
}
}
PUT /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
/configs/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the config to edit |
PUT /configs/{id}
/connections
Create a new connection resource.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectionCreateNewResourceRequest"
},
"examples": {
"JSON": {
"value": {
"connection": {
"name": "Toystore, Inc.",
"linkUrl": "http://example.com/foo/",
"logoUrl": "http://example.com/i/foo.png",
"service": "fooCommerce",
"externalid": "toystore123"
}
}
}
}
}
}
}
POST /connections
/connections/{id}
Delete an existing connection resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the connection to delete. |
DELETE /connections/{id}
/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}
/connections/{id}
Update an existing connection resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the connection to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectionUpdateExistingConnectionRequest"
},
"examples": {
"JSON": {
"value": {
"connection": {
"name": "Acme, Inc.",
"externalid": "johndoe@example.com"
}
}
}
}
}
}
}
PUT /connections/{id}
/contact/sync
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactSyncDataRequest"
},
"examples": {
"Request Example": {
"value": {
"contact": {
"email": "jondoe@example.com",
"phone": "7223224241",
"lastName": "Doe",
"firstName": "John",
"fieldValues": [
{
"field": "1",
"value": "The Value for First Field"
},
{
"field": "6",
"value": "2008-01-20"
}
]
}
}
}
}
}
}
}
POST /contact/sync
/contactAutomations
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactAddToAutomationRequest"
},
"examples": {
"Request Example": {
"value": {
"contactAutomation": {
"contact": "117",
"automation": "42"
}
}
}
}
}
}
}
POST /contactAutomations
/contactAutomations/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contactAutomation to delete |
DELETE /contactAutomations/{id}
/contactAutomations/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contactAutomation to retrieve |
GET /contactAutomations/{id}
/contacts
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactCreateNewContactRequest"
},
"examples": {
"Request Example": {
"value": {
"contact": {
"email": "johndoe@example.com",
"phone": "7223224241",
"lastName": "Doe",
"firstName": "John",
"fieldValues": [
{
"field": "1",
"value": "The Value for First Field"
},
{
"field": "6",
"value": "2008-01-20"
}
]
}
}
}
}
}
}
}
POST /contacts
/contacts/{id}
Delete an existing contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The contact id |
DELETE /contacts/{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}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactUpdateContactRequest"
},
"examples": {
"Request Example": {
"value": {
"contact": {
"email": "johndoe@example.com",
"lastName": "Doe",
"firstName": "John",
"fieldValues": [
{
"field": "1",
"value": "The Value for First Field"
},
{
"field": "6",
"value": "2008-01-20"
}
]
}
}
}
}
}
}
}
PUT /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
/import/bulk_import
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactBulkImportContactsRequest"
},
"examples": {
"Request Example": {
"value": {
"callback": {
"url": "www.your_web_server.com",
"params": [
{
"key": "",
"value": ""
}
],
"headers": [
{
"key": "",
"value": ""
}
],
"requestType": "POST",
"detailed_results": "true"
},
"contacts": [
{
"tags": [
"dictumst",
"aliquam",
"augue quam",
"sollicitudin rutrum"
],
"email": "someone@somewhere.com",
"phone": "123-456-7890",
"fields": [
{
"id": 1,
"value": "foo"
},
{
"id": 2,
"value": "||foo||bar||baz||"
}
],
"last_name": "Doe",
"subscribe": [
{
"listid": 1
},
{
"listid": 2
}
],
"first_name": "Jane",
"unsubscribe": [
{
"listid": 3
}
],
"customer_acct_name": "ActiveCampaign",
"exclude_automations": false
}
]
}
}
}
}
}
}
POST /import/bulk_import
/ecomCustomers
Create a new e-commerce customer resource.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomerCreateNewCustomerRequest"
},
"examples": {
"JSON": {
"value": {
"ecomCustomer": {
"email": "alice@example.com",
"externalid": "56789",
"connectionid": "1",
"acceptsMarketing": "1"
}
}
}
}
}
}
}
POST /ecomCustomers
/ecomCustomers/{id}
Delete an existing e-commerce customer resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the customer to delete. |
DELETE /ecomCustomers/{id}
/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}
/ecomCustomers/{id}
Update an existing e-commerce customer resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The id of the customer to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomerUpdateResourceRequest"
},
"examples": {
"JSON": {
"value": {
"ecomCustomer": {
"externalid": "98765"
}
}
}
}
}
}
}
PUT /ecomCustomers/{id}
/contactDeals
Retrieve all secondary contacts
GET /contactDeals
/contactDeals
Create a new secondary contact for a deal
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateSecondaryContactRequest"
},
"examples": {
"Request Example": {
"value": {
"contactDeal": {
"deal": 2,
"contact": 1
}
}
}
}
}
}
}
POST /contactDeals
/contactDeals/{id}
Delete an existing secondary contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Secondary Contact's id |
DELETE /contactDeals/{id}
/contactDeals/{id}
Retrieve an existing secondary contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Secondary Contact's id |
GET /contactDeals/{id}
/contactDeals/{id}
Update an existing secondary contact
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Secondary Contact's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateSecondaryContactRequest"
},
"examples": {
"Request Example": {
"value": {
"contactDeal": {
"deal": 1,
"role": 1,
"contact": 4
}
}
}
}
}
}
}
PUT /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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateCustomFieldValueRequest"
},
"examples": {
"date": {
"value": {
"dealCustomFieldDatum": {
"dealId": "1",
"fieldValue": "2018-12-31",
"customFieldId": "6"
}
}
},
"number": {
"value": {
"dealCustomFieldDatum": {
"dealId": "1",
"fieldValue": "100.99",
"customFieldId": "5"
}
}
},
"currency": {
"value": {
"dealCustomFieldDatum": {
"dealId": "1",
"fieldValue": 9999,
"customFieldId": "4",
"fieldCurrency": "cad"
}
}
},
"datetime": {
"value": {
"dealCustomFieldDatum": {
"dealId": "1",
"fieldValue": "2020-05-19T02:45:00-05:00",
"customFieldId": "6"
}
}
},
"dropdown/radio": {
"value": {
"dealCustomFieldDatum": {
"dealId": "2",
"fieldValue": "||option 1||option 2||option 3||",
"customFieldId": "2"
}
}
},
"text/textarea/hidden": {
"value": {
"dealCustomFieldDatum": {
"dealId": "2",
"fieldValue": "test title",
"customFieldId": "1"
}
}
},
"multiselect/checkbox (single)": {
"value": {
"dealCustomFieldDatum": {
"dealId": "2",
"fieldValue": [
"option 1"
],
"customFieldId": "3"
}
}
},
"multiselect/checkbox (multiple)": {
"value": {
"dealCustomFieldDatum": {
"dealId": "2",
"fieldValue": [
"option 1",
"option 3",
"option 4"
],
"customFieldId": "3"
}
}
}
}
}
}
}
POST /dealCustomFieldData
/dealCustomFieldData/bulkCreate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealBulkCreateCustomFieldValuesRequest"
},
"examples": {
"Request Example": {
"value": [
{
"dealId": "1",
"fieldValue": "test title",
"customFieldId": "1"
},
{
"dealId": "1",
"fieldValue": "test title",
"customFieldId": "2"
},
{
"dealId": "1",
"fieldValue": [
"option 1",
"option 3",
"option 4"
],
"customFieldId": "3"
},
{
"dealId": "1",
"fieldValue": 9999,
"customFieldId": "4",
"fieldCurrency": "cad"
},
{
"dealId": "1",
"fieldValue": "100.99",
"customFieldId": "5"
},
{
"dealId": "1",
"fieldValue": "2018-12-31",
"customFieldId": "6"
},
{
"dealId": "1",
"fieldValue": "2020-05-19T02:45:00-05:00",
"customFieldId": "7"
}
]
}
}
}
}
}
POST /dealCustomFieldData/bulkCreate
/dealCustomFieldData/bulkUpdate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealBulkUpdateCustomFieldDataRequest"
},
"examples": {
"Request Example": {
"value": [
{
"id": "1X",
"fieldValue": "test title"
},
{
"id": "2X",
"fieldValue": [
"option 1",
"option 3",
"option 4"
]
},
{
"id": "3X",
"fieldValue": 9999,
"fieldCurrency": "cad"
},
{
"id": "4X",
"fieldValue": "100.99"
},
{
"id": "5X",
"fieldValue": "2018-12-31"
},
{
"id": "6X",
"fieldValue": "2020-05-19T02:45:00-05:00"
}
]
}
}
}
}
}
PATCH /dealCustomFieldData/bulkUpdate
/dealCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
DELETE /dealCustomFieldData/{id}
/dealCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
GET /dealCustomFieldData/{id}
/dealCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the custom fields value to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateCustomFieldValueRequest"
},
"examples": {
"date": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": "2018-12-31 00:00:00"
}
}
},
"number": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": "100.99"
}
}
},
"currency": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": 9999,
"fieldCurrency": "cad"
}
}
},
"dropdown/radio": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": "option 1"
}
}
},
"text/textarea/hidden": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": "New title"
}
}
},
"multiselect/checkbox (single)": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": [
"option 1"
]
}
}
},
"multiselect/checkbox (multiple)": {
"value": {
"dealCustomFieldDatum": {
"fieldValue": [
"option 1",
"option 3",
"option 4"
]
}
}
}
}
}
}
}
PUT /dealCustomFieldData/{id}
/dealCustomFieldMeta
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The number of fields returned per request. |
GET /dealCustomFieldMeta
/dealCustomFieldMeta
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateCustomFieldMetaRequest"
},
"examples": {
"date": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "date",
"fieldLabel": "sample date field",
"isRequired": 1,
"displayOrder": 3,
"fieldDefault": "2018-12-31 00:00:00",
"isFormVisible": 1
}
}
},
"text": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "text",
"fieldLabel": "sample text field2",
"displayOrder": 1,
"fieldDefault": "Default Text",
"isFormVisible": 1
}
}
},
"radio": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "radio",
"fieldLabel": "sample radio field",
"isRequired": 1,
"displayOrder": 6,
"fieldDefault": "option 2",
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"hidden": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "hidden",
"fieldLabel": "sample hidden field",
"isRequired": 1,
"displayOrder": 8,
"fieldDefault": "Default Text in Hidden Field",
"isFormVisible": 1
}
}
},
"number": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "number",
"fieldLabel": "sample number field",
"isRequired": 1,
"displayOrder": 9,
"fieldDefault": "100.99",
"isFormVisible": 1
}
}
},
"checkbox": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "checkbox",
"fieldLabel": "sample checkbox field",
"isRequired": 1,
"displayOrder": 7,
"fieldDefault": [
"option 2",
"option 3"
],
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"currency": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "currency",
"fieldLabel": "sample money field",
"isRequired": 1,
"displayOrder": 10,
"fieldDefault": "10099",
"isFormVisible": 1,
"fieldDefaultCurrency": "aud"
}
}
},
"dropdown": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "dropdown",
"fieldLabel": "sample dropdown field",
"isRequired": 1,
"displayOrder": 4,
"fieldDefault": "option 2",
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"textarea": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "textarea",
"fieldLabel": "sample textarea field",
"isRequired": 1,
"displayOrder": 2,
"fieldDefault": "Default Text in Text Area",
"isFormVisible": 1
}
}
},
"multiselect": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "multiselect",
"fieldLabel": "sample multiselect field",
"isRequired": 1,
"displayOrder": 5,
"fieldDefault": [
"option 2",
"option 3"
],
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"datetime (ISO)": {
"value": {
"dealCustomFieldMetum": {
"fieldType": "datetime",
"fieldLabel": "sample datetime field",
"isRequired": 1,
"displayOrder": 3,
"fieldDefault": "2020-05-16T03:15:00-05:00",
"isFormVisible": 1
}
}
}
}
}
}
}
POST /dealCustomFieldMeta
/dealCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to delete |
DELETE /dealCustomFieldMeta/{id}
/dealCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /dealCustomFieldMeta/{id}
/dealCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the custom field to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateCustomFieldMetaRequest"
},
"examples": {
"Request Example": {
"value": {
"dealCustomFieldMetum": {
"fieldLabel": "New Title",
"displayOrder": 1,
"fieldDefault": "Default Text",
"isFormVisible": 1
}
}
}
}
}
}
}
PUT /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
Create a new pipeline
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreatePipelineRequest"
},
"examples": {
"Request Example": {
"value": {
"dealGroup": {
"title": "Qualifications",
"users": [
"3",
"4"
],
"allusers": 0,
"currency": "eur",
"allgroups": 1,
"autoassign": 1
}
}
}
}
}
}
}
POST /dealGroups
/dealGroups/{id}
Delete an existing pipeline
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Pipeline's id |
DELETE /dealGroups/{id}
/dealGroups/{id}
Retrieve an existing pipeline
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Pipeline's id |
GET /dealGroups/{id}
/dealGroups/{id}
Update an existing pipeline
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Pipeline's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdatePipelineRequest"
},
"examples": {
"Request Example": {
"value": {
"dealGroup": {
"title": "Qualifications",
"users": [
"3"
],
"groups": [],
"allusers": 0,
"currency": "eur",
"allgroups": 1,
"autoassign": 1
}
}
}
}
}
}
}
PUT /dealGroups/{id}
/dealRoles
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| search | query | optional | string | (optional string used to search for matching titles) |
GET /dealRoles
/dealRoles
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealRoleCreationRequest"
}
}
}
}
POST /dealRoles
/dealRoles/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Deal role's id |
DELETE /dealRoles/{id}
/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
Create a new stage for a pipeline
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| reorder | query | optional | integer | Whether to reorder stages within the pipeline after creating a new deal stage. Can be one of `0` and `1`. If set to `1`, new order values will be assigned to all stages within the same pipeline. If deal stages with the same order exists, the stage with the highest `id` will be assigned with the lowest `order` |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateStageRequest"
},
"examples": {
"Request Example": {
"value": {
"dealStage": {
"color": "32B0FC",
"group": "4",
"order": 1,
"title": "Initial Contact",
"width": 360,
"dealOrder": "next-action DESC",
"cardRegion1": "title",
"cardRegion2": "next-action",
"cardRegion3": "show-avatar",
"cardRegion4": "contact-fullname-orgname",
"cardRegion5": "value"
}
}
}
}
}
}
}
POST /dealStages
/dealStages/{id}
Delete an existing stage
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal stage's id |
DELETE /dealStages/{id}
/dealStages/{id}
Retrieve an existing stage
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal stage's id |
GET /dealStages/{id}
/dealStages/{id}
Update an existing stage
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal stage's id |
| reorder | query | optional | integer | Whether to reorder stages within the pipeline after creating a new deal stage. Can be one of `0` and `1`. If set to `1`, new order values will be assigned to all stages within the same pipeline. If deal stages with the same order exists, the stage with the highest `id` will be assigned with the lowest `order` |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateStageRequest"
},
"examples": {
"Request Example": {
"value": {
"dealStage": {
"color": "696969",
"group": "4",
"order": 1,
"title": "Qualifications - Low",
"width": 270,
"dealOrder": "title ASC",
"cardRegion1": "contact-orgname",
"cardRegion2": "next-action",
"cardRegion3": "hide-avatar",
"cardRegion4": "contact-fullname-orgname",
"cardRegion5": "value"
}
}
}
}
}
}
}
PUT /dealStages/{id}
/dealStages/{id}/deals
Move all deals in one stage to another stage
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal stage's id whose deals are to be moved to another deal stage |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealMoveDealsToAnotherStageRequest"
},
"examples": {
"Request Example": {
"value": {
"deal": {
"stage": "3"
}
}
}
}
}
}
}
PUT /dealStages/{id}/deals
/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
Create a new task
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateNewTaskRequest"
},
"examples": {
"Request Example": {
"value": {
"dealTask": {
"note": "Testing Task",
"edate": "2017-02-25T12:15:00-06:00",
"relid": "7",
"title": null,
"status": 0,
"duedate": "2017-02-25T12:00:00-06:00",
"assignee": 2,
"ownerType": "contact",
"dealTasktype": "1",
"doneAutomation": 101,
"triggerAutomationOnCreate": 100
}
}
}
}
}
}
}
POST /dealTasks
/dealTasks/{id}
Delete an existing task
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The task id |
DELETE /dealTasks/{id}
/dealTasks/{id}
Retrieve an existing task
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the task |
GET /dealTasks/{id}
/dealTasks/{id}
Update an existing task
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The ID of the task |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateTaskByIdRequest"
}
}
}
}
PUT /dealTasks/{id}
/dealTasktypes
Retrieve all existing task types
GET /dealTasktypes
/dealTasktypes
Create a new task type
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateTaskTypeRequest"
},
"examples": {
"Request Example": {
"value": {
"dealTasktype": {
"title": "Skype",
"status": 0
}
}
}
}
}
}
}
POST /dealTasktypes
/dealTasktypes/{id}
Delete an existing task type
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal task type's id |
DELETE /dealTasktypes/{id}
/dealTasktypes/{id}
Retrieve an existing task type
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal task type's id |
GET /dealTasktypes/{id}
/dealTasktypes/{id}
Update an existing task type
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal task type's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateTaskTypeRequest"
},
"examples": {
"Request Example": {
"value": {
"dealTasktype": {
"title": "Meet in person",
"status": 1
}
}
}
}
}
}
}
PUT /dealTasktypes/{id}
/dealTasktypes/{id}/dealTasks
Move tasks to a different task type
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Deal task type's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealMoveTasksToAnotherTaskTypeRequest"
},
"examples": {
"Request Example": {
"value": {
"dealTask": {
"dealTasktype": "2"
}
}
}
}
}
}
}
PUT /dealTasktypes/{id}/dealTasks
/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
Create a new deal
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealNewDealCreationRequest"
},
"examples": {
"POST /deals (Example REQUEST)": {
"value": {
"deal": {
"group": "1",
"owner": "1",
"stage": "1",
"title": "AC Deal",
"value": 45600,
"fields": [
{
"fieldValue": "First field value",
"customFieldId": 1
},
{
"fieldValue": "2008-01-20",
"customFieldId": 2
},
{
"fieldValue": 5500,
"customFieldId": 3,
"fieldCurrency": "EUR"
}
],
"status": 0,
"account": "45",
"contact": "51",
"percent": null,
"currency": "usd",
"description": "This deal is an important deal"
}
}
}
}
}
}
}
POST /deals
/deals/bulkUpdate
Update an existing deal
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealBulkUpdateOwnersRequest"
},
"examples": {
"Correct request": {
"value": {
"deals": [
{
"id": 1,
"ownerId": 1
},
{
"id": 2,
"ownerId": 1
},
{
"id": 3,
"ownerId": 1
}
]
}
},
"Missing ownerId": {
"value": {
"deals": [
{
"id": 1
},
{
"id": 2,
"ownerId": 2
}
]
}
},
"Non-existing deal id": {
"value": {
"deals": [
{
"id": 99999999,
"ownerId": 2
}
]
}
}
}
}
}
}
PATCH /deals/bulkUpdate
/deals/{id}
Delete an existing deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The Deal's id |
DELETE /deals/{id}
/deals/{id}
Retrieve an existing deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The Deal's id |
GET /deals/{id}
/deals/{id}
Update an existing deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The Deal's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateExistingDealRequest"
},
"examples": {
"Request Example": {
"value": {
"deal": {
"group": "1",
"owner": "1",
"stage": "1",
"title": "AC Deal",
"value": 45600,
"fields": [
{
"fieldValue": "First field value",
"customFieldId": 1
},
{
"fieldValue": "2008-01-20",
"customFieldId": 2
},
{
"fieldValue": 8800,
"customFieldId": 3,
"fieldCurrency": "USD"
}
],
"status": 0,
"account": "45",
"contact": "51",
"percent": null,
"currency": "usd",
"description": "This deal is an important deal"
}
}
}
}
}
}
}
PUT /deals/{id}
/deals/{id}/notes
Create a new note for a deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The Deal's id to assign new note to |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealCreateNoteRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "Note for the deal"
}
}
}
}
}
}
}
POST /deals/{id}/notes
/deals/{id}/notes/{noteId}
Update an existing note for a deal
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Deal's id to assign new note to |
| noteId | path | required | string | Deal note's id to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DealUpdateNoteRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "Update with more info"
}
}
}
}
}
}
}
PUT /deals/{id}/notes/{noteId}
/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
/event
Track an event using event tracking. Event Tracking must be toggled on in your ActiveCampaign account on "Website" -> "Site Tracking" (scroll down to Event tracking) in order for this call to work.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EventTrackEventRequest"
}
}
}
}
POST /event
/eventTracking
Get event tracking status (enabled or disabled)
GET /eventTracking
/eventTracking
Enable or disable event tracking
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EventToggleStatusRequest"
},
"examples": {
"Enable": {
"value": {
"eventTracking": {
"enabled": true
}
}
},
"Disable": {
"value": {
"eventTracking": {
"enabled": false
}
}
}
}
}
}
}
PUT /eventTracking
/eventTrackingEvents
Create a new event tracking event (name only)
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EventCreateNewEventRequest"
},
"examples": {
"JSON": {
"value": {
"eventTrackingEvent": {
"name": "my new fab event"
}
}
}
}
}
}
}
POST /eventTrackingEvents
/eventTrackingEvents/{eventName}
Remove an existing event tracking event (name only)
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| eventName | path | required | string | Name of event to delete. Spaces in names are allowed, but must be encoded (for example, "my%20event"). |
DELETE /eventTrackingEvents/{eventName}
/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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldCreateCustomFieldValueRequest"
},
"examples": {
"date": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": "2018-12-31",
"customFieldId": "6",
"customerAccountId": "1"
}
}
},
"number": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": "100.99",
"customFieldId": "5",
"customerAccountId": "1"
}
}
},
"currency": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": 9999,
"customFieldId": "4",
"fieldCurrency": "cad",
"customerAccountId": "1"
}
}
},
"datetime": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": "2020-05-19T02:45:00-05:00",
"customFieldId": "14",
"customerAccountId": "1"
}
}
},
"dropdown/radio": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": "||option 1||option 2||option 3||",
"customFieldId": "2",
"customerAccountId": "2"
}
}
},
"text/textarea/hidden": {
"value": {
"accountCustomFieldDatum": {
"accountId": "2",
"fieldValue": "test title",
"customFieldId": "1"
}
}
},
"single multiselect/checkbox": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": [
"option 1",
"option 2",
"option 3"
],
"customFieldId": "3",
"customerAccountId": "2"
}
}
},
"mutliple multiselects/checkboxes": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": [
"option 1",
"option 3",
"option 4"
],
"customFieldId": "3",
"customerAccountId": "2"
}
}
}
}
}
}
}
POST /accountCustomFieldData
/accountCustomFieldData/bulkCreate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldBulkCreateCustomAccountFieldValueRequest"
},
"examples": {
"Request Example": {
"value": [
{
"accountId": "1",
"fieldValue": "test title",
"customFieldId": "1"
},
{
"accountId": "1",
"fieldValue": "test title",
"customFieldId": "2"
},
{
"accountId": "1",
"fieldValue": [
"option 1",
"option 3",
"option 4"
],
"customFieldId": "3"
},
{
"accountId": "1",
"fieldValue": 9999,
"customFieldId": "4",
"fieldCurrency": "cad"
},
{
"accountId": "1",
"fieldValue": "100.99",
"customFieldId": "5"
},
{
"accountId": "1",
"fieldValue": "2018-12-31",
"customFieldId": "6"
},
{
"accountId": "1",
"fieldValue": "2020-05-19T02:45:00-05:00",
"customFieldId": "7"
}
]
}
}
}
}
}
POST /accountCustomFieldData/bulkCreate
/accountCustomFieldData/bulkUpdate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldBulkUpdateCustomFieldValueRequest"
},
"examples": {
"Request Example": {
"value": [
{
"id": "1",
"fieldValue": "test title"
},
{
"id": "2",
"fieldValue": [
"option 1",
"option 3",
"option 4"
]
},
{
"id": "3",
"fieldValue": 9999,
"fieldCurrency": "cad"
},
{
"id": "4",
"fieldValue": "100.99"
},
{
"id": "5",
"fieldValue": "2018-12-31"
},
{
"id": "6",
"fieldValue": "2020-05-19T02:45:00-05:00"
}
]
}
}
}
}
}
PATCH /accountCustomFieldData/bulkUpdate
/accountCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
DELETE /accountCustomFieldData/{id}
/accountCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the dealCustomFieldData to retrieve |
GET /accountCustomFieldData/{id}
/accountCustomFieldData/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the custom fields value to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdateCustomFieldValueRequest"
},
"examples": {
"text/textarea/hidden": {
"value": {
"accountCustomFieldDatum": {
"fieldValue": "New title"
}
}
}
}
}
}
}
PUT /accountCustomFieldData/{id}
/accountCustomFieldMeta
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldCreateCustomFieldMetaRequest"
},
"examples": {
"text": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "text",
"fieldLabel": "sample text field2",
"displayOrder": 1,
"fieldDefault": "Default Text",
"isFormVisible": 1
}
}
},
"radio": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "radio",
"fieldLabel": "sample radio field",
"displayOrder": 6,
"fieldDefault": "option 2",
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"hidden": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "hidden",
"fieldLabel": "sample hidden field",
"displayOrder": 8,
"fieldDefault": "Default Text in Hidden Field",
"isFormVisible": 1
}
}
},
"number": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "number",
"fieldLabel": "sample number field",
"displayOrder": 9,
"fieldDefault": "100.99",
"isFormVisible": 1
}
}
},
"checkbox": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "checkbox",
"fieldLabel": "sample checkbox field",
"displayOrder": 7,
"fieldDefault": [
"option 2",
"option 3"
],
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"currency": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "currency",
"fieldLabel": "sample money field",
"displayOrder": 10,
"fieldDefault": "10099",
"isFormVisible": 1,
"fieldDefaultCurrency": "aud"
}
}
},
"datetime": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "datetime",
"fieldLabel": "sample datetime field",
"displayOrder": 3,
"fieldDefault": "2020-05-16T03:15:00-05:00",
"isFormVisible": 1
}
}
},
"dropdown": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "dropdown",
"fieldLabel": "sample dropdown field",
"displayOrder": 4,
"fieldDefault": "option 2",
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"textarea": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "textarea",
"fieldLabel": "sample textarea field",
"displayOrder": 2,
"fieldDefault": "Default Text in Text Area",
"isFormVisible": 1
}
}
},
"multiselect": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "multiselect",
"fieldLabel": "sample multiselect field",
"displayOrder": 5,
"fieldDefault": [
"option 2",
"option 3"
],
"fieldOptions": [
"option 1",
"option 2",
"option 3"
],
"isFormVisible": 1
}
}
},
"date (ISO ONLY)": {
"value": {
"accountCustomFieldMetum": {
"fieldType": "date",
"fieldLabel": "sample date field",
"displayOrder": 3,
"fieldDefault": "2018-12-31 00:00:00",
"isFormVisible": 1
}
}
}
}
}
}
}
POST /accountCustomFieldMeta
/accountCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to delete |
DELETE /accountCustomFieldMeta/{id}
/accountCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /accountCustomFieldMeta/{id}
/accountCustomFieldMeta/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the custom field to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdateCustomFieldMetaRequest"
},
"examples": {
"Request Example": {
"value": {
"accountCustomFieldMetum": {
"fieldLabel": "New Title",
"displayOrder": 1,
"fieldDefault": "Default Text",
"isFormVisible": 1
}
}
}
}
}
}
}
PUT /accountCustomFieldMeta/{id}
/contacts/{id}/fieldValues
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/fieldValues
/customObjects/schemas/{schemaId}/fields/{fieldId}
Deleting a schema field is an irreversible process. Assuming a valid `202 Accepted` response is received, any associated field data on associated records will immediately be unavailable to the user. There may be a small delay if record requests are in the midst of processing when the field delete request is issued. The deleted field id will *not* be immediately recycled for reuse. 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. The field delete operation is only permitted for admin users. Field deletion is not permitted on public or child schemas (private schemas only).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemaId | path | required | string | Schema ID of the field to be deleted |
| fieldId | path | required | string | Field ID of the field to be deleted |
| 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. |
DELETE /customObjects/schemas/{schemaId}/fields/{fieldId}
/fieldOption/bulk
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldCreateCustomFieldOptionsRequest"
},
"examples": {
"Request Example": {
"value": {
"fieldOptions": [
{
"field": "62",
"label": "Option X",
"value": "X",
"orderid": 1,
"isdefault": false
},
{
"field": "62",
"label": "Option Y",
"value": "Y",
"orderid": 2,
"isdefault": false
},
{
"field": "62",
"label": "Option Z",
"value": "Z",
"orderid": 3,
"isdefault": false
}
]
}
}
}
}
}
}
POST /fieldOption/bulk
/fieldValues
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldCreateCustomValueRequest"
},
"examples": {
"date value": {
"value": {
"fieldValue": {
"field": 7,
"value": "2018-12-31",
"contact": 2
}
}
},
"dropdown/radio value": {
"value": {
"fieldValue": {
"field": 4,
"value": "||option 1||option 2||option 3||",
"contact": 2
}
}
},
"datetime value ISO format": {
"value": {
"fieldValue": {
"field": 7,
"value": "2020-05-19T02:45:00-05:00",
"contact": 2
}
}
},
"text/textarea/hidden value": {
"value": {
"fieldValue": {
"field": 3,
"value": "Blue",
"contact": 2
},
"useDefaults": true
}
},
"multiselect with single option": {
"value": {
"fieldValue": {
"field": 6,
"value": "||Option 2||",
"contact": 2
}
}
},
"multiselect with multiple options": {
"value": {
"fieldValue": {
"field": 6,
"value": "||Option 1||Option 3||Option 4||",
"contact": 2
}
}
}
}
}
}
}
POST /fieldValues
/fieldValues/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the fieldValue to delete |
DELETE /fieldValues/{id}
/fieldValues/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the fieldValue to retrieve |
GET /fieldValues/{id}
/fieldValues/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the fieldValue to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdateCustomValueRequest"
},
"examples": {
"date value": {
"value": {
"fieldValue": {
"field": 7,
"value": "2018-12-31",
"contact": 2
}
}
},
"datetime value (ISO)": {
"value": {
"fieldValue": {
"field": 7,
"value": "2020-05-19T02:45:00-05:00",
"contact": 2
}
}
},
"dropdown/radio value": {
"value": {
"fieldValue": {
"field": 5,
"value": "Option 1",
"contact": 2
}
}
},
"text/textarea/hidden value": {
"value": {
"fieldValue": {
"field": 24,
"value": "Blue",
"contact": 4
},
"useDefaults": true
}
},
"checkbox/listbox values (single)": {
"value": {
"fieldValue": {
"field": 6,
"value": "||Option 2||",
"contact": 2
}
}
},
"checkbox/listbox values (multiple)": {
"value": {
"fieldValue": {
"field": 6,
"value": "||Option 1||Option 3||Option 4||",
"contact": 2
}
}
}
}
}
}
}
PUT /fieldValues/{id}
/fields
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | integer | The number of fields returned per request. |
GET /fields
/fields
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldCreateCustomFieldRequest"
},
"examples": {
"date": {
"value": {
"field": {
"type": "date",
"title": "Field Title",
"defval": "2019-01-01",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"text": {
"value": {
"field": {
"type": "text",
"title": "Field Title",
"defval": "Defaut Value",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"radio": {
"value": {
"field": {
"type": "radio",
"title": "Field Title",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"hidden": {
"value": {
"field": {
"type": "hidden",
"title": "Field Title",
"defval": "Defaut Value",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"checkbox": {
"value": {
"field": {
"type": "checkbox",
"title": "Field Title",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"datetime": {
"value": {
"field": {
"type": "datetime",
"title": "Field Title",
"defval": "2020-05-19T02:45:00-05:00",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"dropdown": {
"value": {
"field": {
"type": "dropdown",
"title": "Field Title",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
},
"textarea": {
"value": {
"field": {
"type": "textarea",
"title": "Field Title",
"defval": "Defaut Value",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1
}
}
},
"multiselect": {
"value": {
"field": {
"type": "listbox",
"title": "Field Title",
"perstag": "Personalized Tag",
"visible": 1,
"descript": "Field description",
"ordernum": 1,
"isrequired": 1
}
}
}
}
}
}
}
POST /fields
/fields/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field option to delete |
DELETE /fields/{id}
/fields/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to retrieve |
GET /fields/{id}
/fields/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the field to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdateCustomFieldRequest"
},
"examples": {
"Request Example": {
"value": {
"field": {
"cols": 2,
"rows": 2,
"type": "textarea",
"title": "Title",
"defval": "Defaut Value",
"perstag": "Personalized Tag",
"service": "google",
"visible": 1,
"descript": "Field description",
"ordernum": 3,
"show_in_list": 1
}
}
}
}
}
}
}
PUT /fields/{id}
/groupMembers
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldAddGroupMemberRequest"
},
"examples": {
"POST": {
"value": {
"groupMember": {
"rel_id": "10",
"group_id": "1",
"ordernum": null
}
}
}
}
}
}
}
POST /groupMembers
/groupMembers/{groupID}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| groupID | path | required | string | Group ID |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldDeleteFieldGroupRequest"
},
"examples": {
"POST": {
"value": {
"groupMember": {
"rel_id": "10",
"group_id": "1",
"ordernum": null
}
}
}
}
}
}
}
DELETE /groupMembers/{groupID}
/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)
/groupMembers/{groupId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| groupId | path | required | string | Field group ID (see notes) |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdateCustomFieldGroupRequest"
},
"examples": {
"POST": {
"value": {
"groupMember": {
"rel_id": "10",
"group_id": "1",
"ordernum": null
}
}
}
}
}
}
}
PUT /groupMembers/{groupId}
/forms
GET /forms
/forms/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the form to retrieve |
GET /forms/{id}
/groups
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupCreateNewGroupRequest"
},
"examples": {
"Request Example": {
"value": {
"group": {
"title": "TEST TITLE",
"pgDeal": 1,
"descript": "Description Text",
"pgListAdd": 1,
"pgFormEdit": 1,
"pgGroupAdd": 1,
"pgListEdit": 1,
"socialdata": 0,
"pgGroupEdit": 1,
"pg_user_add": "0",
"reqApproval": 1,
"optinconfirm": "0",
"pgContactAdd": 1,
"pgDealDelete": 1,
"pgListBounce": 1,
"pgListDelete": 1,
"pgMessageAdd": 1,
"pg_user_edit": "0",
"pgContactEdit": 1,
"pgContactSync": 1,
"pgGroupDelete": 1,
"pgListHeaders": 1,
"pgMessageEdit": 1,
"pgMessageSend": 1,
"pgReportsList": 1,
"pgReportsUser": 1,
"pgTemplateAdd": 1,
"pgContactMerge": 1,
"pgDealGroupAdd": 1,
"pgDealReassign": 1,
"pgReportsTrend": 1,
"pgTemplateEdit": 1,
"pg_user_delete": "0",
"reqApproval1st": 1,
"pgContactDelete": 1,
"pgContactExport": 1,
"pgContactFields": 1,
"pgContactImport": 1,
"pgDealGroupEdit": 1,
"pgMessageDelete": 1,
"unsubscribelink": "0",
"pgContactActions": 1,
"pgContactApprove": 1,
"pgContactFilters": 1,
"pgStartupReports": 1,
"pgTemplateDelete": 1,
"pgDealGroupDelete": 1,
"pgReportsCampaign": 1,
"reqApprovalNotify": "JohnDoe@gmail.com",
"pgAutomationManage": 1,
"pgListEmailaccount": 1,
"pgPersonalizationAdd": 1,
"pgPersonalizationEdit": 1,
"pgSavedResponsesManage": 1,
"pgPersonalizationDelete": 1,
"pgStartupGettingstarted": 1
}
}
}
}
}
}
}
POST /groups
/groups/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the group to be deleted |
DELETE /groups/{id}
/groups/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the group to retrieve |
GET /groups/{id}
/groups/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the group to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupUpdateGroupByIdRequest"
},
"examples": {
"Request Example": {
"value": {
"group": {
"title": "TEST TITLE",
"pgDeal": 1,
"descript": "Description Text",
"pgListAdd": 1,
"pgFormEdit": 1,
"pgGroupAdd": 1,
"pgListEdit": 1,
"socialdata": 0,
"pgGroupEdit": 1,
"pg_user_add": "0",
"reqApproval": 1,
"optinconfirm": "0",
"pgContactAdd": 1,
"pgDealDelete": 1,
"pgListBounce": 1,
"pgListDelete": 1,
"pgMessageAdd": 1,
"pg_user_edit": "0",
"pgContactEdit": 1,
"pgContactSync": 1,
"pgGroupDelete": 1,
"pgListHeaders": 1,
"pgMessageEdit": 1,
"pgMessageSend": 1,
"pgReportsList": 1,
"pgReportsUser": 1,
"pgTemplateAdd": 1,
"pgContactMerge": 1,
"pgDealGroupAdd": 1,
"pgDealReassign": 1,
"pgReportsTrend": 1,
"pgTemplateEdit": 1,
"pg_user_delete": "0",
"reqApproval1st": 1,
"pgContactDelete": 1,
"pgContactExport": 1,
"pgContactFields": 1,
"pgContactImport": 1,
"pgDealGroupEdit": 1,
"pgMessageDelete": 1,
"unsubscribelink": "0",
"pgContactActions": 1,
"pgContactApprove": 1,
"pgContactFilters": 1,
"pgStartupReports": 1,
"pgTemplateDelete": 1,
"pgDealGroupDelete": 1,
"pgReportsCampaign": 1,
"reqApprovalNotify": "JohnDoe@gmail.com",
"pgAutomationManage": 1,
"pgListEmailaccount": 1,
"pgPersonalizationAdd": 1,
"pgPersonalizationEdit": 1,
"pgSavedResponsesManage": 1,
"pgPersonalizationDelete": 1,
"pgStartupGettingstarted": 1
}
}
}
}
}
}
}
PUT /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
/addressLists/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the AddressList to delete |
DELETE /addressLists/{id}
/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
/contactLists
Subscribe a contact to a list or unsubscribe a contact from a list.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListUpdateListStatusForContactRequest"
},
"examples": {
"Request Example": {
"value": {
"contactList": {
"list": 2,
"status": 1,
"contact": 1
}
}
}
}
}
}
}
POST /contactLists
/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
/fieldRels
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListCreateFieldRelationshipToListsRequest"
},
"examples": {
"Request Example": {
"value": {
"fieldRel": {
"field": 8,
"relid": 2
}
}
}
}
}
}
}
POST /fieldRels
/fieldRels/{fieldRelId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| fieldRelId | path | required | integer | Field relationship ID to be deleted |
DELETE /fieldRels/{fieldRelId}
/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
/listGroups
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListGroupPermissionCreateRequest"
},
"examples": {
"Request Example": {
"value": {
"listGroup": {
"listid": 19,
"groupid": 1
}
}
}
}
}
}
}
POST /listGroups
/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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListCreateNewListRequest"
},
"examples": {
"Request Example": {
"value": {
"list": {
"name": "Name of List",
"user": 1,
"stringid": "Name-of-list",
"carboncopy": "",
"sender_url": "http://activecampaign.com",
"sender_reminder": "You are receiving this email as you subscribed to a newsletter when making an order on our site.",
"send_last_broadcast": 0,
"subscription_notify": "",
"unsubscription_notify": ""
}
}
}
}
}
}
}
POST /lists
/lists/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the list to delete |
DELETE /lists/{id}
/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
/siteTrackingDomains
Add a domain to the site tracking whitelist
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListWhitelistedDomainCreateRequest"
},
"examples": {
"Request Example": {
"value": {
"siteTrackingDomain": {
"name": "example.com"
}
}
}
}
}
}
}
POST /siteTrackingDomains
/siteTrackingDomains/{name}
Remove a domain from the site tracking whitelist
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| name | path | required | string | The domain name to remove from the whitelist |
DELETE /siteTrackingDomains/{name}
/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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageCreateNewMessageRequest"
},
"examples": {
"Request Example": {
"value": {
"message": {
"reply2": "hello@example.com",
"subject": "You are subscribing to %LISTNAME%",
"fromname": "AC Admin",
"fromemail": "noreply@example.com",
"preheader_text": "Pre-header Text"
}
}
}
}
}
}
}
POST /messages
/messages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message to delete |
DELETE /messages/{id}
/messages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message to retrieve |
GET /messages/{id}
/messages/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the message to update |
| message.fromname | header | optional | string | Name of sender |
| message.email | header | optional | string | Email of sender |
| message.reply2 | header | optional | string | Reply email for the recipient to reply to |
| message.subject | header | optional | string | Subject of message |
| message.preheader_text | header | optional | string | Preheader Text |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageUpdateByIdRequest"
},
"examples": {
"Request Example": {
"value": {
"message": {
"reply2": "hello@example.com",
"subject": "You are subscribing to %LISTNAME%",
"fromname": "John Doe",
"fromemail": "noreply@example.com",
"preheader_text": "Pre-header Text"
}
}
}
}
}
}
}
PUT /messages/{id}
/accounts/{id}/notes
Create a new note for an account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Account's id to assign new note to |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteCreateAccountNoteRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "Note for the account"
}
}
}
}
}
}
}
POST /accounts/{id}/notes
/accounts/{id}/notes/{noteid}
Update an existing note for a account
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Account's id to assign new note to |
| noteid | path | required | string | Account note's id to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteUpdateNoteRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "Update with more info"
}
}
}
}
}
}
}
PUT /accounts/{id}/notes/{noteid}
/contacts/{id}/notes
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the contact |
GET /contacts/{id}/notes
/notes
GET /notes
/notes
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteCreateNewRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "This is the text of the note",
"relid": 2,
"reltype": "Subscriber"
}
}
}
}
}
}
}
POST /notes
/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the note to delete |
DELETE /notes/{id}
/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the note to retrieve |
GET /notes/{id}
/notes/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | ID of the note to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoteUpdateNoteByIdRequest"
},
"examples": {
"Request Example": {
"value": {
"note": {
"note": "This is the text of the note",
"relid": 2,
"reltype": "Subscriber"
}
}
}
}
}
}
}
PUT /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
Create a new e-commerce order resource.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrderCreateNewOrderRequest"
},
"examples": {
"Request Example": {
"value": {
"ecomOrder": {
"email": "alice@example.com",
"source": "1",
"currency": "USD",
"orderUrl": "https://example.com/orders/3246315233",
"taxAmount": 500,
"customerid": "1",
"externalid": "3246315233",
"totalPrice": 9111,
"orderNumber": "myorder-123",
"connectionid": "1",
"orderProducts": [
{
"sku": "POGO-12",
"name": "Pogo Stick",
"price": 4900,
"category": "Toys",
"imageUrl": "https://example.com/product.jpg",
"quantity": 1,
"externalid": "PROD12345",
"productUrl": "https://store.example.com/product12345",
"description": "lorem ipsum..."
},
{
"sku": "SK8BOARD145",
"name": "Skateboard",
"price": 3000,
"category": "Toys",
"imageUrl": "https://example.com/product.jpg",
"quantity": 1,
"externalid": "PROD23456",
"productUrl": "https://store.example.com/product45678",
"description": "lorem ipsum..."
}
],
"discountAmount": 100,
"orderDiscounts": [
{
"name": "1OFF",
"type": "order",
"discountAmount": 100
}
],
"shippingAmount": 200,
"shippingMethod": "UPS Ground",
"externalCreatedDate": "2016-09-13T17:41:39-04:00",
"externalUpdatedDate": "2016-09-14T17:41:39-04:00"
}
}
}
}
}
}
}
POST /ecomOrders
/ecomOrders/{ecomOrderId}
Delete an existing e-commerce order resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ecomOrderId | path | required | integer | The id of the order to delete. |
DELETE /ecomOrders/{ecomOrderId}
/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}
/ecomOrders/{id}
Update an existing ecommerce order/cart resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the order to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrderUpdateOrderResourceRequest"
},
"examples": {
"Request Example": {
"value": {
"ecomOrder": {
"email": "alice@example.com",
"currency": "USD",
"taxAmount": 500,
"externalid": "3246315237",
"totalPrice": 9111,
"orderNumber": "12345-1",
"orderProducts": [
{
"sku": "POGO-12",
"name": "Pogo Stick",
"price": 4900,
"category": "Toys",
"imageUrl": "https://example.com/product.jpg",
"quantity": 1,
"externalid": "PROD12345",
"productUrl": "https://store.example.com/product12345",
"description": "lorem ipsum..."
},
{
"sku": "SK8BOARD145",
"name": "Skateboard",
"price": 3000,
"category": "Toys",
"imageUrl": "https://example.com/product.jpg",
"quantity": 1,
"externalid": "PROD23456",
"productUrl": "https://store.example.com/product45678",
"description": "lorem ipsum..."
}
],
"discountAmount": 100,
"orderDiscounts": [
{
"name": "1OFF",
"type": "order",
"discountAmount": 100
}
],
"shippingAmount": 200,
"shippingMethod": "UPS Ground",
"externalUpdatedDate": "2016-09-15T17:41:39-04:00"
}
}
}
}
}
}
}
PUT /ecomOrders/{id}
/taskOutccomes/{id}
Delete an existing task outcome
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Task outcome's id |
DELETE /taskOutccomes/{id}
/taskOutccomes/{id}
Update an existing task outcome
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Task outcome's id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OutcomeUpdateTaskOutcomeRequest"
},
"examples": {
"Request Example": {
"value": {
"taskOutcome": {
"sentiment": "Neutral"
}
}
}
}
}
}
}
PUT /taskOutccomes/{id}
/taskOutcomes
Create a new task outcome
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OutcomeCreateTaskOutcomeRequest"
},
"examples": {
"Request Example": {
"value": {
"taskOutcome": {
"title": "Interested",
"sentiment": "Positive"
}
}
}
}
}
}
}
POST /taskOutcomes
/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}
Delete an existing task type - outcome relation
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | Task type - outcome relation's id |
DELETE /tasktypeOutcomeRels/{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}
/taskNotifications
Create a new task outcome
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReminderCreateTaskOutcomeRequest"
},
"examples": {
"Request Example": {
"value": {
"taskNotification": {
"dealTask": "1",
"interval": "123"
}
}
}
}
}
}
}
POST /taskNotifications
/savedResponses
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseCreateSavedResponseRequest"
},
"examples": {
"Request Example": {
"value": {
"savedResponse": {
"body": "Response Body",
"title": "Response Title",
"subject": "Response Subject"
}
}
}
}
}
}
}
POST /savedResponses
/savedResponses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the saved response to remove |
DELETE /savedResponses/{id}
/savedResponses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the saved Response to recieve |
GET /savedResponses/{id}
/savedResponses/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the saved response to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseUpdateSavedResponseRequest"
},
"examples": {
"Request Example": {
"value": {
"savedResponse": {
"body": "Response body",
"title": "Response title",
"subject": "Response subject"
}
}
}
}
}
}
}
PUT /savedResponses/{id}
/customObjects/records/{schemaId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemaId | path | required | string | ID of schema |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchemaCreateOrUpdateRecordRequest"
},
"examples": {
"Create with Deal": {
"value": {
"record": {
"id": "test-obj-1X",
"fields": [
{
"id": "my-number-fieldX",
"value": 100
}
],
"schemaId": "6449c3f3-b68d-46d1-850b-c8aea998ce1b",
"externalId": "test-obj-1",
"relationships": {
"deal": [
22
]
}
}
}
},
"Create with Account": {
"value": {
"record": {
"id": "test-obj-1X",
"fields": [
{
"id": "my-number-fieldX",
"value": 100
}
],
"schemaId": "6449c3f3-b68d-46d1-850b-c8aea998ce1b",
"externalId": "test-obj-1",
"relationships": {
"account": [
123
]
}
}
}
},
"Create with Contact": {
"value": {
"record": {
"id": "test-obj-1",
"fields": [
{
"id": "my-number-fieldX",
"value": 100
}
],
"schemaId": "6449c3f3-b68d-46d1-850b-c8aea998ce1b",
"externalId": "test-obj-1",
"relationships": {
"primary-contact": [
14
]
}
}
}
}
}
}
}
}
POST /customObjects/records/{schemaId}
/customObjects/records/{schemaId}/external/{externalId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemaId | path | required | string | ID of schema |
| externalId | path | required | string | External ID of record |
DELETE /customObjects/records/{schemaId}/external/{externalId}
/customObjects/records/{schemaId}/{recordId}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| schemaId | path | required | string | ID of schema |
| recordId | path | required | string | ID of record |
DELETE /customObjects/records/{schemaId}/{recordId}
/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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchemaCreateNewRequest"
},
"examples": {
"A single field with a relationship to a deal": {
"value": {
"schema": {
"slug": "my-object",
"fields": [
{
"id": "my-number-fieldX",
"type": "number",
"scale": 0,
"labels": {
"plural": "Numbers",
"singular": "Number"
},
"required": false
}
],
"labels": {
"plural": "My Objects",
"singular": "My Object"
},
"description": "Sample Schema",
"relationships": [
{
"id": "deal",
"labels": {
"plural": "Deals",
"singular": "Deal"
},
"hasMany": false,
"namespace": "deals",
"description": "Deals related to this object"
}
]
}
}
},
"A single field with a relationship to an account": {
"value": {
"schema": {
"slug": "my-object",
"fields": [
{
"id": "my-number-fieldX",
"type": "number",
"scale": 0,
"labels": {
"plural": "Numbers",
"singular": "Number"
},
"required": false
}
],
"labels": {
"plural": "My Objects",
"singular": "My Object"
},
"description": "Sample Schema",
"relationships": [
{
"id": "account",
"labels": {
"plural": "Accounts",
"singular": "Account"
},
"hasMany": false,
"namespace": "accounts",
"description": "Accounts related to this object"
}
]
}
}
},
"A single field with a relationship to the contact": {
"value": {
"schema": {
"slug": "my-object",
"fields": [
{
"id": "my-number-field",
"type": "number",
"scale": 0,
"labels": {
"plural": "Numbers",
"singular": "Number"
},
"required": false
}
],
"labels": {
"plural": "My Objects",
"singular": "My Object"
},
"description": "Sample Schema",
"relationships": [
{
"id": "primary-contact",
"labels": {
"plural": "Primary Contacts",
"singular": "Primary Contact"
},
"hasMany": false,
"namespace": "contacts",
"description": "Primary contact to this object"
}
]
}
}
}
}
}
}
}
POST /customObjects/schemas
/customObjects/schemas/public
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchemaCreatePublicSchemaRequest"
},
"examples": {
"Request Example": {
"value": {
"schema": {
"slug": "event-tickets",
"appId": "cxapp-studio-app-id",
"fields": [
{
"id": "nameX",
"type": "textarea",
"labels": {
"plural": "Names",
"singular": "Name"
}
}
],
"labels": {
"plural": "Event Tickets",
"singular": "Event Ticket"
},
"description": "Event Tickets",
"relationships": [
{
"id": "primary-contactX",
"labels": {
"plural": "Primary Contacts",
"singular": "Primary Contact"
},
"namespace": "contacts",
"description": "Primary contact that owns a ticket"
}
]
}
}
}
}
}
}
}
POST /customObjects/schemas/public
/customObjects/schemas/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of schema to delete |
DELETE /customObjects/schemas/{id}
/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}
/customObjects/schemas/{id}/child
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Id of the parent schema the new child schema will extend |
POST /customObjects/schemas/{id}/child
/customObjects/schemas/{schemaId}
Make an update to a given schema. To delete a schema field, reference the field delete endpoint: https://developers.activecampaign.com/reference/delete-a-field-1 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 |
|---|---|---|---|---|
| schemaId | path | required | string | Id of Schema being updated |
| validateOnly | header | optional | boolean | When set to `true` the API will validate the schema update without saving changes |
| 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. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchemaUpdateSchemaRequest"
},
"examples": {
"Request Example": {
"value": {
"schema": {
"slug": "stripe-order",
"appId": "123456",
"icons": {
"default": "https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png"
},
"fields": [
{
"id": "name",
"type": "text",
"labels": {
"plural": "Product Name",
"singular": "Product Name"
},
"origin": "stripe",
"isRequired": true,
"description": "Name of the product from the Stripe integration"
},
{
"id": "total",
"type": "currency",
"labels": {
"plural": "Order Totals",
"singular": "Order Total"
},
"origin": "stripe",
"isRequired": true,
"description": "Total cost of the order",
"defaultCurrency": "USD"
},
{
"id": "status",
"type": "dropdown",
"labels": {
"plural": "Order Statuses",
"singular": "Order Status"
},
"origin": "stripe",
"options": [
{
"value": "Processed"
}
],
"isRequired": true,
"description": "Status of the order"
},
{
"id": "features",
"type": "multiselect",
"labels": {
"plural": "Order Features",
"singular": "Order Feature"
},
"origin": "stripe",
"options": [
{
"value": "Expedited Shipping"
}
],
"isRequired": true,
"description": "Extra features for the order"
},
{
"id": "rating",
"type": "decimal",
"scale": 2,
"labels": {
"plural": "Order Ratings",
"singular": "Order Rating"
},
"origin": "stripe",
"isRequired": true,
"description": "Customer satisfaction rating"
}
],
"labels": {
"plural": "Stripe Orders",
"singular": "Stripe Order"
},
"description": "Orders placed through the Stripe integration",
"relationships": [
{
"id": "primary-contactX",
"labels": {
"plural": "Primary Contacts",
"singular": "Primary Contact"
},
"hasMany": false,
"namespace": "contacts",
"description": "Products purchased in this Stripe order"
}
]
}
}
}
}
}
}
}
PUT /customObjects/schemas/{schemaId}
/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
/contactTags
Create a contact tag object
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagAddContactTagRequest"
},
"examples": {
"Example 1": {
"value": {
"contactTag": {
"tag": "20",
"contact": "1"
}
}
}
}
}
}
}
POST /contactTags
/contactTags/{id}
Delete a contact tag object
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The contactTag id |
DELETE /contactTags/{id}
/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
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagCreateTagRequest"
},
"examples": {
"Request Example": {
"value": {
"tag": {
"tag": "My Tag",
"tagType": "contact",
"description": "Description"
}
}
}
}
}
}
}
POST /tags
/tags/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the tag to remove |
DELETE /tags/{id}
/tags/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the tag to retrieve |
GET /tags/{id}
/tags/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the tag to update |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagUpdateTagRequest"
},
"examples": {
"Request Example": {
"value": {
"tag": {
"tag": "My Tag",
"tagType": "contact",
"description": "Description"
}
}
}
}
}
}
}
PUT /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
Enable or disable site tracking
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrackingEnableDisableSiteRequest"
},
"examples": {
"Enable": {
"value": {
"siteTracking": {
"enabled": true
}
}
}
}
}
}
}
PUT /siteTracking
/siteTracking/code
Get site tracking code
GET /siteTracking/code
/addressGroups/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the AddressGroup to delete |
DELETE /addressGroups/{id}
/users
List all existing users
GET /users
/users
Create a new user
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserCreateNewUserRequest"
},
"examples": {
"Request Example": {
"value": {
"user": {
"email": "johndoe@example.com",
"group": 4,
"lastName": "Doe",
"password": "myPa$$w0rd",
"username": "jdoe",
"firstName": "John"
}
}
}
}
}
}
}
POST /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}
Delete an existing user
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the user you wish to delete |
DELETE /users/{id}
/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}
/users/{id}
Update an existing user
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the user |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserUpdateExistingUserRequest"
}
}
}
}
PUT /users/{id}
/webhooks
Create a new webhook
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookCreateNewWebhookRequest"
},
"examples": {
"JSON": {
"value": {
"webhook": {
"url": "http://example.com/my-hook",
"name": "My Hook",
"events": [
"subscribe",
"unsubscribe",
"sent"
],
"sources": [
"public",
"system"
]
}
}
}
}
}
}
}
POST /webhooks
/webhooks/{id}
Delete an existing webhook
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The webhook id |
DELETE /webhooks/{id}
/webhooks/{id}
Retrieve an existing webhook
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer |
GET /webhooks/{id}
/webhooks/{id}
Update an existing webhook
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | The webhook id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookUpdateExistingRequest"
},
"examples": {
"Request Example": {
"value": {
"webhook": {
"url": "http://example.com/my-hook",
"name": "My Hook",
"events": [
"subscribe",
"unsubscribe",
"sent"
],
"sources": [
"public",
"system"
]
}
}
}
}
}
}
}
PUT /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"
}
}
}
}
}