ActiveCampaign · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for ActiveCampaign API v3 Contacts API
37 actions
37 updates
phrasing
extends
openapi/activecampaign-contacts-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 37 · first 16 shown; the file carries all of them
$.info
$.paths['/contacts'].get
$.paths['/contacts'].post
$.paths['/contact/sync'].post
$.paths['/contacts/{id}'].get
$.paths['/contacts/{id}'].put
$.paths['/contacts/{id}'].delete
$.paths['/contactLists'].post
$.paths['/contacts/{id}/contactAutomations'].get
$.paths['/contacts/{id}/scoreValues'].get
$.paths['/contacts/{id}/bounceLogs'].get
$.paths['/contacts/{id}/contactData'].get
$.paths['/contacts/{id}/contactGoals'].get
$.paths['/contacts/{id}/contactLists'].get
$.paths['/contacts/{id}/contactLogs'].get
$.paths['/contacts/{id}/contactDeals'].get
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 Contacts API
version: 1.0.0
extends: openapi/activecampaign-contacts-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: 36
- target: $.paths['/contacts'].get
update:
x-apievangelist-phrasing:
intent: Search and filter contacts
effect: read
questions:
- How do I find contacts in ActiveCampaign by email address or phone number?
- Can I pull only the contacts that carry a certain tag or sit on a certain list?
- Is there a way to list contacts created after a specific date, sorted by score?
instructions:
- text: Find the contact with email {email}.
slots:
email: query.email
- text: List contacts on list {listid} that have tag {tagid}.
slots:
listid: query.listid
tagid: query.tagid
- text: Search my contacts for {search} and show only those created after {created_after}.
slots:
search: query.search
created_after: query.filters[created_after]
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts'].post
update:
x-apievangelist-phrasing:
intent: Create a new contact
effect: write
questions:
- How do I add a brand-new contact to my account through the API?
- What happens if I try to create a contact whose email already exists?
instructions:
- text: 'Create a new contact from these details: {contact}.'
slots:
contact: requestBody.contact
- text: Add a new person to my contacts with the name and email I give you.
method: generated
generated: '2026-09-26'
- target: $.paths['/contact/sync'].post
update:
x-apievangelist-phrasing:
intent: Create or update a contact by email
effect: write
questions:
- Can I upsert a contact so it is created if new and updated if the email already exists?
- Which call syncs a contact's data without me checking whether they exist first?
instructions:
- text: 'Sync this contact, creating or updating it by email: {contact}.'
slots:
contact: requestBody.contact
- text: Upsert the contact record for the email in my payload and merge in the new fields.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a contact
effect: read
questions:
- How do I look up one contact's full record when I know its ID?
- What details come back when I fetch a single contact?
instructions:
- text: Get contact {id}.
slots:
id: path.id
- text: Show me the full record for contact ID {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update an existing contact
effect: write
questions:
- How do I change the name or phone on a contact I already have the ID for?
- Can I edit an existing contact's details by its ID?
instructions:
- text: Update contact {id} with {contact}.
slots:
id: path.id
contact: requestBody.contact
- text: Change the phone number on existing contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact
effect: destructive
questions:
- How do I permanently remove a contact from my account?
- Is deleting a contact by ID reversible?
instructions:
- text: Delete contact {id}.
slots:
id: path.id
- text: Remove the contact with ID {id} from my account entirely.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactLists'].post
update:
x-apievangelist-phrasing:
intent: Subscribe or unsubscribe a contact from a list
effect: write
questions:
- How do I subscribe a contact to one of my mailing lists?
- Can I unsubscribe someone from a single list without deleting them?
instructions:
- text: 'Set this contact''s list subscription status: {contactList}.'
slots:
contactList: requestBody.contactList
- text: Unsubscribe the contact from the newsletter list using the list and contact IDs I give you.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactAutomations'].get
update:
x-apievangelist-phrasing:
intent: List the automations one contact is in
effect: read
questions:
- Which automations is a particular contact currently enrolled in?
- Can I see every automation a given contact has entered?
instructions:
- text: Show the automations contact {id} is enrolled in.
slots:
id: path.id
- text: List every automation that contact {id} has been added to.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/scoreValues'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's score values
effect: read
questions:
- What lead score does a specific contact currently have?
- Can I read a contact's scoring values by contact ID?
instructions:
- text: Get the score values for contact {id}.
slots:
id: path.id
- text: Show me how contact {id} is scored.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/bounceLogs'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's email bounce logs
effect: read
questions:
- Why are emails to a contact bouncing, and where can I see the bounce history?
- Can I pull the bounce log for one contact?
instructions:
- text: Show the bounce logs for contact {id}.
slots:
id: path.id
- text: Check whether emails to contact {id} have bounced.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactData'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's data record
effect: read
questions:
- Where do I get the extra contact data stored alongside a contact?
- Can I fetch the contactData object for a single contact?
instructions:
- text: Get the contact data record for contact {id}.
slots:
id: path.id
- text: Pull the stored contactData for contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactGoals'].get
update:
x-apievangelist-phrasing:
intent: Get the automation goals a contact reached
effect: read
questions:
- Which automation goals has a contact hit so far?
- Can I see a contact's goal completions?
instructions:
- text: List the goals for contact {id}.
slots:
id: path.id
- text: Show which goals contact {id} has achieved.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactLists'].get
update:
x-apievangelist-phrasing:
intent: Get the lists a contact belongs to
effect: read
questions:
- What mailing lists is a given contact subscribed to?
- Can I check a contact's subscription status on each of my lists?
instructions:
- text: Show the list memberships for contact {id}.
slots:
id: path.id
- text: Tell me which lists contact {id} is on.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactLogs'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's activity logs
effect: read
questions:
- Where can I see the activity log recorded for one contact?
- Can I pull the contactLogs history for a contact?
instructions:
- text: Get the contact logs for contact {id}.
slots:
id: path.id
- text: Show the logged history of contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/contactDeals'].get
update:
x-apievangelist-phrasing:
intent: List deals where a contact is a secondary contact
effect: read
questions:
- Which deals list a particular person as a secondary contact?
- Can I see the contactDeals links for one contact?
instructions:
- text: List the contact-deal associations for contact {id}.
slots:
id: path.id
- text: Show the deals contact {id} is attached to as a secondary contact.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/deals'].get
update:
x-apievangelist-phrasing:
intent: Get the deals owned by a contact
effect: read
questions:
- What deals are in the pipeline for a specific contact?
- Can I list the deals where a contact is the primary contact?
instructions:
- text: Get the deals for contact {id}.
slots:
id: path.id
- text: Show the pipeline deals where contact {id} is the primary contact.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/fieldValues'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's custom field values
effect: read
questions:
- How do I read the custom field values filled in for a contact?
- Can I see every custom field value one contact has?
instructions:
- text: Get the custom field values for contact {id}.
slots:
id: path.id
- text: Show what custom fields are filled in on contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/geoIps'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's geo-IP locations
effect: read
questions:
- Where in the world has a contact opened emails or visited from, based on IP?
- Can I pull the geo-IP records for one contact?
instructions:
- text: List the geo-IP records for contact {id}.
slots:
id: path.id
- text: Show the locations tied to contact {id}'s IP addresses.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/notes'].get
update:
x-apievangelist-phrasing:
intent: Get the notes on a contact
effect: read
questions:
- How do I read the notes my team has left on a contact?
- Can I pull all notes attached to one contact?
instructions:
- text: Get the notes on contact {id}.
slots:
id: path.id
- text: Show every note written about contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/organization'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's organization
effect: read
questions:
- Which organization is a contact linked to?
- Can I look up the company record for a given contact?
instructions:
- text: Get the organization for contact {id}.
slots:
id: path.id
- text: Show which company contact {id} belongs to.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/plusAppend'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's Plus Append data
effect: read
questions:
- Where do I find the Plus Append enrichment data for a contact?
- Can I read the appended profile details for one contact?
instructions:
- text: Get the Plus Append data for contact {id}.
slots:
id: path.id
- text: Show the appended social profile info for contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/trackingLogs'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's tracking logs
effect: read
questions:
- What tracked activity, like opens and site visits, is logged for a contact?
- Can I see the tracking log for a contact using the contact id path?
instructions:
- text: Get the tracking logs for contact {id}.
slots:
id: path.id
- text: Show the tracked activity recorded for contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/accountContacts'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's account associations
effect: read
questions:
- Which accounts is a contact associated with?
- Can I list the account-contact links for one person?
instructions:
- text: List the account associations for contact {id}.
slots:
id: path.id
- text: Show which accounts contact {id} is linked to.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/automationEntryCounts'].get
update:
x-apievangelist-phrasing:
intent: Count how often a contact entered automations
effect: read
questions:
- How many times has a contact entered each automation?
- Can I see automation entry counts for a single contact?
instructions:
- text: Get the automation entry counts for contact {id}.
slots:
id: path.id
- text: Tell me how many times contact {id} has entered each automation.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactAutomations'].get
update:
x-apievangelist-phrasing:
intent: List all contact automation enrollments
effect: read
questions:
- Can I list every contact-to-automation enrollment across my whole account?
- Where do I get all contactAutomation records at once?
instructions:
- text: List all contact automation enrollments in my account.
- text: Show every contactAutomation record across all contacts.
method: generated
generated: '2026-09-26'
- target: $.paths['/contactAutomations'].post
update:
x-apievangelist-phrasing:
intent: Add a contact to an automation
effect: write
questions:
- How do I drop a contact into an automation through the API?
- Can I enroll a contact in a specific automation manually?
instructions:
- text: 'Add a contact to an automation: {contactAutomation}.'
slots:
contactAutomation: requestBody.contactAutomation
- text: Enroll the contact I name into the welcome automation.
method: generated
generated: '2026-09-26'
- target: $.paths['/contactAutomations/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve one contact automation enrollment
effect: read
questions:
- How do I look up a single contact-automation enrollment by its ID?
- Can I check the status of one contactAutomation record?
instructions:
- text: Get contact automation enrollment {id}.
slots:
id: path.id
- text: Show the details of contactAutomation {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactAutomations/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a contact from an automation
effect: destructive
questions:
- How do I take a contact out of an automation they are in?
- Can I end a contact's enrollment in an automation early?
instructions:
- text: Remove the contact from the automation by deleting enrollment {id}.
slots:
id: path.id
- text: Delete contactAutomation {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactTags'].post
update:
x-apievangelist-phrasing:
intent: Add a tag to a contact
effect: write
questions:
- How do I tag a contact through the API?
- Can I apply an existing tag to a contact by IDs?
instructions:
- text: 'Tag a contact: {contactTag}.'
slots:
contactTag: requestBody.contactTag
- text: Apply the VIP tag to the contact I name.
method: generated
generated: '2026-09-26'
- target: $.paths['/contactTags/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a tag from a contact
effect: destructive
questions:
- How do I untag a contact without deleting the tag itself?
- Can I remove one tag from a contact using the contactTag ID?
instructions:
- text: Remove contact tag {id}.
slots:
id: path.id
- text: Untag the contact by deleting contactTag {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactDeals'].get
update:
x-apievangelist-phrasing:
intent: List all secondary contacts on deals
effect: read
questions:
- Where can I see every secondary contact attached to deals across my pipelines?
- Can I list all deal secondary contacts at once?
instructions:
- text: List all secondary contacts across my deals.
- text: Show every contactDeal secondary-contact record in the account.
method: generated
generated: '2026-09-26'
- target: $.paths['/contactDeals'].post
update:
x-apievangelist-phrasing:
intent: Add a secondary contact to a deal
effect: write
questions:
- How do I attach another person to a deal as a secondary contact?
- Can I link a second contact to an existing deal?
instructions:
- text: 'Add a secondary contact to a deal: {contactDeal}.'
slots:
contactDeal: requestBody.contactDeal
- text: Attach the contact I name to the deal as a secondary contact.
method: generated
generated: '2026-09-26'
- target: $.paths['/contactDeals/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a deal's secondary contact
effect: read
questions:
- How do I fetch one secondary-contact record by its ID?
- What does a single deal secondary contact look like?
instructions:
- text: Get secondary contact {id}.
slots:
id: path.id
- text: Show the deal secondary-contact record {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactDeals/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a deal's secondary contact
effect: write
questions:
- Can I change the role of a secondary contact already on a deal?
- How do I edit an existing secondary-contact record?
instructions:
- text: Update secondary contact {id} with {contactDeal}.
slots:
id: path.id
contactDeal: requestBody.contactDeal
- text: Change the role on deal secondary contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contactDeals/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a secondary contact from a deal
effect: destructive
questions:
- How do I detach a secondary contact from a deal?
- Can I delete a secondary-contact link without deleting the person?
instructions:
- text: Delete secondary contact {id}.
slots:
id: path.id
- text: Remove deal secondary contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{contactId}/trackingLogs'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's tracked events log
effect: read
questions:
- Can I get a log of tracked events for a contact using the contactId path variant?
- Which events have been tracked against a contact over time?
instructions:
- text: Get the event log for contact {contactId}.
slots:
contactId: path.contactId
- text: List the tracked events recorded for contactId {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-09-26'