ActiveCampaign

Email marketing and CRM automation

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

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

Get API Key

Server URLs

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

Authentication

apiKey

Endpoints

Account 10 endpoints

POST /accountContacts

Create a new account association

operationId: Account_createAssociation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AccountCreateAssociationRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "accountContact": {
              "account": 1,
              "contact": 2,
              "jobTitle": "Product Manager"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
422 422
POST /accountContacts
DELETE /accountContacts/{id}

Delete an existing account association

operationId: Account_deleteAssociation

Parameters

Name In Required Type Description
id path required integer Association's ID

Responses

200 200
404 404
DELETE /accountContacts/{id}
GET /accountContacts/{id}

Retrieve an existing account association

operationId: Account_getAssociation

Parameters

Name In Required Type Description
id path required integer Association's ID

Responses

200 200
404 404
GET /accountContacts/{id}
PUT /accountContacts/{id}

Update an existing account association

operationId: Account_updateAssociation

Parameters

Name In Required Type Description
id path required integer Association's ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AccountUpdateAssociationRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "accountContact": {
              "jobTitle": "Product Manager"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /accountContacts/{id}
POST /accounts

Create a new account

operationId: Account_createNewAccount

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
422 422
POST /accounts
DELETE /accounts/bulk_delete

Delete an existing account

operationId: Account_bulkDelete

Parameters

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

Responses

200 200
400 400
DELETE /accounts/bulk_delete
DELETE /accounts/{id}

Delete an existing account

operationId: Account_deleteById

Parameters

Name In Required Type Description
id path required integer Account's id

Responses

200 200
400 400
DELETE /accounts/{id}
GET /accounts/{id}

Retrieve an existing account

operationId: Account_getById

Parameters

Name In Required Type Description
id path required integer Account's ID

Responses

200 200
GET /accounts/{id}
PUT /accounts/{id}

Update an existing account

operationId: Account_updateExisting

Parameters

Name In Required Type Description
id path required integer Account's id

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /accounts/{id}
GET /contacts/{id}/accountContacts
operationId: Account_getAccountContacts

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

200 200
404 404
GET /contacts/{id}/accountContacts

Address 4 endpoints

POST /addresses
operationId: Address_createNewAddress

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AddressCreateNewAddressRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "address": {
              "country": "US",
              "address_1": "TEST ADDRESS",
              "company_name": "TEST NAME"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /addresses
DELETE /addresses/{id}
operationId: Address_deleteAddress

Parameters

Name In Required Type Description
id path required integer ID of the Address to delete

Responses

200 200
404 404
DELETE /addresses/{id}
GET /addresses/{id}
operationId: Address_getById

Parameters

Name In Required Type Description
id path required integer ID of the Address to retrieve

Responses

200 200
400 400
GET /addresses/{id}
PUT /addresses/{id}
operationId: Address_updateAddress

Parameters

Name In Required Type Description
id path required integer ID of the Address being changed

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /addresses/{id}

Branding 2 endpoints

GET /brandings/{id}

Retrieve an existing branding resource

operationId: Branding_getBranding

Parameters

Name In Required Type Description
id path required integer

Responses

200 200
400 400
GET /brandings/{id}
PUT /brandings/{id}

Update an existing branding resource

operationId: Branding_updateExistingResource

Parameters

Name In Required Type Description
id path required integer Branding ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BrandingUpdateExistingResourceRequest"
      }
    }
  }
}

Responses

200 200
400 400
PUT /brandings/{id}

Calendar 4 endpoints

POST /calendars
operationId: Calendar_createFeed

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CalendarCreateFeedRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "calendar": {
              "type": "All",
              "title": "Calendar Title",
              "notification": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
POST /calendars
DELETE /calendars/{id}
operationId: Calendar_deleteFeed

Parameters

Name In Required Type Description
id path required integer ID of the calendar feed to delete

Responses

200 200
DELETE /calendars/{id}
GET /calendars/{id}
operationId: Calendar_getFeed

Parameters

Name In Required Type Description
id path required integer ID of the calendar feed to retrieve

Responses

200 200
404 404
GET /calendars/{id}
PUT /calendars/{id}
operationId: Calendar_updateFeed

Parameters

Name In Required Type Description
id path required integer ID of the calendar feed to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CalendarUpdateFeedRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "calendar": {
              "type": "Deals",
              "title": "Calendar Title",
              "notification": 0
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /calendars/{id}

Campaign 2 endpoints

GET /campaigns/{id}
operationId: Campaign_getCampaignById

Parameters

Name In Required Type Description
id path required integer ID of campaign to retrieve

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of campaign to retrieve Links for

Responses

200 200
404 404
GET /campaigns/{id}/links

Config 1 endpoints

PUT /configs/{id}
operationId: Config_updateSettings

Parameters

Name In Required Type Description
id path required string ID of the config to edit

Responses

200 200
404 404
PUT /configs/{id}

Connection 4 endpoints

POST /connections

Create a new connection resource.

operationId: Connection_createNewResource

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
POST /connections
DELETE /connections/{id}

Delete an existing connection resource.

operationId: Connection_deleteConnectionResource

Parameters

Name In Required Type Description
id path required string The id of the connection to delete.

Responses

200 200
400 400
DELETE /connections/{id}
GET /connections/{id}

Retrieve an existing connection resource.

operationId: Connection_getById

Parameters

Name In Required Type Description
id path required string The id of the connection to retrieve

Responses

200 200
400 400
GET /connections/{id}
PUT /connections/{id}

Update an existing connection resource.

operationId: Connection_updateExistingConnection

Parameters

Name In Required Type Description
id path required string The id of the connection to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ConnectionUpdateExistingConnectionRequest"
      },
      "examples": {
        "JSON": {
          "value": {
            "connection": {
              "name": "Acme, Inc.",
              "externalid": "johndoe@example.com"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /connections/{id}

Contact 19 endpoints

POST /contact/sync
operationId: Contact_syncData

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /contact/sync
POST /contactAutomations
operationId: Contact_addToAutomation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ContactAddToAutomationRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "contactAutomation": {
              "contact": "117",
              "automation": "42"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
403 403
POST /contactAutomations
DELETE /contactAutomations/{id}
operationId: Contact_removeFromAutomation

Parameters

Name In Required Type Description
id path required integer ID of the contactAutomation to delete

Responses

200 200
403 403
DELETE /contactAutomations/{id}
GET /contactAutomations/{id}
operationId: Contact_getInAutomation

Parameters

Name In Required Type Description
id path required integer ID of the contactAutomation to retrieve

Responses

200 200
404 404
GET /contactAutomations/{id}
POST /contacts
operationId: Contact_createNewContact

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

201 201
404 404
422 422
POST /contacts
DELETE /contacts/{id}

Delete an existing contact

operationId: Contact_deleteById

Parameters

Name In Required Type Description
id path required integer The contact id

Responses

200 200
404 404
DELETE /contacts/{id}
GET /contacts/{id}

Retrieve an existing contact

operationId: Contact_getById

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

200 200
404 404
GET /contacts/{id}
PUT /contacts/{id}
operationId: Contact_updateContact

Parameters

Name In Required Type Description
id path required integer ID of the contact to update

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /contacts/{id}
GET /contacts/{id}/automationEntryCounts
operationId: Contact_getAutomationEntryCounts

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer id of the Contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
geoAddressID path required integer ID of the contact

Responses

200 200
404 404
GET /geoIps/{geoAddressID}/geoAddress
POST /import/bulk_import
operationId: Contact_bulkImportContacts

Request Body

{
  "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
              }
            ]
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /import/bulk_import

Customer 4 endpoints

POST /ecomCustomers

Create a new e-commerce customer resource.

operationId: Customer_createNewCustomer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomerCreateNewCustomerRequest"
      },
      "examples": {
        "JSON": {
          "value": {
            "ecomCustomer": {
              "email": "alice@example.com",
              "externalid": "56789",
              "connectionid": "1",
              "acceptsMarketing": "1"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /ecomCustomers
DELETE /ecomCustomers/{id}

Delete an existing e-commerce customer resource.

operationId: Customer_deleteCustomerResource

Parameters

Name In Required Type Description
id path required string The id of the customer to delete.

Responses

200 200
400 400
DELETE /ecomCustomers/{id}
GET /ecomCustomers/{id}

Retrieve an existing e-commerce customer resource.

operationId: Customer_get

Parameters

Name In Required Type Description
id path required string The id of the customer to retrieve

Responses

200 200
400 400
GET /ecomCustomers/{id}
PUT /ecomCustomers/{id}

Update an existing e-commerce customer resource.

operationId: Customer_updateResource

Parameters

Name In Required Type Description
id path required string The id of the customer to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomerUpdateResourceRequest"
      },
      "examples": {
        "JSON": {
          "value": {
            "ecomCustomer": {
              "externalid": "98765"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /ecomCustomers/{id}

Deal 53 endpoints

GET /contactDeals

Retrieve all secondary contacts

operationId: Deal_listAllSecondaryContacts

Responses

200 200
400 400
GET /contactDeals
POST /contactDeals

Create a new secondary contact for a deal

operationId: Deal_createSecondaryContact

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealCreateSecondaryContactRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "contactDeal": {
              "deal": 2,
              "contact": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /contactDeals
DELETE /contactDeals/{id}

Delete an existing secondary contact

operationId: Deal_deleteSecondaryContact

Parameters

Name In Required Type Description
id path required integer Secondary Contact's id

Responses

200 200
404 404
DELETE /contactDeals/{id}
GET /contactDeals/{id}

Retrieve an existing secondary contact

operationId: Deal_getSecondaryContact

Parameters

Name In Required Type Description
id path required integer Secondary Contact's id

Responses

200 200
404 404
GET /contactDeals/{id}
PUT /contactDeals/{id}

Update an existing secondary contact

operationId: Deal_updateSecondaryContact

Parameters

Name In Required Type Description
id path required integer Secondary Contact's id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealUpdateSecondaryContactRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "contactDeal": {
              "deal": 1,
              "role": 1,
              "contact": 4
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
422 422
PUT /contactDeals/{id}
GET /contacts/{id}/contactDeals
operationId: Deal_getContactDeals

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

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

operationId: Deal_listActivities

Parameters

Name In Required Type Description
exclude=email query optional string Include this param to exclude "email", "connection_email", and "LinkData" activity types
deal query optional string Filter by deal ID
filters[data_type] query optional string Enter any dataType (see Response Details) to filter by that type. Examples: "userid" or task" or "note"
filters[data_id] query optional string Enter any dataId (see Response details) to filter by related object. Example "291" for a note with ID 291

Responses

200 200
400 400
GET /dealActivities
GET /dealCustomFieldData
operationId: Deal_listCustomFieldData

Parameters

Name In Required Type Description
filters[dealId] query optional string Filter results by a specific deal (note that Id uses a capital I)

Responses

200 200
GET /dealCustomFieldData
POST /dealCustomFieldData
operationId: Deal_createCustomFieldValue

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /dealCustomFieldData
POST /dealCustomFieldData/bulkCreate
operationId: Deal_bulkCreateCustomFieldValues

Request Body

{
  "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"
            }
          ]
        }
      }
    }
  }
}

Responses

200 200
POST /dealCustomFieldData/bulkCreate
PATCH /dealCustomFieldData/bulkUpdate
operationId: Deal_bulkUpdateCustomFieldData

Request Body

{
  "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"
            }
          ]
        }
      }
    }
  }
}

