ActiveCampaign Custom Objects API

The Custom Objects API from ActiveCampaign — 9 operation(s) for custom objects.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

activecampaign-custom-objects-api-openapi.yml Raw ↑
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