ActiveCampaign · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for ActiveCampaign API v3 Custom Objects API
14 actions
14 updates
phrasing
extends
openapi/activecampaign-custom-objects-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for ActiveCampaign's API. It is a proposal applied on top of the contract, not a document ActiveCampaign publishes.
What the actions change
x-apievangelist-phrasing
Targets 14
$.info
$.paths['/customObjects/schemas'].get
$.paths['/customObjects/schemas'].post
$.paths['/customObjects/schemas/{id}'].get
$.paths['/customObjects/schemas/{id}'].delete
$.paths['/customObjects/schemas/{schemaId}'].put
$.paths['/customObjects/schemas/{schemaId}/fields/{fieldId}'].delete
$.paths['/customObjects/schemas/public'].post
$.paths['/customObjects/schemas/{id}/child'].post
$.paths['/customObjects/records/{schemaId}'].get
$.paths['/customObjects/records/{schemaId}'].post
$.paths['/customObjects/records/{schemaId}/{recordId}'].get
$.paths['/customObjects/records/{schemaId}/{recordId}'].delete
$.paths['/customObjects/records/{schemaId}/external/{externalId}'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for ActiveCampaign API v3 Custom Objects API
version: 1.0.0
extends: openapi/activecampaign-custom-objects-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 13
- target: $.paths['/customObjects/schemas'].get
update:
x-apievangelist-phrasing:
intent: List custom object schemas
effect: read
questions:
- What custom object schemas exist in my ActiveCampaign account?
- Can I include fields that are marked for deletion when listing schemas?
- How many schemas can I pull per page?
instructions:
- text: List all custom object schemas.
- text: List up to {limit} schemas with every field shown, including deleted ones set to {showFields}.
slots:
limit: query.limit
showFields: query.showFields
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas'].post
update:
x-apievangelist-phrasing:
intent: Create a custom object schema
effect: write
questions:
- How do I define a new custom object type with its own fields?
- Can I create a private schema for my account's custom data?
instructions:
- text: 'Create a custom object schema from this definition: {schema}.'
slots:
schema: requestBody.schema
- text: Set up a new custom object schema called Subscriptions with the fields I list.
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a custom object schema
effect: read
questions:
- How do I see the fields and relationships defined on one schema?
- Can I fetch a single schema by its ID?
instructions:
- text: Get custom object schema {id}.
slots:
id: path.id
- text: Show schema {id} with all fields visible using {showFields}.
slots:
id: path.id
showFields: query.showFields
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom object schema
effect: destructive
questions:
- How do I remove a custom object schema I no longer use?
- Does deleting a schema take its records with it?
instructions:
- text: Delete custom object schema {id}.
slots:
id: path.id
- text: Remove the schema with ID {id} from my account.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/{schemaId}'].put
update:
x-apievangelist-phrasing:
intent: Update a custom object schema
effect: write
questions:
- How do I add new fields to an existing custom object schema?
- Can I validate a schema change without saving it?
instructions:
- text: Update schema {schemaId} with {schema}.
slots:
schemaId: path.schemaId
schema: requestBody.schema
- text: Dry-run my changes to schema {schemaId} with validateOnly set to {validateOnly}.
slots:
schemaId: path.schemaId
validateOnly: header.validateOnly
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/{schemaId}/fields/{fieldId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a field from a schema
effect: destructive
questions:
- How do I remove one field from a custom object schema?
- What happens to record data when a schema field is deleted?
instructions:
- text: Delete field {fieldId} from schema {schemaId}.
slots:
fieldId: path.fieldId
schemaId: path.schemaId
- text: Permanently drop the {fieldId} field on custom object schema {schemaId}.
slots:
fieldId: path.fieldId
schemaId: path.schemaId
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/public'].post
update:
x-apievangelist-phrasing:
intent: Create a public custom object schema
effect: write
questions:
- How do I create a public schema that child accounts can extend?
- Can I publish a custom object schema to share across accounts?
instructions:
- text: Create a public schema from {schema}.
slots:
schema: requestBody.schema
- text: Publish a new shared public custom object schema with the definition I give you.
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/schemas/{id}/child'].post
update:
x-apievangelist-phrasing:
intent: Create a child schema from a public schema
effect: write
questions:
- How do I extend a public schema into a child schema in my account?
- Can I build a child schema on top of an existing parent schema?
instructions:
- text: Create a child schema that extends parent schema {id}.
slots:
id: path.id
- text: Extend public schema {id} into my account as a child schema.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/records/{schemaId}'].get
update:
x-apievangelist-phrasing:
intent: List custom object records for a schema
effect: read
questions:
- How do I list the custom object records stored under a schema?
- Can I filter records to just the ones related to a specific contact?
instructions:
- text: List records for schema {schemaId}.
slots:
schemaId: path.schemaId
- text: List up to {limit} records of schema {schemaId} filtered by {filters}.
slots:
limit: query.limit
schemaId: path.schemaId
filters: query.filters
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/records/{schemaId}'].post
update:
x-apievangelist-phrasing:
intent: Create or update a custom object record
effect: write
questions:
- How do I save a custom object record, updating it if it already exists?
- Can I upsert records into a schema by external ID?
instructions:
- text: 'Upsert this record into schema {schemaId}: {record}.'
slots:
schemaId: path.schemaId
record: requestBody.record
- text: Create a new custom object record under schema {schemaId}.
slots:
schemaId: path.schemaId
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/records/{schemaId}/{recordId}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a custom object record
effect: read
questions:
- How do I fetch one custom object record by its ID?
- What fields come back on a single custom object record?
instructions:
- text: Get record {recordId} from schema {schemaId}.
slots:
recordId: path.recordId
schemaId: path.schemaId
- text: Show custom object record {recordId} in schema {schemaId}.
slots:
recordId: path.recordId
schemaId: path.schemaId
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/records/{schemaId}/{recordId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom object record by ID
effect: destructive
questions:
- How do I delete a custom object record when I have its record ID?
- Can I remove a single record from a schema?
instructions:
- text: Delete record {recordId} from schema {schemaId}.
slots:
recordId: path.recordId
schemaId: path.schemaId
- text: Remove custom object record ID {recordId} under schema {schemaId}.
slots:
recordId: path.recordId
schemaId: path.schemaId
method: generated
generated: '2026-09-26'
- target: $.paths['/customObjects/records/{schemaId}/external/{externalId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom object record by external ID
effect: destructive
questions:
- Can I delete a record using my own system's external ID instead of the internal ID?
- How do I remove a custom object record I only know by external ID?
instructions:
- text: Delete the record with external ID {externalId} from schema {schemaId}.
slots:
externalId: path.externalId
schemaId: path.schemaId
- text: Remove the schema {schemaId} record whose external ID is {externalId}.
slots:
schemaId: path.schemaId
externalId: path.externalId
method: generated
generated: '2026-09-26'