Responses

200 200
PATCH /dealCustomFieldData/bulkUpdate
DELETE /dealCustomFieldData/{id}
operationId: Deal_deleteCustomFieldValue

Parameters

Name In Required Type Description
id path required integer ID of the dealCustomFieldData to retrieve

Responses

200 200
404 404
DELETE /dealCustomFieldData/{id}
GET /dealCustomFieldData/{id}
operationId: Deal_getCustomFieldValue

Parameters

Name In Required Type Description
id path required integer ID of the dealCustomFieldData to retrieve

Responses

200 200
404 404
GET /dealCustomFieldData/{id}
PUT /dealCustomFieldData/{id}
operationId: Deal_updateCustomFieldValue

Parameters

Name In Required Type Description
id path required integer ID of the custom fields value to update

Request Body

{
  "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"
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
422 422
PUT /dealCustomFieldData/{id}
GET /dealCustomFieldMeta
operationId: Deal_listCustomFieldMeta

Parameters

Name In Required Type Description
limit query optional integer The number of fields returned per request.

Responses

200 200
GET /dealCustomFieldMeta
POST /dealCustomFieldMeta
operationId: Deal_createCustomFieldMeta

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /dealCustomFieldMeta
DELETE /dealCustomFieldMeta/{id}
operationId: Deal_deleteCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer ID of the field to delete

Responses

200 200
404 404
DELETE /dealCustomFieldMeta/{id}
GET /dealCustomFieldMeta/{id}
operationId: Deal_getCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer ID of the field to retrieve

Responses

200 200
404 404
GET /dealCustomFieldMeta/{id}
PUT /dealCustomFieldMeta/{id}
operationId: Deal_updateCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer ID of the custom field to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealUpdateCustomFieldMetaRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "dealCustomFieldMetum": {
              "fieldLabel": "New Title",
              "displayOrder": 1,
              "fieldDefault": "Default Text",
              "isFormVisible": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /dealCustomFieldMeta/{id}
GET /dealGroups

Retrieve all existing pipelines

operationId: Deal_getAllPipelines

Parameters

Name In Required Type Description
filters[title] query optional string Filter by pipeline's title. The filter matches any pipeline titles that contain the provided title (i.e. "Contact" matches all of "In Contact", "To Contact", and "Contact Pipeline").
filters[have_stages] query optional integer Filter by whether pipelines have deal stages. Can be either `1` or `0`. If `1`, only pipelines with at least one stage will be returned.
orders[title] query optional string Order by Pipeline's title
orders[popular] query optional string Order by number of deals each pipeline has. If pipelines have same number of deals, pipelines' created dates are used to determine the order.

Responses

200 200
400 400
GET /dealGroups
POST /dealGroups

Create a new pipeline

operationId: Deal_createPipeline

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /dealGroups
DELETE /dealGroups/{id}

Delete an existing pipeline

operationId: Deal_deletePipeline

Parameters

Name In Required Type Description
id path required integer Pipeline's id

Responses

200 200
DELETE /dealGroups/{id}
GET /dealGroups/{id}

Retrieve an existing pipeline

operationId: Deal_getPipeline

Parameters

Name In Required Type Description
id path required string Pipeline's id

Responses

200 200
400 400
GET /dealGroups/{id}
PUT /dealGroups/{id}

Update an existing pipeline

operationId: Deal_updatePipeline

Parameters

Name In Required Type Description
id path required integer Pipeline's id

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /dealGroups/{id}
GET /dealRoles
operationId: Deal_listAllRoles

Parameters

Name In Required Type Description
search query optional string (optional string used to search for matching titles)

Responses

200 200
400 400
GET /dealRoles
POST /dealRoles
operationId: Deal_roleCreation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealRoleCreationRequest"
      }
    }
  }
}

