openapi: 3.0.3
info:
title: ActiveCampaign SMS Broadcast Accounts API
description: API for managing SMS broadcasts, lists, metrics, and AI-powered content generation in ActiveCampaign
version: 3.0.0
contact:
name: ActiveCampaign Support
url: https://www.activecampaign.com
x-generated-from: documentation
servers:
- url: https://{yourAccountName}.api-us1.com/api/3
description: US-based Users
variables:
yourAccountName:
default: yourAccountName
security:
- ApiToken: []
tags:
- name: Accounts
paths:
/accounts:
post:
summary: ActiveCampaign Create an Account
description: Create a new account
operationId: create-an-account-new
requestBody:
content:
application/json:
schema:
type: object
properties:
account:
properties:
name:
type: string
description: Account's name
accountUrl:
type: string
description: Account's website
owner:
type: integer
description: The userId of the account owner.
default: 1
format: int32
fields:
type: array
description: 'Account''s custom field values `{customFieldId: int, fieldValue: string, fieldCurrency?:string}[]`'
items:
properties:
customFieldId:
type: integer
description: Field ID, ID of the Custom Field Meta Data
format: int32
fieldValue:
type: string
description: Updated field value. For `currency` field, this needs to be in cents not dollars (or 100 x Base Unit).
fieldCurrency:
type: string
description: Required only for the `currency` field type. The three letter currency code for the currency value
required:
- customFieldId
- fieldValue
type: object
required:
- name
type: object
examples:
Request Example:
value:
account:
name: Example Account
accountUrl: https://www.example.com
owner: 1
fields:
- customFieldId: 9
fieldValue: 500-1000
- customFieldId: 20
fieldValue: 1234
fieldCurrency: GBP
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"account\": {\n \"name\": \"Example Account\",\n \"accountUrl\": \"https://www.example.com\",\n \"createdTimestamp\": \"2019-06-12T16:52:16-05:00\",\n \"updatedTimestamp\": \"2019-06-12T16:52:16-05:00\",\n \"links\": [],\n \"fields\": [\n {\n \"customFieldId\": 9,\n \"fieldValue\": \"501 - 1000\",\n \"accountId\": \"1\"\n },\n {\n \"customFieldId\": 20,\n \"fieldValue\": 1234,\n \t\t\t\t\"fieldCurrency\": \"GBP\",\n \"accountId\": \"1\"\n }\n ],\n \"id\": \"1\"\n }\n}"
schema:
type: object
properties:
account:
type: object
properties:
name:
type: string
example: Example Account
accountUrl:
type: string
example: https://www.example.com
createdTimestamp:
type: string
example: '2019-06-12T16:52:16-05:00'
updatedTimestamp:
type: string
example: '2019-06-12T16:52:16-05:00'
links:
type: array
fields:
type: array
items:
type: object
properties:
customFieldId:
type: integer
example: 9
default: 0
fieldValue:
type: string
example: 501 - 1000
accountId:
type: string
example: '1'
id:
type: string
example: '1'
'422':
description: '422'
content:
application/json:
examples:
Missing Data:
value: "{\n \"errors\": [\n {\n \"title\": \"The account name was not provided.\",\n \"detail\": \"\",\n \"code\": \"field_missing\",\n \"source\": {\n \"pointer\": \"/data/attributes/name\"\n }\n }\n ]\n}"
schema:
type: object
properties:
errors:
type: array
items:
type: object
properties:
title:
type: string
example: The account name was not provided.
detail:
type: string
example: ''
code:
type: string
example: field_missing
source:
type: object
properties:
pointer:
type: string
example: /data/attributes/name
text/plain:
examples:
Alredy Existing:
value: "{\n \"errors\": [\n {\n \"title\": \"An account named \\\"Example Account\\\" already exists. Please choose a new name.\",\n \"detail\": \"\",\n \"code\": \"duplicate\",\n \"source\": {\n \"pointer\": \"/data/attributes/name\"\n }\n }\n ]\n}"
schema:
type: object
properties:
errors:
type: array
items:
type: object
properties:
title:
type: string
example: An account named "Example Account" already exists. Please choose a new name.
detail:
type: string
example: ''
code:
type: string
example: duplicate
source:
type: object
properties:
pointer:
type: string
example: /data/attributes/name
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
summary: ActiveCampaign List All Accounts
description: Retrieve all existing account
operationId: list-all-accounts
parameters:
- name: search
in: query
description: Search by name
schema:
type: string
- name: count_deals
in: query
description: 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.
schema:
type: boolean
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"accounts\": [\n {\n \"name\": \"First Example Account\",\n \"accountUrl\": null,\n \"createdTimestamp\": \"2019-04-29T07:51:31-05:00\",\n \"updatedTimestamp\": \"2019-04-29T07:51:31-05:00\",\n \"contactCount\": \"1\",\n \"dealCount\": \"3\",\n \"links\": [\n \"notes\": \"https://:account.api-us1.com/api/:version/accounts/1/notes\",\n \"accountCustomFieldData\": \"https://:account.api-us1.com/api/:version/accounts/1/accountCustomFieldData\",\n \"accountContacts\": \"https://:account.api-us1.com/api/:version/accounts/1/accountContacts\"],\n \"id\": \"1\"\n },\n {\n \"name\": \"Second Example Account\",\n \"accountUrl\": null,\n \"createdTimestamp\": \"2019-04-29T07:51:32-05:00\",\n \"updatedTimestamp\": \"2019-04-29T07:51:32-05:00\",\n \"contactCount\": \"2\",\n \"dealCount\": \"5\",\n \"links\": [\n \"notes\": \"https://:account.api-us1.com/api/:version/accounts/2/notes\",\n \"accountCustomFieldData\": \"https://:account.api-us1.com/api/:version/accounts/2/accountCustomFieldData\",\n \"accountContacts\": \"https://:account.api-us1.com/api/:version/accounts/2/accountContacts\"],\n \"id\": \"2\"\n }\n ],\n \"meta\": {\n \"total\": \"2\"\n }\n}"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accounts/{id}:
put:
summary: ActiveCampaign Update an Account
description: Update an existing account
operationId: update-an-account-new
parameters:
- name: id
in: path
description: Account's id
schema:
type: integer
format: int32
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
account:
properties:
name:
type: string
description: Account's name
accountUrl:
type: string
description: Account's website
fields:
type: array
description: 'Account''s custom field values `{customFieldId: int, fieldValue: string, fieldCurrency?:string}[]`'
items:
properties:
customFieldId:
type: integer
description: Field ID, ID of the Custom Field Meta Data
format: int32
fieldValue:
type: string
description: Updated field value. For `currency` field, this needs to be in cents not dollars (or 100 x Base Unit).
fieldCurrency:
type: string
description: Required only for the `currency` field type. The three letter currency code for the currency value
required:
- customFieldId
- fieldValue
type: object
owner:
type: integer
description: The userId of the Account owner.
default: 1
format: int32
required: []
type: object
examples:
Request Example:
value:
account:
name: Exmaple Account
accountUrl: https://www.example.com
fields:
- customFieldId: 9
fieldValue: 500-1000
- customFieldId: 20
fieldValue: 1234
fieldCurrency: GBP
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"account\": {\n \"name\": \"Exmaple Account\",\n \"accountUrl\": \"https://www.example.com\",\n \"createdTimestamp\": \"2019-04-03T13:57:31-05:00\",\n \"updatedTimestamp\": \"2019-06-12T16:55:32-05:00\",\n \"links\": [],\n \"fields\": [\n {\n \"customFieldId\": 9,\n \"fieldValue\": \"501 - 1000\",\n \"accountId\": \"1\"\n },\n {\n \"customFieldId\": 20,\n \"fieldValue\": 1234,\n \t\"fieldCurrency\": \"GBP\",\n \"accountId\": \"1\"\n }\n ],\n \"id\": \"1\"\n }\n}"
schema:
type: object
properties:
account:
type: object
properties:
name:
type: string
example: Exmaple Account
accountUrl:
type: string
example: https://www.example.com
createdTimestamp:
type: string
example: '2019-04-03T13:57:31-05:00'
updatedTimestamp:
type: string
example: '2019-06-12T16:55:32-05:00'
links:
type: array
fields:
type: array
items:
type: object
properties:
customFieldId:
type: integer
example: 9
default: 0
fieldValue:
type: string
example: 501 - 1000
accountId:
type: string
example: '1'
id:
type: string
example: '1'
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
summary: ActiveCampaign Retrieve an Account
description: Retrieve an existing account
operationId: retrieve-an-account
parameters:
- name: id
in: path
description: Account's ID
schema:
type: integer
format: int32
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"account\": {\n \"name\": \"Example Account\",\n \"accountUrl\": \"https://www.example.com\",\n \"createdTimestamp\": \"2019-05-15T15:58:16-05:00\",\n \"updatedTimestamp\": \"2019-05-15T15:58:16-05:00\",\n \"links\": [],\n \"id\": \"1\"\n }\n}"
schema:
type: object
properties:
account:
type: object
properties:
name:
type: string
example: Example Account
accountUrl:
type: string
example: https://www.example.com
createdTimestamp:
type: string
example: '2019-05-15T15:58:16-05:00'
updatedTimestamp:
type: string
example: '2019-05-15T15:58:16-05:00'
links:
type: array
id:
type: string
example: '1'
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
summary: ActiveCampaign Delete an Account
description: Delete an existing account
operationId: delete-an-account
parameters:
- name: id
in: path
description: Account's id
schema:
type: integer
format: int32
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accounts/{id}/notes:
post:
summary: ActiveCampaign Create an Account Note
description: Create a new note for an account
operationId: create-an-account-note
parameters:
- name: id
in: path
description: Account's id to assign new note to
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
note:
properties:
note:
type: string
description: Account note's content
required:
- note
type: object
examples:
Request Example:
value:
note:
note: Note for the account
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"accounts\": [\n {\n \"name\": \"Museuem of Science and Industry\",\n \"accountUrl\": \"www.msi.com\",\n \"createdTimestamp\": \"2019-04-03T13:29:35-05:00\",\n \"updatedTimestamp\": \"2019-06-12T16:59:54-05:00\",\n \"id\": \"1\"\n }\n ],\n \"note\": {\n \"cdate\": \"2017-05-31T09:54:30-05:00\",\n \"id\": \"2\",\n \"links\": {\n \"activities\": \"/api/3/notes/2/activities\",\n \"mentions\": \"/api/3/notes/2/mentions\",\n \"notes\": \"/api/3/notes/2/notes\",\n \"owner\": \"/api/3/notes/2/owner\",\n \"user\": \"/api/3/notes/2/user\"\n },\n \"mdate\": \"2017-05-31T09:54:30-05:00\",\n \"note\": \"Note for the account\",\n \"owner\": {\n \"id\": \"1\",\n \"type\": \"account\"\n },\n \"relid\": \"1\",\n \"reltype\": \"CustomerAccount\",\n \"user\": \"1\",\n \"userid\": \"1\"\n }\n}"
schema:
type: object
properties:
accounts:
type: array
items:
type: object
properties:
name:
type: string
example: Museuem of Science and Industry
accountUrl:
type: string
example: www.msi.com
createdTimestamp:
type: string
example: '2019-04-03T13:29:35-05:00'
updatedTimestamp:
type: string
example: '2019-06-12T16:59:54-05:00'
id:
type: string
example: '1'
note:
type: object
properties:
cdate:
type: string
example: '2017-05-31T09:54:30-05:00'
id:
type: string
example: '2'
links:
type: object
properties:
activities:
type: string
example: /api/3/notes/2/activities
mentions:
type: string
example: /api/3/notes/2/mentions
notes:
type: string
example: /api/3/notes/2/notes
owner:
type: string
example: /api/3/notes/2/owner
user:
type: string
example: /api/3/notes/2/user
mdate:
type: string
example: '2017-05-31T09:54:30-05:00'
note:
type: string
example: Note for the account
owner:
type: object
properties:
id:
type: string
example: '1'
type:
type: string
example: account
relid:
type: string
example: '1'
reltype:
type: string
example: CustomerAccount
user:
type: string
example: '1'
userid:
type: string
example: '1'
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accounts/{id}/notes/{noteid}:
put:
summary: ActiveCampaign Update an Account Note
description: Update an existing note for a account
operationId: update-a-account-note
parameters:
- name: id
in: path
description: Account's id to assign new note to
schema:
type: string
required: true
- name: noteid
in: path
description: Account note's id to update
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
note:
properties:
note:
type: string
description: Account note's content
required:
- note
type: object
examples:
Request Example:
value:
note:
note: Update with more info
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"accounts\": [\n {\n \"name\": \"Example Account\",\n \"accountUrl\": \"https://www.example.url\",\n \"createdTimestamp\": \"2019-04-03T13:29:35-05:00\",\n \"updatedTimestamp\": \"2019-06-12T16:59:54-05:00\",\n \"links\": {\n \"notes\": \"https://hosted.localdev/api/3/accounts/1/notes\"\n },\n \"id\": \"1\"\n }\n ],\n \"note\": {\n \"cdate\": \"2017-06-01T13:42:13-05:00\",\n \"id\": \"2\",\n \"links\": {\n \"activities\": \"/api/3/notes/2/activities\",\n \"mentions\": \"/api/3/notes/2/mentions\",\n \"notes\": \"/api/3/notes/2/notes\",\n \"owner\": \"/api/3/notes/2/owner\",\n \"user\": \"/api/3/notes/2/user\"\n },\n \"mdate\": \"2017-06-01T13:42:13-05:00\",\n \"note\": \"Update with more info\",\n \"owner\": {\n \"id\": \"1\",\n \"type\": \"account\"\n },\n \"relid\": \"1\",\n \"reltype\": \"CustomerAccount\",\n \"user\": \"1\",\n \"userid\": \"1\"\n }\n}\n"
schema:
type: object
properties:
accounts:
type: array
items:
type: object
properties:
name:
type: string
example: Example Account
accountUrl:
type: string
example: https://www.example.url
createdTimestamp:
type: string
example: '2019-04-03T13:29:35-05:00'
updatedTimestamp:
type: string
example: '2019-06-12T16:59:54-05:00'
links:
type: object
properties:
notes:
type: string
example: https://hosted.localdev/api/3/accounts/1/notes
id:
type: string
example: '1'
note:
type: object
properties:
cdate:
type: string
example: '2017-06-01T13:42:13-05:00'
id:
type: string
example: '2'
links:
type: object
properties:
activities:
type: string
example: /api/3/notes/2/activities
mentions:
type: string
example: /api/3/notes/2/mentions
notes:
type: string
example: /api/3/notes/2/notes
owner:
type: string
example: /api/3/notes/2/owner
user:
type: string
example: /api/3/notes/2/user
mdate:
type: string
example: '2017-06-01T13:42:13-05:00'
note:
type: string
example: Update with more info
owner:
type: object
properties:
id:
type: string
example: '1'
type:
type: string
example: account
relid:
type: string
example: '1'
reltype:
type: string
example: CustomerAccount
user:
type: string
example: '1'
userid:
type: string
example: '1'
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accounts/bulk_delete:
delete:
summary: ActiveCampaign Bulk Delete Accounts
description: Delete an existing account
operationId: bulk-delete-accounts
parameters:
- name: '[]ids'
in: query
description: An integer id of the account to be deleted
schema:
type: integer
format: int32
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"meta\": {\n \"success\": true\n }\n}"
schema:
type: object
properties:
meta:
type: object
properties:
success:
type: boolean
example: true
default: true
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accountContacts:
post:
summary: ActiveCampaign Create an Association
description: Create a new account association
operationId: create-an-account-1
requestBody:
content:
application/json:
schema:
type: object
properties:
accountContact:
properties:
account:
type: integer
description: Account ID
format: int32
contact:
type: integer
description: Contact ID
format: int32
jobTitle:
type: string
description: Job Title of the contact at the account
required:
- account
- contact
type: object
examples:
Request Example:
value:
accountContact:
contact: 2
account: 1
jobTitle: Product Manager
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"accountContact\": {\n \"account\": 2,\n \"contact\": 1,\n \"jobTitle\": \"Product Manager\",\n \"createdTimestamp\": \"2019-06-26T10:49:10-05:00\",\n \"updatedTimestamp\": \"2019-06-26T10:49:10-05:00\",\n \"links\": {\n \"account\": \"http://hosted.localdev/api/3/accountContacts/2/account\",\n \"contact\": \"http://hosted.localdev/api/3/accountContacts/1/contact\"\n },\n \"id\": \"1\"\n }\n}"
schema:
type: object
properties:
accountContact:
type: object
properties:
account:
type: integer
example: 2
# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/activecampaign/refs/heads/main/openapi/activecampaign-accounts-api-openapi.yml