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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'