Responses

200 200
400 400
POST /dealRoles
DELETE /dealRoles/{id}
operationId: Deal_deleteRole

Parameters

Name In Required Type Description
id path required string Deal role's id

Responses

200 200
400 400
DELETE /dealRoles/{id}
GET /dealStages

Retrieve all existing stages

operationId: Deal_listAllStages

Parameters

Name In Required Type Description
filters[title] query optional string Filter by deal stages' titles. Any stages whose titles partial-match the filter value are returned
filters[d_groupid] query optional string Filter by pipeline's id
orders[title] query optional string Order by deal stage's title

Responses

200 200
400 400
GET /dealStages
POST /dealStages

Create a new stage for a pipeline

operationId: Deal_createStage

Parameters

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`

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /dealStages
DELETE /dealStages/{id}

Delete an existing stage

operationId: Deal_deleteStageById

Parameters

Name In Required Type Description
id path required integer Deal stage's id

Responses

200 200
DELETE /dealStages/{id}
GET /dealStages/{id}

Retrieve an existing stage

operationId: Deal_getStageById

Parameters

Name In Required Type Description
id path required integer Deal stage's id

Responses

200 200
400 400
GET /dealStages/{id}
PUT /dealStages/{id}

Update an existing stage

operationId: Deal_updateStage

Parameters

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`

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /dealStages/{id}
PUT /dealStages/{id}/deals

Move all deals in one stage to another stage

operationId: Deal_moveDealsToAnotherStage

Parameters

Name In Required Type Description
id path required integer Deal stage's id whose deals are to be moved to another deal stage

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealMoveDealsToAnotherStageRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "deal": {
              "stage": "3"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
PUT /dealStages/{id}/deals
GET /dealTasks

Retrieve a list of existing tasks

operationId: Deal_getAllTasks

Parameters

Name In Required Type Description
filters[title] query optional string The title to be assigned to the task
filters[reltype] query optional string The name of the relating object (see relationships table)
filters[relid] query optional integer The id of the relational object for this task
filters[status] query optional integer Task status means complete or incomplete. 1 is complete and 0 is incomplete.
filters[note] query optional string The content describing the task
filters[duedate] query optional string Due date of the task
filters[d_tasktypeid] query optional integer The type of the task based on the available Task Types in the account
filters[userid] query optional integer User ID this task belongs to
filters[due_after] query optional string Filter deal tasks that are due after a specific date
Fitlers[due_before] query optional string Filter deal tasks that are due before a specific date
filters[duedate_range] query optional string Filter deal tasks that are due between specific date range
filters[assignee_userid] query optional integer The id of the user a task is assigned to
filters[outcome_id] query optional integer The id of a task outcome that the task belongs to.

Responses

201 201
400 400
GET /dealTasks
POST /dealTasks

Create a new task

operationId: Deal_createNewTask

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /dealTasks
DELETE /dealTasks/{id}

Delete an existing task

operationId: Deal_deleteTask

Parameters

Name In Required Type Description
id path required integer The task id

Responses

200 200
400 400
DELETE /dealTasks/{id}
GET /dealTasks/{id}

Retrieve an existing task

operationId: Deal_getTaskById

Parameters

Name In Required Type Description
id path required integer The ID of the task

Responses

201 201
400 400
GET /dealTasks/{id}
PUT /dealTasks/{id}

Update an existing task

operationId: Deal_updateTaskById

Parameters

Name In Required Type Description
id path required integer The ID of the task

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealUpdateTaskByIdRequest"
      }
    }
  }
}

Responses

201 201
400 400
PUT /dealTasks/{id}
GET /dealTasktypes

Retrieve all existing task types

operationId: Deal_listAllTaskTypes

Responses

200 200
400 400
GET /dealTasktypes
POST /dealTasktypes

Create a new task type

operationId: Deal_createTaskType

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealCreateTaskTypeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "dealTasktype": {
              "title": "Skype",
              "status": 0
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /dealTasktypes
DELETE /dealTasktypes/{id}

Delete an existing task type

operationId: Deal_deleteTaskType

Parameters

Name In Required Type Description
id path required integer Deal task type's id

Responses

default 403
DELETE /dealTasktypes/{id}
GET /dealTasktypes/{id}

Retrieve an existing task type

operationId: Deal_getTaskType

Parameters

Name In Required Type Description
id path required integer Deal task type's id

Responses

200 200
400 400
GET /dealTasktypes/{id}
PUT /dealTasktypes/{id}

Update an existing task type

operationId: Deal_updateTaskType

Parameters

Name In Required Type Description
id path required integer Deal task type's id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealUpdateTaskTypeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "dealTasktype": {
              "title": "Meet in person",
              "status": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /dealTasktypes/{id}
PUT /dealTasktypes/{id}/dealTasks

Move tasks to a different task type

operationId: Deal_moveTasksToAnotherTaskType

Parameters

Name In Required Type Description
id path required integer Deal task type's id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealMoveTasksToAnotherTaskTypeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "dealTask": {
              "dealTasktype": "2"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /dealTasktypes/{id}/dealTasks
GET /deals

Retrieve all existing deals

operationId: Deal_getAll

Parameters

Name In Required Type Description
filters[search] query optional string Search text to use with `search_field` parameter.
filters[search_field] query optional string Field to search for. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values).
filters[title] query optional string Filter by deal's title
filters[stage] query optional integer Filter by deal's stage
filters[group] query optional integer Filter by deal's pipeline
filters[status] query optional integer Filter by deal's status. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values)
filters[owner] query optional integer Filter by deal's owner
filters[nextdate_range] query optional string Filter by deal's tasks due dates. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values)
filters[tag] query optional string Filter by tag names associated with deal's primary contact. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values).
filters[tasktype] query optional string Filter by deals that have tasks with given type
filters[created_before] query optional string Returns deals that are created less than given date
filters[created_after] query optional string Returns deals that are created greater than or equal to given date
filters[updated_before] query optional string Returns deals that are updated less than given date
filters[updated_after] query optional string Returns deals that are updated greater than or equal to given date
filters[organization] query optional integer Filter by deal's primary contact's organization's id
filters[minimum_value] query optional integer In USD with dollar portion. Returns deals whose values are greater than or equal to given value
filters[maximum_value] query optional integer In USD with dollar portion. Returns deals whose values are less than or equal to given value
filters[score_greater_than] query optional string In a format of `<score_id>:<score_value>`. Returns deals whose score value is greater than given value
filters[score_less_than] query optional string In a format of `<score_id>:<score_value>`. Returns deals whose score value is less than given value
filters[score] query optional string In a format of `<score_id>:<score_value>`. Returns deals whose score value is equal to given value
orders[title] query optional string Order by deal's title.
orders[value] query optional string Order by deal's value.
orders[cdate] query optional string Order by deal's created date.
orders[contact_name] query optional string Order by deal's primary contact's first name.
orders[contact_orgname] query optional string Order by deal's primary contact's organization name.
orders[next-action] query optional string Order by deal's next task's due date first. Then append deals with no next task. Lastly append deals with overdue tasks. If dates are the same, order by deal's id.

Responses

200 200
400 400
GET /deals
POST /deals

Create a new deal

operationId: Deal_newDealCreation

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /deals
PATCH /deals/bulkUpdate

Update an existing deal

operationId: Deal_bulkUpdateOwners

Request Body

{
  "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
              }
            ]
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
PATCH /deals/bulkUpdate
DELETE /deals/{id}

