openapi: 3.0.3
info:
title: ActiveCampaign SMS Broadcast Accounts Custom Objects 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: Custom Objects
paths:
/customObjects/schemas:
get:
summary: ActiveCampaign List All Schemas
description: '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-all-schemas
parameters:
- name: limit
in: query
description: The number of schemas to retrieve for each API call. Maximum value is 100.
schema:
type: integer
format: int32
default: 20
- name: offset
in: query
description: Offset index of items to return
schema:
type: integer
format: int32
default: 0
- name: orders
in: query
description: Array of sorting criteria to fetch items
schema:
type: array
items:
type: string
- name: filters
in: query
description: Filters schemas by different criteria
schema:
type: string
- name: showFields
in: query
description: 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.
schema:
type: string
default: all
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"schemas\": [\n {\n \"id\": \"6449c3f3-b68d-46d1-850b-c8aea998ce1b\",\n \"slug\": \"my-object\",\n \"visibility\": \"private\",\n \"labels\": {\n \"singular\": \"My Object\",\n \"plural\": \"My Objects\"\n },\n \"description\": \"Sample Schema\",\n \"createdTimestamp\": \"2021-04-16T15:08:25.783751329Z\",\n \"updatedTimestamp\": \"2021-04-16T15:08:25.783751329Z\",\n \"fields\": [\n {\n \"id\": \"my-number-field\",\n \"labels\": {\n \"singular\": \"Number\",\n \"plural\": \"Numbers\"\n },\n \"type\": \"number\",\n \"required\": false,\n \"scale\": 0\n }\n ],\n \"icons\": {\n \"default\": \"https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png\"\n },\n \"relationships\": [\n {\n \"id\": \"primary-contact\",\n \"labels\": {\n \"singular\": \"Primary Contact\",\n \"plural\": \"Primary Contacts\"\n },\n \"description\": \"Primary contact to this object\",\n \"namespace\": \"contacts\",\n \"hasMany\": false\n }\n ]\n }\n ],\n \"meta\": {\n \"total\": 1,\n \"count\": 1,\n \"limit\": 20,\n \"offset\": 0\n }\n}\n"
schema:
type: object
properties:
schemas:
type: array
items:
type: object
properties:
id:
type: string
example: 6449c3f3-b68d-46d1-850b-c8aea998ce1b
slug:
type: string
example: my-object
visibility:
type: string
example: private
labels:
type: object
properties:
singular:
type: string
example: My Object
plural:
type: string
example: My Objects
description:
type: string
example: Sample Schema
createdTimestamp:
type: string
example: '2021-04-16T15:08:25.783751329Z'
updatedTimestamp:
type: string
example: '2021-04-16T15:08:25.783751329Z'
fields:
type: array
items:
type: object
properties:
id:
type: string
example: my-number-field
labels:
type: object
properties:
singular:
type: string
example: Number
plural:
type: string
example: Numbers
type:
type: string
example: number
required:
type: boolean
example: false
default: true
scale:
type: integer
example: 0
default: 0
icons:
type: object
properties:
default:
type: string
example: https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png
relationships:
type: array
items:
type: object
properties:
id:
type: string
example: primary-contact
labels:
type: object
properties:
singular:
type: string
example: Primary Contact
plural:
type: string
example: Primary Contacts
description:
type: string
example: Primary contact to this object
namespace:
type: string
example: contacts
hasMany:
type: boolean
example: false
default: true
meta:
type: object
properties:
total:
type: integer
example: 1
default: 0
count:
type: integer
example: 1
default: 0
limit:
type: integer
example: 20
default: 0
offset:
type: integer
example: 0
default: 0
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Custom Objects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
summary: ActiveCampaign Create a Schema
description: ''
operationId: create-a-schema
requestBody:
content:
application/json:
schema:
type: object
properties:
schema:
properties:
slug:
type: string
labels:
properties:
singular:
type: string
description: Singular label for Schema
plural:
type: string
description: Plural label for Schema
required: []
type: object
description:
type: string
description: Description of the Schema
fields:
type: array
description: List of Schema fields
items:
properties:
id:
type: string
slug:
type: string
labels:
type: object
properties:
singular:
type: string
description: human-readable singular name
plural:
type: string
description: human-readable plural name
type:
type: string
scale:
type: integer
format: int32
isRequired:
type: boolean
type: object
relationships:
type: array
items:
properties:
id:
type: string
labels:
type: object
properties:
singular:
type: string
description: human-readable singular name
plural:
type: string
description: human-readable plural name
description:
type: string
namespace:
type: string
hasMany:
type: boolean
type: object
required: []
type: object
examples:
A single field with a relationship to the contact:
value:
schema:
slug: my-object
labels:
singular: My Object
plural: My Objects
description: Sample Schema
fields:
- id: my-number-field
labels:
singular: Number
plural: Numbers
type: number
required: false
scale: 0
relationships:
- id: primary-contact
labels:
singular: Primary Contact
plural: Primary Contacts
description: Primary contact to this object
namespace: contacts
hasMany: false
A single field with a relationship to an account:
value:
schema:
slug: my-object
labels:
singular: My Object
plural: My Objects
description: Sample Schema
fields:
- id: my-number-field
labels:
singular: Number
plural: Numbers
type: number
required: false
scale: 0
relationships:
- id: account
labels:
singular: Account
plural: Accounts
description: Accounts related to this object
namespace: accounts
hasMany: false
A single field with a relationship to a deal:
value:
schema:
slug: my-object
labels:
singular: My Object
plural: My Objects
description: Sample Schema
fields:
- id: my-number-field
labels:
singular: Number
plural: Numbers
type: number
required: false
scale: 0
relationships:
- id: deal
labels:
singular: Deal
plural: Deals
description: Deals related to this object
namespace: deals
hasMany: false
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"schema\": {\n \"id\": \"2123028c-64e6-40e2-97bc-9d63a2ca920b\",\n \"slug\": \"my-object\",\n \"visibility\": \"private\",\n \"labels\": {\n \"singular\": \"My Object\",\n \"plural\": \"My Objects\"\n },\n \"description\": \"Sample Schema\",\n \"createdTimestamp\": \"2021-03-19T18:23:17.153996399Z\",\n \"updatedTimestamp\": \"2021-03-19T18:23:17.153996399Z\",\n \"fields\": [{\n \"id\": \"my-number-field\",\n \"labels\": {\n \"singular\": \"Number\",\n \"plural\": \"Numbers\"\n },\n \"type\": \"number\",\n \"required\": false,\n \"scale\": 0\n }],\n \"icons\": {\n \"default\": \"https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png\"\n },\n \"relationships\": [{\n \"id\": \"primary-contact\",\n \"labels\": {\n \"singular\": \"Primary Contact\",\n \"plural\": \"Primary Contacts\"\n },\n \"description\": \"Primary contact to this object\",\n \"namespace\": \"contacts\",\n \"hasMany\": false\n }]\n }\n}"
schema:
type: object
properties:
schema:
type: object
properties:
id:
type: string
example: 2123028c-64e6-40e2-97bc-9d63a2ca920b
slug:
type: string
example: my-object
visibility:
type: string
example: private
labels:
type: object
properties:
singular:
type: string
example: My Object
plural:
type: string
example: My Objects
description:
type: string
example: Sample Schema
createdTimestamp:
type: string
example: '2021-03-19T18:23:17.153996399Z'
updatedTimestamp:
type: string
example: '2021-03-19T18:23:17.153996399Z'
fields:
type: array
items:
type: object
properties:
id:
type: string
example: my-number-field
labels:
type: object
properties:
singular:
type: string
example: Number
plural:
type: string
example: Numbers
type:
type: string
example: number
required:
type: boolean
example: false
default: true
scale:
type: integer
example: 0
default: 0
icons:
type: object
properties:
default:
type: string
example: https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png
relationships:
type: array
items:
type: object
properties:
id:
type: string
example: primary-contact
labels:
type: object
properties:
singular:
type: string
example: Primary Contact
plural:
type: string
example: Primary Contacts
description:
type: string
example: Primary contact to this object
namespace:
type: string
example: contacts
hasMany:
type: boolean
example: false
default: true
'422':
description: '422'
content:
application/json:
examples:
invalid field value:
value: "{\n \"errors\": [\n {\n \"title\": \"Invalid value for field \\\"schema.fields.labels\\\"\",\n \"detail\": \"Schema fields must provide labels\",\n \"source\": {\n \"type\": \"pointer\",\n \"value\": \"/data/attributes/schema/fields/labels\"\n }\n }\n ]\n}"
slug conflict:
value: "{\n \"errors\": [\n {\n \"title\": \"Invalid value for field \\\"schema.slug\\\"\",\n \"detail\": \"Schema slug must be unique\",\n \"source\": {\n \"type\": \"pointer\",\n \"value\": \"/data/attributes/schema/slug\"\n }\n }\n ]\n}"
schema:
oneOf:
- title: invalid field value
type: object
properties:
errors:
type: array
items:
type: object
properties:
title:
type: string
example: Invalid value for field "schema.fields.labels"
detail:
type: string
example: Schema fields must provide labels
source:
type: object
properties:
type:
type: string
example: pointer
value:
type: string
example: /data/attributes/schema/fields/labels
- title: slug conflict
type: object
properties:
errors:
type: array
items:
type: object
properties:
title:
type: string
example: Invalid value for field "schema.slug"
detail:
type: string
example: Schema slug must be unique
source:
type: object
properties:
type:
type: string
example: pointer
value:
type: string
example: /data/attributes/schema/slug
deprecated: false
tags:
- Custom Objects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/customObjects/schemas/{id}:
get:
summary: ActiveCampaign Retrieve a Schema
description: '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: retrieve-a-schema
parameters:
- name: id
in: path
description: Id of the Schema
schema:
type: string
required: true
- name: showFields
in: query
description: 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.
schema:
type: string
default: all
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"schema\": {\n \"id\": \"6449c3f3-b68d-46d1-850b-c8aea998ce1b\",\n \"slug\": \"my-object\",\n \"visibility\": \"private\",\n \"labels\": {\n \"singular\": \"My Object\",\n \"plural\": \"My Objects\"\n },\n \"description\": \"Sample Schema\",\n \"createdTimestamp\": \"2021-04-16T15:08:25.783751329Z\",\n \"updatedTimestamp\": \"2021-04-16T15:08:25.783751329Z\",\n \"fields\": [\n {\n \"id\": \"my-number-field\",\n \"labels\": {\n \"singular\": \"Number\",\n \"plural\": \"Numbers\"\n },\n \"type\": \"number\",\n \"required\": false,\n \"scale\": 0\n }\n ],\n \"icons\": {\n \"default\": \"https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png\"\n },\n \"relationships\": [\n {\n \"id\": \"primary-contact\",\n \"labels\": {\n \"singular\": \"Primary Contact\",\n \"plural\": \"Primary Contacts\"\n },\n \"description\": \"Primary contact to this object\",\n \"namespace\": \"contacts\",\n \"hasMany\": false\n }\n ]\n }\n}"
schema:
type: object
properties:
schema:
type: object
properties:
id:
type: string
example: 6449c3f3-b68d-46d1-850b-c8aea998ce1b
slug:
type: string
example: my-object
visibility:
type: string
example: private
labels:
type: object
properties:
singular:
type: string
example: My Object
plural:
type: string
example: My Objects
description:
type: string
example: Sample Schema
createdTimestamp:
type: string
example: '2021-04-16T15:08:25.783751329Z'
updatedTimestamp:
type: string
example: '2021-04-16T15:08:25.783751329Z'
fields:
type: array
items:
type: object
properties:
id:
type: string
example: my-number-field
labels:
type: object
properties:
singular:
type: string
example: Number
plural:
type: string
example: Numbers
type:
type: string
example: number
required:
type: boolean
example: false
default: true
scale:
type: integer
example: 0
default: 0
icons:
type: object
properties:
default:
type: string
example: https://d226aj4ao1t61q.cloudfront.net/n9mayqo2d_customobject.png
relationships:
type: array
items:
type: object
properties:
id:
type: string
example: primary-contact
labels:
type: object
properties:
singular:
type: string
example: Primary Contact
plural:
type: string
example: Primary Contacts
description:
type: string
example: Primary contact to this object
namespace:
type: string
example: contacts
hasMany:
type: boolean
example: false
default: true
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"message\": \"Not Found\"\n}"
schema:
type: object
properties:
message:
type: string
example: Not Found
deprecated: false
tags:
- Custom Objects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
summary: ActiveCampaign Delete a Schema
description: ''
operationId: delete-a-schema
parameters:
- name: id
in: path
description: Id of schema to delete
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: ''
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"message\": \"Not Found\"\n}"
schema:
type: object
properties:
message:
type: string
example: Not Found
deprecated: false
tags:
- Custom Objects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/customObjects/schemas/{schemaId}:
put:
summary: ActiveCampaign Update a Schema
description: '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: update-a-schema
parameters:
- name: schemaId
in: path
description: Id of Schema being updated
schema:
type: string
required: true
- name: validateOnly
in: header
description: When set to `true` the API will validate the schema update without saving changes
schema:
type: boolean
default: false
- name: showFields
in: query
description: 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.
schema:
type: string
default: all
requestBody:
content:
application/json:
schema:
type: object
properties:
schema:
properties:
slug:
type: string
labels:
properties:
singular:
type: string
description: Singular label for Schema
plural:
type: string
description: Plural label for Schema
required: []
type: object
description:
type: string
description: Text description of the Schema
appId:
type: string
fields:
type: array
items:
properties:
id:
type: string
description: id of the field
value:
type: string
# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/activecampaign/refs/heads/main/openapi/activecampaign-custom-objects-api-openapi.yml