Access the ActiveCampaign API with managed OAuth authentication. Manage contacts, deals, tags, lists, automations, and email campaigns.
Reference
List Contacts
GET /active-campaign/api/3/contactsQuery Parameters:
limit- Number of results (default: 20)offset- Starting indexsearch- Search by emailfilters[email]- Filter by emailfilters[listid]- Filter by list ID
Response:
{
"contacts": [
{
"id": "1",
"email": "user@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "",
"cdate": "2026-02-09T14:03:19-06:00",
"udate": "2026-02-09T14:03:19-06:00"
}
],
"meta": {
"total": "1"
}
}Get Contact
GET /active-campaign/api/3/contacts/{contactId}Returns contact with related data including lists, tags, deals, and field values.
Create Contact
POST /active-campaign/api/3/contacts
Content-Type: application/json
{
"contact": {
"email": "newcontact@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "555-1234"
}
}Response:
{
"contact": {
"id": "2",
"email": "newcontact@example.com",
"firstName": "John",
"lastName": "Doe",
"cdate": "2026-02-09T17:51:39-06:00",
"udate": "2026-02-09T17:51:39-06:00"
}
}Update Contact
PUT /active-campaign/api/3/contacts/{contactId}
Content-Type: application/json
{
"contact": {
"firstName": "Updated",
"lastName": "Name"
}
}Delete Contact
DELETE /active-campaign/api/3/contacts/{contactId}Returns 200 OK on success.
Sync Contact (Create or Update)
POST /active-campaign/api/3/contact/sync
Content-Type: application/json
{
"contact": {
"email": "user@example.com",
"firstName": "Updated Name"
}
}Creates the contact if it doesn't exist, updates if it does.
List Tags
GET /active-campaign/api/3/tagsResponse:
{
"tags": [
{
"id": "1",
"tag": "VIP Customer",
"tagType": "contact",
"description": "High-value customers",
"cdate": "2026-02-09T17:51:39-06:00"
}
],
"meta": {
"total": "1"
}
}Get Tag
GET /active-campaign/api/3/tags/{tagId}Create Tag
POST /active-campaign/api/3/tags
Content-Type: application/json
{
"tag": {
"tag": "New Tag",
"tagType": "contact",
"description": "Tag description"
}
}Update Tag
PUT /active-campaign/api/3/tags/{tagId}
Content-Type: application/json
{
"tag": {
"tag": "Updated Tag Name"
}
}Delete Tag
DELETE /active-campaign/api/3/tags/{tagId}Add Tag to Contact
POST /active-campaign/api/3/contactTags
Content-Type: application/json
{
"contactTag": {
"contact": "2",
"tag": "1"
}
}Remove Tag from Contact
DELETE /active-campaign/api/3/contactTags/{contactTagId}Get Contact's Tags
GET /active-campaign/api/3/contacts/{contactId}/contactTagsList All Lists
GET /active-campaign/api/3/listsResponse:
{
"lists": [
{
"id": "1",
"stringid": "master-contact-list",
"name": "Master Contact List",
"cdate": "2026-02-09T14:03:20-06:00"
}
],
"meta": {
"total": "1"
}
}Get List
GET /active-campaign/api/3/lists/{listId}Create List
POST /active-campaign/api/3/lists
Content-Type: application/json
{
"list": {
"name": "New List",
"stringid": "new-list",
"sender_url": "https://example.com",
"sender_reminder": "You signed up on our website"
}
}Update List
PUT /active-campaign/api/3/lists/{listId}
Content-Type: application/json
{
"list": {
"name": "Updated List Name"
}
}Delete List
DELETE /active-campaign/api/3/lists/{listId}Subscribe Contact to List
POST /active-campaign/api/3/contactLists
Content-Type: application/json
{
"contactList": {
"contact": "2",
"list": "1",
"status": "1"
}
}Status values: 1 = subscribed, 2 = unsubscribed
List Deals
GET /active-campaign/api/3/dealsQuery Parameters:
search- Search by title, contact, or orgfilters[stage]- Filter by stage IDfilters[owner]- Filter by owner ID
Response:
{
"deals": [
{
"id": "1",
"title": "New Deal",
"value": "10000",
"currency": "usd",
"stage": "1",
"owner": "1"
}
],
"meta": {
"total": 0,
"currencies": []
}
}Get Deal
GET /active-campaign/api/3/deals/{dealId}Create Deal
POST /active-campaign/api/3/deals
Content-Type: application/json
{
"deal": {
"title": "New Deal",
"value": "10000",
"currency": "usd",
"contact": "2",
"stage": "1",
"owner": "1"
}
}Update Deal
PUT /active-campaign/api/3/deals/{dealId}
Content-Type: application/json
{
"deal": {
"title": "Updated Deal",
"value": "15000"
}
}Delete Deal
DELETE /active-campaign/api/3/deals/{dealId}List Deal Stages
GET /active-campaign/api/3/dealStagesCreate Deal Stage
POST /active-campaign/api/3/dealStages
Content-Type: application/json
{
"dealStage": {
"title": "New Stage",
"group": "1",
"order": "1"
}
}List Pipelines
GET /active-campaign/api/3/dealGroupsCreate Pipeline
POST /active-campaign/api/3/dealGroups
Content-Type: application/json
{
"dealGroup": {
"title": "Sales Pipeline",
"currency": "usd"
}
}List Automations
GET /active-campaign/api/3/automationsResponse:
{
"automations": [
{
"id": "1",
"name": "Welcome Series",
"cdate": "2026-02-09T14:00:00-06:00",
"mdate": "2026-02-09T14:00:00-06:00",
"status": "1"
}
],
"meta": {
"total": "1"
}
}Get Automation
GET /active-campaign/api/3/automations/{automationId}List Campaigns
GET /active-campaign/api/3/campaignsResponse:
{
"campaigns": [
{
"id": "1",
"name": "Newsletter",
"type": "single",
"status": "0"
}
],
"meta": {
"total": "1"
}
}Get Campaign
GET /active-campaign/api/3/campaigns/{campaignId}List Users
GET /active-campaign/api/3/usersResponse:
{
"users": [
{
"id": "1",
"username": "admin",
"firstName": "John",
"lastName": "Doe",
"email": "admin@example.com"
}
]
}Get User
GET /active-campaign/api/3/users/{userId}List Accounts
GET /active-campaign/api/3/accountsCreate Account
POST /active-campaign/api/3/accounts
Content-Type: application/json
{
"account": {
"name": "Acme Inc"
}
}List Fields
GET /active-campaign/api/3/fieldsCreate Field
POST /active-campaign/api/3/fields
Content-Type: application/json
{
"field": {
"type": "text",
"title": "Custom Field",
"descript": "A custom field"
}
}Update Contact Field Value
PUT /active-campaign/api/3/fieldValues/{fieldValueId}
Content-Type: application/json
{
"fieldValue": {
"value": "New Value"
}
}List Notes
GET /active-campaign/api/3/notesCreate Note
POST /active-campaign/api/3/notes
Content-Type: application/json
{
"note": {
"note": "This is a note",
"relid": "2",
"reltype": "Subscriber"
}
}List Webhooks
GET /active-campaign/api/3/webhooksCreate Webhook
POST /active-campaign/api/3/webhooks
Content-Type: application/json
{
"webhook": {
"name": "My Webhook",
"url": "https://example.com/webhook",
"events": ["subscribe", "unsubscribe"],
"sources": ["public", "admin"]
}
}