Delete an existing deal

operationId: Deal_removeById

Parameters

Name In Required Type Description
id path required integer The Deal's id

Responses

200 200
400 400
DELETE /deals/{id}
GET /deals/{id}

Retrieve an existing deal

operationId: Deal_getDeal

Parameters

Name In Required Type Description
id path required integer The Deal's id

Responses

200 200
GET /deals/{id}
PUT /deals/{id}

Update an existing deal

operationId: Deal_updateExistingDeal

Parameters

Name In Required Type Description
id path required integer The Deal's id

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /deals/{id}
POST /deals/{id}/notes

Create a new note for a deal

operationId: Deal_createNote

Parameters

Name In Required Type Description
id path required string The Deal's id to assign new note to

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealCreateNoteRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "note": {
              "note": "Note for the deal"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /deals/{id}/notes
PUT /deals/{id}/notes/{noteId}

Update an existing note for a deal

operationId: Deal_updateNote

Parameters

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

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DealUpdateNoteRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "note": {
              "note": "Update with more info"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /deals/{id}/notes/{noteId}

Event 7 endpoints

GET /contacts/{contactId}/trackingLogs

Get a log of events for a Contact

operationId: Event_getTrackingLogs

Parameters

Name In Required Type Description
contactId path required string The Contact's ID

Responses

200 200
GET /contacts/{contactId}/trackingLogs
POST /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.

operationId: Event_trackEvent

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EventTrackEventRequest"
      }
    }
  }
}

Responses

200 200
400 400
POST /event
GET /eventTracking

Get event tracking status (enabled or disabled)

operationId: Event_getStatus

Responses

200 200
GET /eventTracking
PUT /eventTracking

Enable or disable event tracking

operationId: Event_toggleStatus

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EventToggleStatusRequest"
      },
      "examples": {
        "Enable": {
          "value": {
            "eventTracking": {
              "enabled": true
            }
          }
        },
        "Disable": {
          "value": {
            "eventTracking": {
              "enabled": false
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /eventTracking
POST /eventTrackingEvents

Create a new event tracking event (name only)

operationId: Event_createNewEvent

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EventCreateNewEventRequest"
      },
      "examples": {
        "JSON": {
          "value": {
            "eventTrackingEvent": {
              "name": "my new fab event"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /eventTrackingEvents
DELETE /eventTrackingEvents/{eventName}

Remove an existing event tracking event (name only)

operationId: Event_deleteEventName

Parameters

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").

Responses

200 200
400 400
DELETE /eventTrackingEvents/{eventName}
GET /trackingLogs/{eventId}/contact

Get the contact that was involved in an event.

operationId: Event_getContactByEventId

Parameters

Name In Required Type Description
eventId path required string The Event's ID

Responses

200 200
GET /trackingLogs/{eventId}/contact

Field 26 endpoints

POST /accountCustomFieldData
operationId: Field_createCustomFieldValue

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
POST /accountCustomFieldData
POST /accountCustomFieldData/bulkCreate
operationId: Field_bulkCreateCustomAccountFieldValue

Request Body

{
  "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"
            }
          ]
        }
      }
    }
  }
}

Responses

200 200
POST /accountCustomFieldData/bulkCreate
PATCH /accountCustomFieldData/bulkUpdate
operationId: Field_bulkUpdateCustomFieldValue

Request Body

{
  "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"
            }
          ]
        }
      }
    }
  }
}

Responses

200 200
PATCH /accountCustomFieldData/bulkUpdate
DELETE /accountCustomFieldData/{id}
operationId: Field_deleteCustomFieldValue

Parameters

Name In Required Type Description
id path required integer ID of the dealCustomFieldData to retrieve

Responses

200 200
404 404
DELETE /accountCustomFieldData/{id}
GET /accountCustomFieldData/{id}
operationId: Field_getCustomValue

Parameters

Name In Required Type Description
id path required integer ID of the dealCustomFieldData to retrieve

Responses

200 200
404 404
GET /accountCustomFieldData/{id}
PUT /accountCustomFieldData/{id}
operationId: Field_updateCustomFieldValue

Parameters

Name In Required Type Description
id path required integer ID of the custom fields value to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/FieldUpdateCustomFieldValueRequest"
      },
      "examples": {
        "text/textarea/hidden": {
          "value": {
            "accountCustomFieldDatum": {
              "fieldValue": "New title"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /accountCustomFieldData/{id}
POST /accountCustomFieldMeta
operationId: Field_createCustomFieldMeta

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /accountCustomFieldMeta
DELETE /accountCustomFieldMeta/{id}
operationId: Field_deleteCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer ID of the field to delete

Responses

200 200
404 404
DELETE /accountCustomFieldMeta/{id}
GET /accountCustomFieldMeta/{id}
operationId: Field_getCustomField

Parameters

Name In Required Type Description
id path required integer ID of the field to retrieve

Responses

200 200
404 404
GET /accountCustomFieldMeta/{id}
PUT /accountCustomFieldMeta/{id}
operationId: Field_updateCustomFieldMeta

Parameters

Name In Required Type Description
id path required integer ID of the custom field to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/FieldUpdateCustomFieldMetaRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "accountCustomFieldMetum": {
              "fieldLabel": "New Title",
              "displayOrder": 1,
              "fieldDefault": "Default Text",
              "isFormVisible": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /accountCustomFieldMeta/{id}
GET /contacts/{id}/fieldValues
operationId: Field_getValues

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

200 200
404 404
GET /contacts/{id}/fieldValues
DELETE /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).

operationId: Field_deleteField

Parameters

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.

Responses

202 202
DELETE /customObjects/schemas/{schemaId}/fields/{fieldId}
POST /fieldOption/bulk
operationId: Field_createCustomFieldOptions

Request Body

{
  "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
              }
            ]
          }
        }
      }
    }
  }
}

Responses

201 201
422 422
POST /fieldOption/bulk
POST /fieldValues
operationId: Field_createCustomValue

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
403 403
POST /fieldValues
DELETE /fieldValues/{id}
operationId: Field_deleteCustomValue

Parameters

Name In Required Type Description
id path required integer ID of the fieldValue to delete

Responses

200 200
403 403
DELETE /fieldValues/{id}
GET /fieldValues/{id}
operationId: Field_getCustomValue

Parameters

Name In Required Type Description
id path required string ID of the fieldValue to retrieve

Responses

200 200
403 403
GET /fieldValues/{id}
PUT /fieldValues/{id}
operationId: Field_updateCustomValue

Parameters

Name In Required Type Description
id path required string ID of the fieldValue to update

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /fieldValues/{id}
GET /fields
operationId: Field_listAllCustom

Parameters

Name In Required Type Description
limit query optional integer The number of fields returned per request.

Responses

200 200
GET /fields
POST /fields
operationId: Field_createCustomField

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

201 201
403 403
422 422
POST /fields
DELETE /fields/{id}
operationId: Field_deleteCustomField

Parameters

Name In Required Type Description
id path required integer ID of the field option to delete

Responses

200 200
404 404
DELETE /fields/{id}
GET /fields/{id}
operationId: Field_getCustomField

Parameters

Name In Required Type Description
id path required integer ID of the field to retrieve

Responses

200 200
400 400
GET /fields/{id}
PUT /fields/{id}
operationId: Field_updateCustomField

Parameters

Name In Required Type Description
id path required integer ID of the field to update

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
403 403
PUT /fields/{id}
POST /groupMembers
operationId: Field_addGroupMember

Request Body

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

Responses

200 200
403 403
404 404
422 422
POST /groupMembers
DELETE /groupMembers/{groupID}
operationId: Field_deleteFieldGroup

Parameters

Name In Required Type Description
groupID path required string Group ID

Request Body

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

Responses

200 200
404 404
DELETE /groupMembers/{groupID}
GET /groupMembers/{groupID} (COPY)
operationId: Field_getFieldGroup

Parameters

Name In Required Type Description
groupID path required string Group ID

Request Body

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

Responses

200 200
404 404
GET /groupMembers/{groupID} (COPY)
PUT /groupMembers/{groupId}
operationId: Field_updateCustomFieldGroup

Parameters

Name In Required Type Description
groupId path required string Field group ID (see notes)

Request Body

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

Responses

200 200
403 403
404 404
422 422
PUT /groupMembers/{groupId}

Form 2 endpoints

GET /forms
operationId: Form_listAll

Responses

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

Parameters

Name In Required Type Description
id path required string ID of the form to retrieve

Responses

200 200
403 403
GET /forms/{id}

Group 4 endpoints

POST /groups
operationId: Group_createNewGroup

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
POST /groups
DELETE /groups/{id}
operationId: Group_deleteGroup

Parameters

Name In Required Type Description
id path required integer ID of the group to be deleted

Responses

200 200
400 400
DELETE /groups/{id}
GET /groups/{id}
operationId: Group_getGroup

Parameters

Name In Required Type Description
id path required string ID of the group to retrieve

Responses

200 200
403 403
GET /groups/{id}
PUT /groups/{id}
operationId: Group_updateGroupById

Parameters

Name In Required Type Description
id path required integer ID of the group to update

Request Body

{
  "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
            }
          }
        }
      }
    }
  }
}

Responses

200 200
403 403
PUT /groups/{id}

Import 1 endpoints

GET /import/info
operationId: Import_statusInfo

Parameters

Name In Required Type Description
batchId query optional string

Responses

200 200
400 400
GET /import/info

List 48 endpoints

GET /accountContacts

Retrieve all existing account association

operationId: List_accountAssociations

Parameters

Name In Required Type Description
filters[contact] query optional integer Filter by Contact ID
filters[account] query optional integer Filter by Account ID

Responses

200 200
GET /accountContacts
GET /accountCustomFieldData
operationId: List_customFieldValues

Parameters

Name In Required Type Description
filters[customerAccountId] query optional string Filter results by a specific account (note that Id uses a capital I)

Responses

200 200
GET /accountCustomFieldData
GET /accountCustomFieldMeta
operationId: List_allCustomFieldMeta

Parameters

Name In Required Type Description
limit query optional integer The number of fields returned per request.

Responses

200 200
GET /accountCustomFieldMeta
GET /accounts

Retrieve all existing account

operationId: List_allAccounts

Parameters

Name In Required Type Description
search query optional string Search by name
count_deals query optional boolean Whether to compute the contactCount and dealCount counts for the number of contacts/deals associated with each account. Set it to true to include the right counts. If set to false or omitted from the call, then contactCount and dealCount will not be counted and be simply displayed as 0.

Responses

200 200
400 400
GET /accounts
GET /activities

View a contact's recent activity. The activity is generated when a contact is retrieved via /api/3/contacts/[contactID]. This endpoint should be used after retrieving a contact to obtain the latest data. This is useful for searching for contacts that match certain criteria - such as being part of a certain list, or having a specific custom field value.

operationId: List_contactActivities

Parameters

Name In Required Type Description
contact query optional integer Required Contact ID
after query optional string Filter for activities after a specific DateTime
include query optional string Activities to include: notes, notes.user, recipients, recipients.recipient, reference, reference.automation, reference.campaign, reference.campaign.campaignList, reference.campaign.campaignMessage, reference.campaignMessage, reference.contact, reference.contactList, reference.contactList.list, reference.deal, reference.deal.contact, reference.dealTasktype, reference.link, reference.list, reference.log, reference.log.campaign, reference.log.contact, reference.log.message, reference.message, reference.note, reference.sms, reference.sms.automation, user
emails query optional boolean
orders[tstamp] query optional string Order activities by tstamp

Responses

200 200
400 400
GET /activities
DELETE /addressLists/{id}
operationId: List_deleteAssociatedAddress

Parameters

Name In Required Type Description
id path required integer ID of the AddressList to delete

Responses

200 200
404 404
DELETE /addressLists/{id}
GET /addresses
operationId: List_addresses

Responses

200 200
400 400
GET /addresses
GET /automations
operationId: List_allAutomations

Responses

200 200
400 400
GET /automations
GET /brandings

List all existing branding resources

operationId: List_brandings

Parameters

Name In Required Type Description
api_key query optional string ActiveCampaign API key

Responses

200 200
400 400
GET /brandings
GET /calendars
operationId: List_calendarFeeds

Responses

200 200
GET /calendars
GET /campaigns
operationId: List_allCampaigns

Parameters

Name In Required Type Description
orders[sdate] query optional string Order campaigns by send date
orders[ldate] query optional string Order campaigns by last send date
filters[seriesid] query optional integer Filter to return the campaigns from the targeted automationId/seriesIds

Responses

200 200
400 400
GET /campaigns
GET /connections

List all existing connection resources.

operationId: List_allConnections

Parameters

Name In Required Type Description
filters[service] query optional string Filter by the external service name.
filters[externalid] query optional string Filter by the external id associated with a connection.

Responses

200 200
400 400
GET /connections
GET /contactAutomations
operationId: List_contactAutomations

Responses

200 200
GET /contactAutomations
POST /contactLists

Subscribe a contact to a list or unsubscribe a contact from a list.

operationId: List_updateListStatusForContact

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ListUpdateListStatusForContactRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "contactList": {
              "list": 2,
              "status": 1,
              "contact": 1
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /contactLists
GET /contacts

Use this API endpoint to list all contacts, search contacts, or filter contacts by many criteria. For example, search for specific contacts by email, list, account.

operationId: List_contacts

Parameters

Name In Required Type Description
ids query optional string Filter contacts by ID. Can be repeated for multiple IDs. Example: ids[]=1&ids[]=2&ids[]=42
email query optional string Email address of the contact you want to get
email_like query optional string Filter contacts that contain the given value in the email address
exclude query optional integer Exclude from the response the contact with the given ID
formid query optional integer Filter contacts associated with the given form
id_greater query optional integer Only include contacts with an ID greater than the given ID
id_less query optional integer Only include contacts with an ID less than the given ID
listid query optional string Filter contacts associated with the given list
organization query optional integer (Deprecated) Please use Account-Contact end points. Filter contacts associated with the given organization ID
search query optional string Filter contacts that match the given value in the contact names, organization, phone or email
segmentid query optional integer Return only contacts that match a list segment (the first call kicks off an asynchronous query. When the query is complete, subsequent API calls will return contacts that match the segment - timeout 1hr)
seriesid query optional integer Filter contacts associated with the given automation
status query optional integer See [available values](https://developers.activecampaign.com/reference/contact)
tagid query optional integer Filter contacts associated with the given tag
filters[created_before] query optional string Filter contacts that were created prior to this date
filters[created_after] query optional string Filter contacts that were created after this date
filters[updated_before] query optional string Filter contacts that were updated before this date
filters[updated_after] query optional string Filter contacts that were updated after this date
waitid query optional integer Filter by contacts in the wait queue of an automation block
orders[id] query optional string Order contacts by unique ID
orders[cdate] query optional string Order contacts by creation date
orders[email] query optional string Order contacts by email
orders[first_name] query optional string Order contacts by first name
orders[last_name] query optional string Order contacts by last name
orders[name] query optional string Order contacts by full name
orders[score] query optional string Order contacts by score
in_group_lists query optional string Set this to "true" in order to return only contacts that the current user has permissions to see.

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact to receive automations for

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Parameters

Name In Required Type Description
schemaId path required string ID of schema
limit query optional integer The number of records to return for each call. Maximum value is 100.
offset query optional integer Offset index of records to return
filters query optional array Use ?filters[relationships.{your-contact-relationship}][eq]={contactId} to filter records to a specific contact.

Responses

200 200
400 400
404 404
GET /customObjects/records/{schemaId}
GET /customObjects/schemas

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

operationId: List_allSchemas

Parameters

Name In Required Type Description
limit query optional integer The number of schemas to retrieve for each API call. Maximum value is 100.
offset query optional integer Offset index of items to return
orders query optional array Array of sorting criteria to fetch items
filters query optional string Filters schemas by different criteria
showFields query optional string Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter entirely to hide fields by default.

Responses

200 200
400 400
GET /customObjects/schemas
GET /ecomCustomers

List all e-commerce customer resources.

operationId: List_allCustomers

Parameters

Name In Required Type Description
filters[email] query optional string Filter by the email address of a customer.
filters[externalid] query optional string Filter by the id of the customer in the external service.
filters[connectionid] query optional string Filter by the id of the connection object for the service where the customer originates.

Responses

200 200
GET /ecomCustomers
GET /ecomOrderProducts
operationId: List_ecomOrderProducts

Responses

200 200
400 400
GET /ecomOrderProducts
GET /ecomOrders

List all existing e-commerce order resources.

operationId: List_allOrders

Parameters

Name In Required Type Description
filters[connectionid] query optional integer Filter by the connection id. Must be greater than 0.
filters[externalid] query optional integer Filter by the external id of the order.
filters[externalcheckoutid] query optional string Filter by the external checkout id
filters[email] query optional string Filter by the customer email address.
filters[state] query optional integer Filter by the state of the order. 0 = Pending, 1 = Completed, 2 = Abandoned, 3 = Recovered, 4 = Waiting (Customer checked out but payment is not yet completed)
filters[customerid] query optional string Filter by the customer id
filters[external_created_date] query optional string Filter by the external created date
orders[connectionid] query optional integer Order by connection ID. Accepted values are ASC or DESC.
orders[externalid] query optional integer Order by external ID. Accepted values are ASC or DESC.
orders[externalcheckoutid] query optional string Order by external checkout ID. Accepted values are ASC or DESC.
orders[email] query optional string Order by email. Accepted values are ASC or DESC.
orders[state] query optional integer Order by state. Accepted values are ASC or DESC.
orders[customerid] query optional string Order by customer ID. Accepted values are ASC or DESC.
orders[external_created_date] query optional string Order by external created date. Accepted values are ASC or DESC.

Responses

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

Parameters

Name In Required Type Description
id path required string The ID of the order whose products you'd like returned.

Responses

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

Parameters

Name In Required Type Description
filters[subscriberid] query optional integer Set this parameter to return only email activities belonging to a given subscriber.
filters[dealId] query optional integer Set this parameter to return only email activities belonging to a given deal.

Responses

200 200
400 400
GET /emailActivities
GET /eventTrackingEvents

List the names of tracked events

operationId: List_eventNames

Responses

200 200
400 400
GET /eventTrackingEvents
POST /fieldRels
operationId: List_createFieldRelationshipToLists

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ListCreateFieldRelationshipToListsRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "fieldRel": {
              "field": 8,
              "relid": 2
            }
          }
        }
      }
    }
  }
}

Responses

201 201
403 403
POST /fieldRels
DELETE /fieldRels/{fieldRelId}
operationId: List_deleteFieldRelationToList

Parameters

Name In Required Type Description
fieldRelId path required integer Field relationship ID to be deleted

Responses

200 200
403 403
DELETE /fieldRels/{fieldRelId}
GET /fieldValues
operationId: List_customFieldValues

Parameters

Name In Required Type Description
filters[fieldid] query optional string ID of the field the value belongs to.
filters[val] query optional string Value of the custom field for a specific contact

Responses

200 200
400 400
GET /fieldValues
GET /groupLimits
operationId: List_groupLimits

Responses

200 200
GET /groupLimits
GET /groups
operationId: List_allGroups

Responses

200 200
GET /groups
GET /import/bulk_import
operationId: List_bulkImportStatus

Responses

200 200
GET /import/bulk_import
POST /listGroups
operationId: List_groupPermissionCreate

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ListGroupPermissionCreateRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "listGroup": {
              "listid": 19,
              "groupid": 1
            }
          }
        }
      }
    }
  }
}

Responses

201 201
403 403
POST /listGroups
GET /lists
operationId: List_getAll

Parameters

Name In Required Type Description
filters[name] query optional string Filter by the name of the list
limit query optional integer Limit the number of returned results
filters[name][<operator>] query optional string Filters lists by list name according to the operator specified. (See supported operators below)
orders[name] query optional string Orders filtered results by weight, ascending order, or descending order. If weight is used, exact matches are returned first, followed by matches starting with what was filtered by, followed by the rest of the results.

Responses

200 200
403 403
GET /lists
POST /lists
operationId: List_createNewList

Request Body

{
  "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": ""
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
403 403
POST /lists
DELETE /lists/{id}
operationId: List_deleteById

Parameters

Name In Required Type Description
id path required integer ID of the list to delete

Responses

200 200
403 403
DELETE /lists/{id}
GET /lists/{id}
operationId: List_getById

Parameters

Name In Required Type Description
id path required string ID of the lists to retrieve

Responses

200 200
403 403
404 404
GET /lists/{id}
GET /messages
operationId: List_messages

Responses

200 200
400 400
GET /messages
GET /savedResponses
operationId: List_savedResponses

Responses

200 200
GET /savedResponses
GET /scores
operationId: List_allScores

Responses

200 200
GET /scores
GET /segments
operationId: List_allSegments

Responses

200 200
400 400
GET /segments
GET /siteTrackingDomains

List of all whitelisted site tracking domains

operationId: List_whitelistedDomains

Responses

200 200
GET /siteTrackingDomains
POST /siteTrackingDomains

Add a domain to the site tracking whitelist

operationId: List_whitelistedDomainCreate

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ListWhitelistedDomainCreateRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "siteTrackingDomain": {
              "name": "example.com"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /siteTrackingDomains
DELETE /siteTrackingDomains/{name}

Remove a domain from the site tracking whitelist

operationId: List_removeDomain

Parameters

Name In Required Type Description
name path required string The domain name to remove from the whitelist

Responses

204 204
DELETE /siteTrackingDomains/{name}
GET /taskOutcomes

Retrieve all existing task outcomes

operationId: List_taskOutcomes

Parameters

Name In Required Type Description
filters[sentiment] query optional string 1 is for Negative, 2 is for Neutral and 3 is for Positive

Responses

200 200
400 400
GET /taskOutcomes
GET /tasktypeOutcomeRels

Retrieve all existing task type - outcome relations

operationId: List_taskTypeOutcomeRelations

Responses

200 200
400 400
GET /tasktypeOutcomeRels
GET /webhook/events

List all available webhook events

operationId: List_webhookEvents

Responses

200 200
GET /webhook/events
GET /webhooks

List all existing webhooks

operationId: List_webhooks

Parameters

Name In Required Type Description
filters[name] query optional string Filter by webhook name
filters[url] query optional string Filter by webhook url
filters[listid] query optional string Filter by webhook's associated list

Responses

200 200
400 400
GET /webhooks

Message 4 endpoints

POST /messages
operationId: Message_createNewMessage

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /messages
DELETE /messages/{id}
operationId: Message_removeById

Parameters

Name In Required Type Description
id path required string ID of the message to delete

Responses

200 200
400 400
DELETE /messages/{id}
GET /messages/{id}
operationId: Message_getById

Parameters

Name In Required Type Description
id path required string ID of the message to retrieve

Responses

200 200
404 404
GET /messages/{id}
PUT /messages/{id}
operationId: Message_updateById

Parameters

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

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
PUT /messages/{id}

Note 8 endpoints

POST /accounts/{id}/notes

Create a new note for an account

operationId: Note_createAccountNote

Parameters

Name In Required Type Description
id path required string Account's id to assign new note to

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/NoteCreateAccountNoteRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "note": {
              "note": "Note for the account"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /accounts/{id}/notes
PUT /accounts/{id}/notes/{noteid}

Update an existing note for a account

operationId: Note_updateNote

Parameters

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

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/NoteUpdateNoteRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "note": {
              "note": "Update with more info"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /accounts/{id}/notes/{noteid}
GET /contacts/{id}/notes
operationId: Note_getContactsNotes

Parameters

Name In Required Type Description
id path required integer ID of the contact

Responses

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

Responses

200 200
GET /notes
POST /notes
operationId: Note_createNew

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /notes
DELETE /notes/{id}
operationId: Note_deleteNoteById

Parameters

Name In Required Type Description
id path required string ID of the note to delete

Responses

200 200
403 403
DELETE /notes/{id}
GET /notes/{id}
operationId: Note_getById

Parameters

Name In Required Type Description
id path required string ID of the note to retrieve

Responses

200 200
400 400
GET /notes/{id}
PUT /notes/{id}
operationId: Note_updateNoteById

Parameters

Name In Required Type Description
id path required string ID of the note to update

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
403 403
PUT /notes/{id}

Order 5 endpoints

GET /ecomOrderProducts/{id}
operationId: Order_getProductById

Parameters

Name In Required Type Description
id path required string The ID of the product you'd like returned.

Responses

200 200
400 400
404 404
GET /ecomOrderProducts/{id}
POST /ecomOrders

Create a new e-commerce order resource.

operationId: Order_createNewOrder

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /ecomOrders
DELETE /ecomOrders/{ecomOrderId}

Delete an existing e-commerce order resource.

operationId: Order_deleteOrder

Parameters

Name In Required Type Description
ecomOrderId path required integer The id of the order to delete.

Responses

200 200
DELETE /ecomOrders/{ecomOrderId}
GET /ecomOrders/{ecomOrderId}

Retrieve an existing e-commerce order resource.

operationId: Order_getOrder

Parameters

Name In Required Type Description
ecomOrderId path required integer The id of the order to retrieve.

Responses

200 200
GET /ecomOrders/{ecomOrderId}
PUT /ecomOrders/{id}

Update an existing ecommerce order/cart resource.

operationId: Order_updateOrderResource

Parameters

Name In Required Type Description
id path required string The ID of the order to update

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /ecomOrders/{id}

Outcome 6 endpoints

DELETE /taskOutccomes/{id}

Delete an existing task outcome

operationId: Outcome_deleteTaskOutcome

Parameters

Name In Required Type Description
id path required string Task outcome's id

Responses

200 200
404 404
DELETE /taskOutccomes/{id}
PUT /taskOutccomes/{id}

Update an existing task outcome

operationId: Outcome_updateTaskOutcome

Parameters

Name In Required Type Description
id path required integer Task outcome's id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/OutcomeUpdateTaskOutcomeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "taskOutcome": {
              "sentiment": "Neutral"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
PUT /taskOutccomes/{id}
POST /taskOutcomes

Create a new task outcome

operationId: Outcome_createTaskOutcome

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/OutcomeCreateTaskOutcomeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "taskOutcome": {
              "title": "Interested",
              "sentiment": "Positive"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /taskOutcomes
GET /taskOutcomes/{id}

Retrieve an existing task outcome

operationId: Outcome_getTaskOutcome

Parameters

Name In Required Type Description
id path required integer Task outcome's id

Responses

200 200
404 404
GET /taskOutcomes/{id}
DELETE /tasktypeOutcomeRels/{id}

Delete an existing task type - outcome relation

operationId: Outcome_deleteTaskTypeOutcomeRelation

Parameters

Name In Required Type Description
id path required integer Task type - outcome relation's id

Responses

200 200
404 404
DELETE /tasktypeOutcomeRels/{id}
GET /tasktypeOutcomeRels/{id}

Retrieve an existing task type - outcome relation

operationId: Outcome_getTaskTypeOutcome

Parameters

Name In Required Type Description
id path required integer Task type - outcome relation's id

Responses

200 200
404 404
GET /tasktypeOutcomeRels/{id}

Record 1 endpoints

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

Parameters

Name In Required Type Description
schemdId path required string ID of schema
externalId path required string External ID for record

Responses

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

Reminder 1 endpoints

POST /taskNotifications

Create a new task outcome

operationId: Reminder_createTaskOutcome

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ReminderCreateTaskOutcomeRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "taskNotification": {
              "dealTask": "1",
              "interval": "123"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
POST /taskNotifications

Response 4 endpoints

POST /savedResponses
operationId: Response_createSavedResponse

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ResponseCreateSavedResponseRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "savedResponse": {
              "body": "Response Body",
              "title": "Response Title",
              "subject": "Response Subject"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
422 422
POST /savedResponses
DELETE /savedResponses/{id}
operationId: Response_removeById

Parameters

Name In Required Type Description
id path required integer ID of the saved response to remove

Responses

200 200
404 404
DELETE /savedResponses/{id}
GET /savedResponses/{id}
operationId: Response_getById

Parameters

Name In Required Type Description
id path required integer ID of the saved Response to recieve

Responses

200 200
400 400
GET /savedResponses/{id}
PUT /savedResponses/{id}
operationId: Response_updateSavedResponse

Parameters

Name In Required Type Description
id path required integer ID of the saved response to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ResponseUpdateSavedResponseRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "savedResponse": {
              "body": "Response body",
              "title": "Response title",
              "subject": "Response subject"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
422 422
PUT /savedResponses/{id}

Schema 10 endpoints

POST /customObjects/records/{schemaId}
operationId: Schema_createOrUpdateRecord

Parameters

Name In Required Type Description
schemaId path required string ID of schema

Request Body

{
  "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
                ]
              }
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
422 422
POST /customObjects/records/{schemaId}
DELETE /customObjects/records/{schemaId}/external/{externalId}
operationId: Schema_deleteRecordByExternalId

Parameters

Name In Required Type Description
schemaId path required string ID of schema
externalId path required string External ID of record

Responses

202 202
400 400
DELETE /customObjects/records/{schemaId}/external/{externalId}
DELETE /customObjects/records/{schemaId}/{recordId}
operationId: Schema_deleteRecordById

Parameters

Name In Required Type Description
schemaId path required string ID of schema
recordId path required string ID of record

Responses

202 202
400 400
DELETE /customObjects/records/{schemaId}/{recordId}
GET /customObjects/records/{schemaId}/{recordId}
operationId: Schema_getById

Parameters

Name In Required Type Description
schemaId path required string ID of schema
recordId path required string ID of record

Responses

200 200
400 400
GET /customObjects/records/{schemaId}/{recordId}
POST /customObjects/schemas
operationId: Schema_createNew

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

201 201
422 422
POST /customObjects/schemas
POST /customObjects/schemas/public
operationId: Schema_createPublicSchema

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
POST /customObjects/schemas/public
DELETE /customObjects/schemas/{id}
operationId: Schema_deleteSchemaById

Parameters

Name In Required Type Description
id path required string Id of schema to delete

Responses

200 200
404 404
DELETE /customObjects/schemas/{id}
GET /customObjects/schemas/{id}

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

operationId: Schema_getById

Parameters

Name In Required Type Description
id path required string Id of the Schema
showFields query optional string Toggle which fields are shown in the response body of a schema (if there hidden due to e.g. recently being deleted). Omit this parameter entirely to hide fields by default.

Responses

200 200
404 404
GET /customObjects/schemas/{id}
POST /customObjects/schemas/{id}/child
operationId: Schema_createChildSchema

Parameters

Name In Required Type Description
id path required string Id of the parent schema the new child schema will extend

Responses

200 200
400 400
POST /customObjects/schemas/{id}/child
PUT /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.

operationId: Schema_updateSchema

Parameters

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.

Request Body

{
  "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"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 200
404 404
422 422
PUT /customObjects/schemas/{schemaId}

Score 1 endpoints

GET /scores/{id}
operationId: Score_getScoreById

Parameters

Name In Required Type Description
id path required integer ID of the score to retrieve

Responses

200 200
404 404
GET /scores/{id}

Segment 1 endpoints

GET /segments/{id}
operationId: Segment_getById

Parameters

Name In Required Type Description
id path required integer ID of the segment to be retrieved

Responses

200 200
GET /segments/{id}

Status 1 endpoints

GET /siteTracking

Get site tracking status (enabled or disabled)

operationId: Status_getSiteTrackingStatus

Responses

200 200
400 400
GET /siteTracking

Tag 7 endpoints

POST /contactTags

Create a contact tag object

operationId: Tag_addContactTag

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TagAddContactTagRequest"
      },
      "examples": {
        "Example 1": {
          "value": {
            "contactTag": {
              "tag": "20",
              "contact": "1"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
404 404
422 422
POST /contactTags
DELETE /contactTags/{id}

Delete a contact tag object

operationId: Tag_removeTagFromContact

Parameters

Name In Required Type Description
id path required integer The contactTag id

Responses

200 200
404 404
DELETE /contactTags/{id}
GET /tags
operationId: Tag_listAllTags

Parameters

Name In Required Type Description
search query optional string Filter by name of tag(s); "contains" operator is assumed.
filters[search][<operator>] query optional string Filters tags by tag name according to the operator specified. Operators currently supported: `eq`, `neq`, `lt`, `lte`, `gt`, `gte`, `contains`, `starts_with`
orders[search] query optional string Orders filtered results by weight, ascending order, or descending order. If `weight` is used, exact matches are returned first, followed by matches starting with what was filtered by, followed by the rest of the results.

Responses

200 200
400 400
GET /tags
POST /tags
operationId: Tag_createTag

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TagCreateTagRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "tag": {
              "tag": "My Tag",
              "tagType": "contact",
              "description": "Description"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /tags
DELETE /tags/{id}
operationId: Tag_removeTag

Parameters

Name In Required Type Description
id path required integer ID of the tag to remove

Responses

200 200
404 404
DELETE /tags/{id}
GET /tags/{id}
operationId: Tag_getTag

Parameters

Name In Required Type Description
id path required integer ID of the tag to retrieve

Responses

200 200
404 404
GET /tags/{id}
PUT /tags/{id}
operationId: Tag_updateTag

Parameters

Name In Required Type Description
id path required integer ID of the tag to update

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TagUpdateTagRequest"
      },
      "examples": {
        "Request Example": {
          "value": {
            "tag": {
              "tag": "My Tag",
              "tagType": "contact",
              "description": "Description"
            }
          }
        }
      }
    }
  }
}

Responses

200 200
PUT /tags/{id}

Template 2 endpoints

GET /template/share

Create a shareable link to a campaign template

operationId: Template_createShareableLink

Parameters

Name In Required Type Description
api_key query optional string ActiveCampaign Account API Key
id query optional integer The id of the campaign template to be shared

Responses

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

Parameters

Name In Required Type Description
id path required integer ID of the template to retrieve

Responses

200 200
404 404
GET /templates/{id}

Tracking 2 endpoints

PUT /siteTracking

Enable or disable site tracking

operationId: Tracking_enableDisableSite

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TrackingEnableDisableSiteRequest"
      },
      "examples": {
        "Enable": {
          "value": {
            "siteTracking": {
              "enabled": true
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /siteTracking
GET /siteTracking/code

Get site tracking code

operationId: Tracking_getSiteCode

Responses

200 200
400 400
GET /siteTracking/code

User 9 endpoints

DELETE /addressGroups/{id}
operationId: User_deleteAddressGroup

Parameters

Name In Required Type Description
id path required integer ID of the AddressGroup to delete

Responses

200 200
404 404
DELETE /addressGroups/{id}
GET /users

List all existing users

operationId: User_listAllUsers

Responses

200 200
400 400
GET /users
POST /users

Create a new user

operationId: User_createNewUser

Request Body

{
  "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"
            }
          }
        }
      }
    }
  }
}

Responses

201 201
400 400
POST /users
GET /users/email/{email}

Retrieve an existing user by looking up their email address

operationId: User_getByEmail

Parameters

Name In Required Type Description
email path required string Email address of the user you want to view

Responses

200 200
400 400
GET /users/email/{email}
GET /users/me

Retrieve the logged-in user

operationId: User_getLoggedInUser

Responses

200 200
400 400
GET /users/me
GET /users/username/{username}

Retrieve an existing user by looking up their username

operationId: User_getByUsername

Parameters

Name In Required Type Description
username path required string Username of the user you want to view

Responses

200 200
400 400
GET /users/username/{username}
DELETE /users/{id}

Delete an existing user

operationId: User_deleteUser

Parameters

Name In Required Type Description
id path required integer ID of the user you wish to delete

Responses

200 200
400 400
DELETE /users/{id}
GET /users/{id}

Retrieve an existing user

operationId: User_getById

Parameters

Name In Required Type Description
id path required integer ID of the user you want to view

Responses

200 200
400 400
GET /users/{id}
PUT /users/{id}

Update an existing user

operationId: User_updateExistingUser

Parameters

Name In Required Type Description
id path required integer ID of the user

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UserUpdateExistingUserRequest"
      }
    }
  }
}

Responses

200 200
400 400
PUT /users/{id}

Webhook 4 endpoints

POST /webhooks

Create a new webhook

operationId: Webhook_createNewWebhook

Request Body

{
  "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"
              ]
            }
          }
        }
      }
    }
  }
}

Responses

201 201
POST /webhooks
DELETE /webhooks/{id}

Delete an existing webhook

operationId: Webhook_deleteExisting

Parameters

Name In Required Type Description
id path required integer The webhook id

Responses

200 200
DELETE /webhooks/{id}
GET /webhooks/{id}

Retrieve an existing webhook

operationId: Webhook_getById

Parameters

Name In Required Type Description
id path required integer

Responses

200 200
GET /webhooks/{id}
PUT /webhooks/{id}

Update an existing webhook

operationId: Webhook_updateExisting

Parameters

Name In Required Type Description
id path required integer The webhook id

Request Body

{
  "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"
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 200
400 400
PUT /webhooks/{id}

Schemas

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