# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Hubspot Batch API version: 1.0.0 extends: openapi/hubspot-batch-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-24' generator: build-phrasing.py label: Generated by API Evangelist operations: 223 - target: $.paths['/cms/blogs/2026-09/authors/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several blog authors at once effect: destructive questions: - How do I remove a whole list of blog authors from my HubSpot blog in one call? - Can I delete multiple blog author profiles by their IDs together? instructions: - text: Delete the blog authors with IDs {author_ids}. slots: author_ids: requestBody.inputs - text: 'Remove these blog author profiles from the blog: {author_ids}.' slots: author_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/authors/batch/create'].post update: x-apievangelist-phrasing: intent: Create several blog authors at once effect: write questions: - Can I add a batch of new blog authors with names and bios in one request? - What's the quickest way to set up a team of writers as blog authors? instructions: - text: 'Create these blog authors: {authors}.' slots: authors: requestBody.inputs - text: Add {authors} as new author profiles on our blog. slots: authors: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/authors/batch/read'].post update: x-apievangelist-phrasing: intent: Look up several blog authors by ID effect: read questions: - How can I fetch the details of several blog authors when I already have their IDs? - Can I pull back only archived blog authors when reading them in bulk? instructions: - text: Get the blog author profiles for IDs {author_ids}. slots: author_ids: requestBody.inputs - text: 'Fetch archived blog authors {author_ids}, archived only: {archived}.' slots: author_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/authors/batch/update'].post update: x-apievangelist-phrasing: intent: Edit several blog authors at once effect: write questions: - How do I change the bios or display names of many blog authors together? - Can one request update a group of existing blog author profiles? instructions: - text: 'Update these blog author profiles with the new details: {author_changes}.' slots: author_changes: requestBody.inputs - text: Apply {author_changes} to our existing blog authors. slots: author_changes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/media-bridge/2026-09/{appId}/properties/{objectType}/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive app properties for a Media Bridge object type effect: destructive questions: - Can I retire several Media Bridge properties my app defined for one object type? - How would my media app hide properties it no longer needs on a media object type? instructions: - text: Archive the properties {property_names} on object type {object_type} for app {app_id}. slots: property_names: requestBody.inputs object_type: path.objectType app_id: path.appId - text: In Media Bridge app {app_id}, retire properties {property_names} from {object_type}. slots: app_id: path.appId property_names: requestBody.inputs object_type: path.objectType method: generated generated: '2026-09-24' - target: $.paths['/media-bridge/2026-09/{appId}/properties/{objectType}/batch/create'].post update: x-apievangelist-phrasing: intent: Define new properties for a Media Bridge object type effect: write questions: - How can my Media Bridge app set up several custom properties on a media object type at once? - Can I register a batch of property definitions for my app's video or audio objects? instructions: - text: Create properties {property_definitions} on media object type {object_type} for app {app_id}. slots: property_definitions: requestBody.inputs object_type: path.objectType app_id: path.appId - text: 'Set up these Media Bridge properties for app {app_id} on {object_type}: {property_definitions}.' slots: app_id: path.appId object_type: path.objectType property_definitions: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/media-bridge/2026-09/{appId}/properties/{objectType}/batch/read'].post update: x-apievangelist-phrasing: intent: Read Media Bridge property definitions in bulk effect: read questions: - Which details can I get back for a list of my Media Bridge app's properties by name? - Can I include archived Media Bridge properties or filter by data sensitivity when reading them? instructions: - text: Read the Media Bridge properties {property_names} on {object_type} for app {app_id}. slots: property_names: requestBody.inputs object_type: path.objectType app_id: path.appId - text: 'Look up app {app_id} properties {property_names} for {object_type}, include archived: {archived}, sensitivity {data_sensitivity}.' slots: app_id: path.appId property_names: requestBody.inputs object_type: path.objectType archived: requestBody.archived data_sensitivity: requestBody.dataSensitivity method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several landing pages effect: destructive questions: - How do I permanently delete a set of landing pages by ID? - Is deleting landing pages through the API the same as archiving them in the dashboard? instructions: - text: Delete landing pages {page_ids}. slots: page_ids: requestBody.inputs - text: 'Permanently remove these landing pages: {page_ids}.' slots: page_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/batch/create'].post update: x-apievangelist-phrasing: intent: Create several landing pages effect: write questions: - Can I publish a batch of new landing pages for a campaign in one call? - What's the way to create multiple landing pages programmatically at once? instructions: - text: 'Create these landing pages: {pages}.' slots: pages: requestBody.inputs - text: Spin up new landing pages from {pages}. slots: pages: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/batch/read'].post update: x-apievangelist-phrasing: intent: Fetch several landing pages by ID effect: read questions: - How can I get the content and settings for a handful of landing pages I know the IDs of? - Can I read landing pages that have been archived? instructions: - text: Get landing pages {page_ids}. slots: page_ids: requestBody.inputs - text: 'Fetch landing pages {page_ids}, archived only: {archived}.' slots: page_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/batch/update'].post update: x-apievangelist-phrasing: intent: Update several landing pages effect: write questions: - How do I change the content or settings on many landing pages together? - Can I archive landing pages in the dashboard by updating them instead of deleting them? instructions: - text: 'Update landing pages with these changes: {page_updates}.' slots: page_updates: requestBody.inputs - text: Apply {page_updates} to our existing landing pages. slots: page_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/folders/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several landing page folders effect: destructive questions: - Can I remove a batch of landing page folders by ID? - How do I clean up empty landing page folders in one go? instructions: - text: Delete landing page folders {folder_ids}. slots: folder_ids: requestBody.inputs - text: Remove the landing page folders with IDs {folder_ids}. slots: folder_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/folders/batch/create'].post update: x-apievangelist-phrasing: intent: Create several landing page folders effect: write questions: - How can I set up a group of folders to organize landing pages? - Can I create multiple landing page folders in a single request? instructions: - text: Create landing page folders {folders}. slots: folders: requestBody.inputs - text: 'Make new folders for organizing landing pages: {folders}.' slots: folders: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/landing-pages/folders/batch/update'].post update: x-apievangelist-phrasing: intent: Rename or edit several landing page folders effect: write questions: - Can I rename a bunch of landing page folders at once? - Which request changes existing landing page folders in bulk? instructions: - text: Update landing page folders with {folder_updates}. slots: folder_updates: requestBody.inputs - text: 'Rename our landing page folders as follows: {folder_updates}.' slots: folder_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/site-pages/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several website pages effect: destructive questions: - How do I permanently delete multiple website pages from my site? - Does deleting site pages via the API differ from the dashboard archive? instructions: - text: Delete website pages {page_ids}. slots: page_ids: requestBody.inputs - text: 'Permanently remove these site pages: {page_ids}.' slots: page_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/site-pages/batch/create'].post update: x-apievangelist-phrasing: intent: Create several website pages effect: write questions: - Can I create a batch of new website pages in one call? - What's the way to add multiple site pages to my HubSpot website programmatically? instructions: - text: 'Create these website pages: {pages}.' slots: pages: requestBody.inputs - text: Add new site pages built from {pages}. slots: pages: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/site-pages/batch/read'].post update: x-apievangelist-phrasing: intent: Fetch several website pages by ID effect: read questions: - How can I retrieve several website pages at once when I have their IDs? - Can I read back site pages that are archived? instructions: - text: Get website pages {page_ids}. slots: page_ids: requestBody.inputs - text: 'Fetch site pages {page_ids}, archived only: {archived}.' slots: page_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/cms/pages/2026-09/site-pages/batch/update'].post update: x-apievangelist-phrasing: intent: Update several website pages effect: write questions: - How do I push content changes to many website pages together? - Can I archive site pages in the dashboard by updating archivedInDashboard? instructions: - text: Update website pages with {page_updates}. slots: page_updates: requestBody.inputs - text: Apply {page_updates} to our site pages. slots: page_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/posts/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several blog posts effect: destructive questions: - How do I permanently delete a set of blog posts by ID? - Is deleting blog posts through the API the same as the in-app archive? instructions: - text: Delete blog posts {post_ids}. slots: post_ids: requestBody.inputs - text: 'Permanently remove these blog posts: {post_ids}.' slots: post_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/posts/batch/create'].post update: x-apievangelist-phrasing: intent: Create several blog posts effect: write questions: - Can I draft a batch of blog posts with their content in one request? - What's the way to import many articles into my HubSpot blog at once? instructions: - text: 'Create these blog posts: {posts}.' slots: posts: requestBody.inputs - text: Draft new blog posts from {posts}. slots: posts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/posts/batch/read'].post update: x-apievangelist-phrasing: intent: Fetch several blog posts by ID effect: read questions: - How can I pull several blog posts at once when I know their IDs? - Can I retrieve only archived blog posts in bulk? instructions: - text: Get blog posts {post_ids}. slots: post_ids: requestBody.inputs - text: 'Fetch blog posts {post_ids}, archived only: {archived}.' slots: post_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/posts/batch/update'].post update: x-apievangelist-phrasing: intent: Update several blog posts effect: write questions: - How do I edit titles or content across many existing blog posts together? - Can one call apply changes to a batch of blog posts? instructions: - text: Update blog posts with {post_updates}. slots: post_updates: requestBody.inputs - text: Apply {post_updates} to our existing blog articles. slots: post_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/tags/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete several blog tags effect: destructive questions: - Can I delete a list of unused blog tags in one request? - How do I get rid of several blog topic tags by ID? instructions: - text: Delete blog tags {tag_ids}. slots: tag_ids: requestBody.inputs - text: 'Remove these tags from the blog: {tag_ids}.' slots: tag_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/tags/batch/create'].post update: x-apievangelist-phrasing: intent: Create several blog tags effect: write questions: - How can I add a set of new tags to my blog at once? - Can I create multiple blog tags in a single request? instructions: - text: Create blog tags {tags}. slots: tags: requestBody.inputs - text: 'Add these new topic tags to the blog: {tags}.' slots: tags: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/tags/batch/read'].post update: x-apievangelist-phrasing: intent: Fetch several blog tags by ID effect: read questions: - How do I read the names of several blog tags from their IDs? - Can I look up archived blog tags in bulk? instructions: - text: Get blog tags {tag_ids}. slots: tag_ids: requestBody.inputs - text: 'Fetch blog tags {tag_ids}, archived only: {archived}.' slots: tag_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/cms/blogs/2026-09/tags/batch/update'].post update: x-apievangelist-phrasing: intent: Rename or edit several blog tags effect: write questions: - Can I rename a group of blog tags in one request? - What call changes several existing blog tags together? instructions: - text: Update blog tags with {tag_updates}. slots: tag_updates: requestBody.inputs - text: 'Rename our blog tags as follows: {tag_updates}.' slots: tag_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive items in a price book effect: destructive questions: - How do I archive a batch of items out of a specific price book? - Can I remove several products from one price book in a single request? instructions: - text: Archive items {item_ids} in price book {price_book_id}. slots: item_ids: requestBody.inputs price_book_id: path.priceBookId - text: Take {item_ids} out of active use in price book {price_book_id}. slots: item_ids: requestBody.inputs price_book_id: path.priceBookId method: generated generated: '2026-09-24' - target: $.paths['/commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/create'].post update: x-apievangelist-phrasing: intent: Add products to a price book effect: write questions: - How can I add a batch of products to one of my price books? - Does adding many items to a price book tell me which ones failed? instructions: - text: Add products {products} to price book {price_book_id}. slots: products: requestBody.inputs price_book_id: path.priceBookId - text: Create price book items in {price_book_id} for {products}. slots: price_book_id: path.priceBookId products: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/update'].post update: x-apievangelist-phrasing: intent: Update items in a price book effect: write questions: - How do I change prices for many items in a price book at once? - Can I bulk edit the items already in one price book? instructions: - text: Update items in price book {price_book_id} with {item_updates}. slots: price_book_id: path.priceBookId item_updates: requestBody.inputs - text: 'Reprice these entries in price book {price_book_id}: {item_updates}.' slots: price_book_id: path.priceBookId item_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/communication-preferences/2026-09/statuses/batch/read'].post update: x-apievangelist-phrasing: intent: Check subscription statuses for several contacts effect: read questions: - Which email subscriptions is each of these contacts opted into? - Can I check subscription statuses for a list of contacts within one business unit? instructions: - text: Get the {channel} subscription statuses for {contacts}. slots: channel: query.channel contacts: requestBody.inputs - text: Look up subscription statuses on channel {channel} for {contacts} in business unit {business_unit_id}. slots: channel: query.channel contacts: requestBody.inputs business_unit_id: query.businessUnitId method: generated generated: '2026-09-24' - target: $.paths['/communication-preferences/2026-09/statuses/batch/unsubscribe-all'].post update: x-apievangelist-phrasing: intent: Unsubscribe contacts from all subscriptions effect: destructive questions: - How do I opt a list of contacts out of every email subscription at once? - Can I unsubscribe contacts from everything for just one business unit? instructions: - text: Unsubscribe {contacts} from all {channel} subscriptions. slots: contacts: requestBody.inputs channel: query.channel - text: Opt {contacts} out of everything on {channel} in business unit {business_unit_id}. slots: contacts: requestBody.inputs channel: query.channel business_unit_id: query.businessUnitId method: generated generated: '2026-09-24' - target: $.paths['/communication-preferences/2026-09/statuses/batch/unsubscribe-all/read'].post update: x-apievangelist-phrasing: intent: Check which contacts opted out of everything effect: read questions: - Have any of these contacts opted out of all communications? - How can I tell whether a set of contacts unsubscribed from all messages on a channel? instructions: - text: Check whether {contacts} have opted out of all {channel} communications. slots: contacts: requestBody.inputs channel: query.channel - text: See if {contacts} unsubscribed from everything in business unit {business_unit_id} on {channel}. slots: contacts: requestBody.inputs business_unit_id: query.businessUnitId channel: query.channel method: generated generated: '2026-09-24' - target: $.paths['/communication-preferences/2026-09/statuses/batch/write'].post update: x-apievangelist-phrasing: intent: Set subscription statuses for several contacts effect: write questions: - How do I subscribe or unsubscribe a list of contacts to specific subscription types? - Can I change many contacts' communication preferences in one request? instructions: - text: 'Apply these subscription status changes: {status_changes}.' slots: status_changes: requestBody.inputs - text: Update contacts' subscription statuses per {status_changes}. slots: status_changes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{fromObjectType}/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}'].put update: x-apievangelist-phrasing: intent: Link two CRM records with the default association effect: write questions: - How do I connect one CRM record to another with the standard, unlabeled association? - Can I associate a single contact with a single company without picking a label? instructions: - text: Associate {from_object_type} {from_object_id} with {to_object_type} {to_object_id} using the default association. slots: from_object_type: path.fromObjectType from_object_id: path.fromObjectId to_object_type: path.toObjectType to_object_id: path.toObjectId - text: Create a default link from record {from_object_id} ({from_object_type}) to record {to_object_id} ({to_object_type}). slots: from_object_id: path.fromObjectId from_object_type: path.fromObjectType to_object_id: path.toObjectId to_object_type: path.toObjectType method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{objectType}/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of records of any object type effect: destructive questions: - How do I archive many records of an object type I choose, like appointments, by ID? - Is there one bulk archive call that works for whichever CRM object type I name? instructions: - text: Archive {object_type} records {record_ids}. slots: object_type: path.objectType record_ids: requestBody.inputs - text: 'Move these {object_type} records to the recycling bin: {record_ids}.' slots: object_type: path.objectType record_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{objectType}/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of records of any object type effect: write questions: - Can I bulk create records for an object type I specify in the path, such as appointments? - What's the generic way to create many CRM records of a chosen type? instructions: - text: Create {object_type} records from {records}. slots: object_type: path.objectType records: requestBody.inputs - text: 'Add a batch of new {object_type} entries: {records}.' slots: object_type: path.objectType records: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{objectType}/batch/read'].post update: x-apievangelist-phrasing: intent: Read a batch of records of any object type effect: read questions: - How do I fetch many records of an object type I name, by ID or a unique property? - Can I get property history when bulk reading records of a chosen object type? instructions: - text: Read {object_type} records {record_ids} with properties {properties}. slots: object_type: path.objectType record_ids: requestBody.inputs properties: requestBody.properties - text: Fetch {object_type} records whose {id_property} is in {record_ids}, with history for {history_properties}. slots: object_type: path.objectType id_property: requestBody.idProperty record_ids: requestBody.inputs history_properties: requestBody.propertiesWithHistory method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{objectType}/batch/update'].post update: x-apievangelist-phrasing: intent: Update a batch of records of any object type effect: write questions: - How can I bulk update records for whatever CRM object type I pass in? - Is there a generic batch update that takes the object type as a parameter? instructions: - text: Update {object_type} records with {record_updates}. slots: object_type: path.objectType record_updates: requestBody.inputs - text: Apply {record_updates} to existing {object_type} entries. slots: object_type: path.objectType record_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/{objectType}/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert a batch of records of any object type effect: write questions: - Can I create-or-update records of a chosen object type keyed on a unique property? - What's the generic upsert for an object type I specify, like appointments? instructions: - text: Upsert {object_type} records {records} by their unique property. slots: object_type: path.objectType records: requestBody.inputs - text: 'Create or update these {object_type} entries, matching on a unique value: {records}.' slots: object_type: path.objectType records: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/archive'].post update: x-apievangelist-phrasing: intent: Remove all associations between record pairs effect: destructive questions: - How do I unlink many pairs of CRM records, for example contacts from companies, at once? - Can I bulk delete every association between specific records of two object types? instructions: - text: Remove associations from {from_object_type} to {to_object_type} for pairs {record_pairs}. slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType record_pairs: requestBody.inputs - text: 'Unlink these {from_object_type} records from their {to_object_type} records: {record_pairs}.' slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType record_pairs: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/associate/default'].post update: x-apievangelist-phrasing: intent: Create default associations in bulk effect: write questions: - How do I link many record pairs using just the generic, unlabeled association type? - Can I bulk associate deals to contacts without choosing association labels? instructions: - text: Create default associations from {from_object_type} to {to_object_type} for {record_pairs}. slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType record_pairs: requestBody.inputs - text: Link {record_pairs} between {from_object_type} and {to_object_type} with the most generic association. slots: record_pairs: requestBody.inputs from_object_type: path.fromObjectType to_object_type: path.toObjectType method: generated generated: '2026-09-24' - target: $.paths['/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create'].post update: x-apievangelist-phrasing: intent: Associate record pairs with labels in bulk effect: write questions: - How can I link many records with a specific association label, like primary company? - Can I apply labelled associations between two object types for lots of records at once? instructions: - text: Associate {from_object_type} to {to_object_type} with labels for {labelled_pairs}. slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType labelled_pairs: requestBody.inputs - text: 'Create these labelled links between {from_object_type} and {to_object_type} records: {labelled_pairs}.' slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType labelled_pairs: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/labels/archive'].post update: x-apievangelist-phrasing: intent: Remove specific association labels in bulk effect: destructive questions: - How do I strip one association label from record pairs but keep them linked? - What happens to labelled associations if I delete the unlabeled one between two records? instructions: - text: Delete association labels {label_removals} between {from_object_type} and {to_object_type}. slots: label_removals: requestBody.inputs from_object_type: path.fromObjectType to_object_type: path.toObjectType - text: 'Drop just these labels from {from_object_type}-to-{to_object_type} links: {label_removals}.' slots: from_object_type: path.fromObjectType to_object_type: path.toObjectType label_removals: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/read'].post update: x-apievangelist-phrasing: intent: List associated records for several records effect: read questions: - Which companies are associated with each of these contacts? - How do I page through associations when one record has too many to return at once? instructions: - text: Get the {to_object_type} records associated with {from_object_type} records {record_ids}. slots: to_object_type: path.toObjectType from_object_type: path.fromObjectType record_ids: requestBody.inputs - text: Show what each of {record_ids} ({from_object_type}) is linked to among {to_object_type}. slots: record_ids: requestBody.inputs from_object_type: path.fromObjectType to_object_type: path.toObjectType method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/calls/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of call records effect: destructive questions: - Can I delete a group of logged calls by ID and still restore them later? - What happens to call recordings when I archive call records in bulk? instructions: - text: Archive the call records {call_ids}. slots: call_ids: requestBody.inputs - text: Delete logged calls {call_ids} from the CRM. slots: call_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/calls/batch/create'].post update: x-apievangelist-phrasing: intent: Log a batch of calls effect: write questions: - How do I log many phone calls to the CRM in one request? - Can I associate each new call engagement with a contact while creating it? instructions: - text: 'Log these calls in the CRM: {calls}.' slots: calls: requestBody.inputs - text: Create call engagements with properties and associations from {calls}. slots: calls: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/calls/batch/read'].post update: x-apievangelist-phrasing: intent: Read several call records effect: read questions: - Can I pull the duration and outcome for a list of logged calls by ID? - Is it possible to look up calls by a custom unique property instead of the call ID? instructions: - text: Get calls {call_ids} with properties {properties}. slots: call_ids: requestBody.inputs properties: requestBody.properties - text: 'Fetch call records matching {id_property} values {call_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty call_ids: requestBody.inputs archived: query.archived - text: Show the value history of {history_properties} for calls {call_ids}. slots: history_properties: requestBody.propertiesWithHistory call_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/calls/batch/update'].post update: x-apievangelist-phrasing: intent: Update several call records effect: write questions: - Can I change the outcome or notes on a batch of logged calls? - What's the way to edit many existing call engagements at once? instructions: - text: Update logged calls with {call_updates}. slots: call_updates: requestBody.inputs - text: 'Change these call records'' properties: {call_updates}.' slots: call_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/calls/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert call records by a unique value effect: write questions: - Can I sync calls from my phone system so existing ones update and new ones get created? - Which call property can act as the unique key when upserting calls? instructions: - text: 'Upsert these calls using their unique property: {calls}.' slots: calls: requestBody.inputs - text: Sync phone system calls {calls} into the CRM, creating or updating as needed. slots: calls: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/carts/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of carts effect: destructive questions: - Can I archive abandoned shopping carts in bulk by ID? - What's the call to remove many cart records from the CRM at once? instructions: - text: Archive carts {cart_ids}. slots: cart_ids: requestBody.inputs - text: Remove the shopping cart records {cart_ids}. slots: cart_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/carts/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of carts effect: write questions: - How can I push many ecommerce shopping carts into the CRM with their associations? - Can I create cart records linked to contacts and line items in one request? instructions: - text: Create shopping carts from {carts}. slots: carts: requestBody.inputs - text: 'Add these store carts to the CRM with their associations: {carts}.' slots: carts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/carts/batch/read'].post update: x-apievangelist-phrasing: intent: Read several carts effect: read questions: - Can I fetch a set of shopping carts by ID along with chosen properties? - Is there a way to look up carts by my store's own unique cart identifier? instructions: - text: Get carts {cart_ids} with properties {properties}. slots: cart_ids: requestBody.inputs properties: requestBody.properties - text: Fetch shopping carts where {id_property} is one of {cart_ids}. slots: id_property: requestBody.idProperty cart_ids: requestBody.inputs - text: 'Show archived carts {cart_ids} with history for {history_properties}, archived: {archived}.' slots: cart_ids: requestBody.inputs history_properties: requestBody.propertiesWithHistory archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/carts/batch/update'].post update: x-apievangelist-phrasing: intent: Update several carts effect: write questions: - Can I change totals or status on a batch of existing carts? - What's the bulk edit call for shopping cart records? instructions: - text: Update carts with {cart_updates}. slots: cart_updates: requestBody.inputs - text: Apply {cart_updates} to existing shopping carts. slots: cart_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/carts/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert carts by a unique value effect: write questions: - Can I sync carts from my online store so matching ones update instead of duplicating? - Which unique cart property can I key an upsert on? instructions: - text: Upsert shopping carts {carts} by unique property. slots: carts: requestBody.inputs - text: Sync store carts {carts}, creating new ones and updating matches. slots: carts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/commerce_payments/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of commerce payments effect: destructive questions: - Can I archive several recorded commerce payments by ID? - What's the way to remove a set of payment records from active use? instructions: - text: Archive commerce payments {payment_ids}. slots: payment_ids: requestBody.inputs - text: Move payment records {payment_ids} to the archive. slots: payment_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/commerce_payments/batch/create'].post update: x-apievangelist-phrasing: intent: Record a batch of commerce payments effect: write questions: - How can I record many commerce payments at once and get their new IDs back? - Can I bulk import payments collected outside HubSpot as commerce payment records? instructions: - text: 'Record these commerce payments: {payments}.' slots: payments: requestBody.inputs - text: Create payment records from {payments}. slots: payments: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/commerce_payments/batch/read'].post update: x-apievangelist-phrasing: intent: Read several commerce payments effect: read questions: - Can I fetch a set of commerce payments by ID with just the properties I need? - Is it possible to see how a payment's status changed over time when reading in bulk? instructions: - text: Get commerce payments {payment_ids} with properties {properties}. slots: payment_ids: requestBody.inputs properties: requestBody.properties - text: Look up payments by {id_property} for values {payment_ids}. slots: id_property: requestBody.idProperty payment_ids: requestBody.inputs - text: 'Show history of {history_properties} for commerce payments {payment_ids}, archived: {archived}.' slots: history_properties: requestBody.propertiesWithHistory payment_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/commerce_payments/batch/update'].post update: x-apievangelist-phrasing: intent: Update several commerce payments effect: write questions: - Can I update the status or amount fields on a batch of payment records? - What's the bulk edit call for commerce payments? instructions: - text: Update commerce payments with {payment_updates}. slots: payment_updates: requestBody.inputs - text: Apply {payment_updates} to existing payment records. slots: payment_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/commerce_payments/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert commerce payments by a unique value effect: write questions: - Can I sync payments from my billing system without creating duplicates? - Which unique property should key a commerce payment upsert? instructions: - text: Upsert commerce payments {payments} by unique property. slots: payments: requestBody.inputs - text: Sync billing payments {payments}, updating matches and creating the rest. slots: payments: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/communications/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of logged messages effect: destructive questions: - Can I delete logged SMS, WhatsApp or LinkedIn messages in bulk and restore them later? - How long can deleted communication records be recovered? instructions: - text: Archive communications {message_ids}. slots: message_ids: requestBody.inputs - text: Delete the logged messages {message_ids}. slots: message_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/communications/batch/create'].post update: x-apievangelist-phrasing: intent: Log a batch of messages as communications effect: write questions: - How can I log many text or social messages against contacts at once? - Can I set properties like channel type when creating communication records in bulk? instructions: - text: 'Log these messages as communications: {messages}.' slots: messages: requestBody.inputs - text: Create communication records with properties and associations from {messages}. slots: messages: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/communications/batch/read'].post update: x-apievangelist-phrasing: intent: Read several logged messages effect: read questions: - Can I pull a set of communication records by communicationId? - Is it possible to fetch logged messages by my own unique message identifier? instructions: - text: Get communications {message_ids} with properties {properties}. slots: message_ids: requestBody.inputs properties: requestBody.properties - text: Fetch logged messages where {id_property} is in {message_ids}. slots: id_property: requestBody.idProperty message_ids: requestBody.inputs - text: 'Show history for {history_properties} on communications {message_ids}, archived: {archived}.' slots: history_properties: requestBody.propertiesWithHistory message_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/communications/batch/update'].post update: x-apievangelist-phrasing: intent: Update several logged messages effect: write questions: - Can I edit the body or channel on a batch of logged communications? - Will updating communications overwrite existing property values? instructions: - text: Update communications with {message_updates}. slots: message_updates: requestBody.inputs - text: Overwrite properties on logged messages per {message_updates}. slots: message_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/communications/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert logged messages by a unique value effect: write questions: - Can I sync messages from my messaging tool so repeats update instead of duplicating? - Which unique property keys a communications upsert? instructions: - text: Upsert communications {messages} by unique property. slots: messages: requestBody.inputs - text: Sync logged texts {messages}, creating or updating each one. slots: messages: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/companies/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete a batch of companies effect: destructive questions: - Can I delete many companies at once and restore them within 90 days? - How do I bulk remove duplicate company records by ID? instructions: - text: Archive companies {company_ids}. slots: company_ids: requestBody.inputs - text: Delete the company records {company_ids}. slots: company_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/companies/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of companies effect: write questions: - Can I import a list of companies with their properties in one request? - What's the fastest way to add many new company records to the CRM? instructions: - text: Create companies from {companies}. slots: companies: requestBody.inputs - text: 'Add these businesses as company records: {companies}.' slots: companies: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/companies/batch/read'].post update: x-apievangelist-phrasing: intent: Read several companies effect: read questions: - Can I fetch a list of companies by companyId with only the fields I choose? - Is it possible to look up companies by domain or another unique property? instructions: - text: Get companies {company_ids} with properties {properties}. slots: company_ids: requestBody.inputs properties: requestBody.properties - text: Look up companies whose {id_property} matches {company_ids}. slots: id_property: requestBody.idProperty company_ids: requestBody.inputs - text: 'Show the history of {history_properties} for companies {company_ids}, archived: {archived}.' slots: history_properties: requestBody.propertiesWithHistory company_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/companies/batch/update'].post update: x-apievangelist-phrasing: intent: Update several companies effect: write questions: - Can I change industry or owner on many companies in one call? - What's the bulk edit for existing company records by ID? instructions: - text: Update companies with {company_updates}. slots: company_updates: requestBody.inputs - text: Apply {company_updates} to our company records. slots: company_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/companies/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert companies by a unique value effect: write questions: - Can I sync companies from another system and update the ones that already exist? - Which unique company property can I use as the match key for an upsert? instructions: - text: Upsert companies {companies} by unique property. slots: companies: requestBody.inputs - text: Sync company records {companies}, creating new and updating matches. slots: companies: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contacts/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of contacts effect: destructive questions: - Can I archive many contacts by ID and still restore them within 90 days? - What data is affected when contacts get deleted in bulk? instructions: - text: Archive contacts {contact_ids}. slots: contact_ids: requestBody.inputs - text: 'Delete these people from the CRM: {contact_ids}.' slots: contact_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contacts/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of contacts effect: write questions: - How do I import a list of new contacts with their properties in one request? - Can I associate new contacts with companies as I create them? instructions: - text: Create contacts from {contacts}. slots: contacts: requestBody.inputs - text: 'Add these people as new contacts with associations: {contacts}.' slots: contacts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contacts/batch/read'].post update: x-apievangelist-phrasing: intent: Read several contacts effect: read questions: - Can I fetch a batch of contacts by email instead of contact ID? - Which properties come back when I read many contacts at once? instructions: - text: Get contacts {contact_ids} with properties {properties}. slots: contact_ids: requestBody.inputs properties: requestBody.properties - text: Look up contacts by {id_property} for {contact_ids}. slots: id_property: requestBody.idProperty contact_ids: requestBody.inputs - text: 'Show how {history_properties} changed for contacts {contact_ids}, archived: {archived}.' slots: history_properties: requestBody.propertiesWithHistory contact_ids: requestBody.inputs archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contacts/batch/update'].post update: x-apievangelist-phrasing: intent: Update several contacts effect: write questions: - Can I change lifecycle stage or owner on a list of contacts by email? - Will a bulk contact update overwrite values that are already set? instructions: - text: Update contacts with {contact_updates}. slots: contact_updates: requestBody.inputs - text: 'Overwrite these contact properties: {contact_updates}.' slots: contact_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contacts/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert contacts by email or unique value effect: write questions: - Can I sync a contact list so existing people update and new ones get added? - What's the way to avoid duplicate contacts when importing by email? instructions: - text: Upsert contacts {contacts} by their unique property. slots: contacts: requestBody.inputs - text: Sync people {contacts} into contacts, updating matches by email. slots: contacts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/contracts/batch/read'].post update: x-apievangelist-phrasing: intent: Read several contracts effect: read questions: - Can I fetch a list of contract records by ID? - Is it possible to look up contracts by a custom unique property? instructions: - text: Get contracts {contract_ids} with properties {properties}. slots: contract_ids: requestBody.inputs properties: requestBody.properties - text: 'Look up contracts by {id_property} for {contract_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty contract_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for contracts {contract_ids}. slots: history_properties: requestBody.propertiesWithHistory contract_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-410/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of courses effect: destructive questions: - Can I archive several course records by ID? - What's the call to retire many courses from the CRM at once? instructions: - text: Archive courses {course_ids}. slots: course_ids: requestBody.inputs - text: 'Retire these course records: {course_ids}.' slots: course_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-410/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of courses effect: write questions: - How can I add a catalog of courses to the CRM at once? - Can I create several course records in a single request? instructions: - text: Create courses from {courses}. slots: courses: requestBody.inputs - text: 'Add these classes as course records: {courses}.' slots: courses: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-410/batch/read'].post update: x-apievangelist-phrasing: intent: Read several courses effect: read questions: - Can I fetch a list of courses by ID with the properties I choose? - Is there a way to look up courses by a unique course code? instructions: - text: Get courses {course_ids} with properties {properties}. slots: course_ids: requestBody.inputs properties: requestBody.properties - text: 'Find courses by {id_property} for {course_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty course_ids: requestBody.inputs archived: query.archived - text: Show value history of {history_properties} on courses {course_ids}. slots: history_properties: requestBody.propertiesWithHistory course_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-410/batch/update'].post update: x-apievangelist-phrasing: intent: Update several courses effect: write questions: - Can I edit details on many course records together? - What's the bulk update for existing courses? instructions: - text: Update courses with {course_updates}. slots: course_updates: requestBody.inputs - text: Apply {course_updates} to our course catalog records. slots: course_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-410/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert courses by a unique value effect: write questions: - Can I sync courses from our learning system and update existing ones? - Which unique property keys a course upsert? instructions: - text: Upsert courses {courses} by unique property. slots: courses: requestBody.inputs - text: Sync learning system courses {courses}, creating or updating each. slots: courses: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/deal-splits/2026-09/batch/read'].post update: x-apievangelist-phrasing: intent: Read deal splits for several deals effect: read questions: - How is credit split between owners on each of these deals? - Can I see the deal split percentages for a list of deal IDs? instructions: - text: Get the deal splits for deals {deal_ids}. slots: deal_ids: requestBody.inputs - text: Show how revenue credit is divided among owners on {deal_ids}. slots: deal_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/deal-splits/2026-09/batch/upsert'].post update: x-apievangelist-phrasing: intent: Set or replace deal splits on deals effect: write questions: - Do deal split percentages have to add up to 100%? - Can I replace the owner revenue split on several deals at once? instructions: - text: 'Set these deal splits, replacing any existing ones: {splits}.' slots: splits: requestBody.inputs - text: Split credit on the deals as {splits}, with each deal totaling 100%. slots: splits: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-3/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of deals effect: destructive questions: - Can I archive several lost or duplicate deals by ID? - What's the bulk call to remove deals from the pipeline records? instructions: - text: Archive deals {deal_ids}. slots: deal_ids: requestBody.inputs - text: 'Remove these deals from the CRM: {deal_ids}.' slots: deal_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-3/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of deals effect: write questions: - How can I open many new deals in the pipeline with one request? - Can I set amount and stage on each deal while creating them in bulk? instructions: - text: Create deals from {deals}. slots: deals: requestBody.inputs - text: 'Open these new sales opportunities as deals: {deals}.' slots: deals: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-3/batch/read'].post update: x-apievangelist-phrasing: intent: Read several deals effect: read questions: - Can I fetch the stage and amount for a list of deals by ID? - Is there a way to track how a deal's stage changed when reading deals in bulk? instructions: - text: Get deals {deal_ids} with properties {properties}. slots: deal_ids: requestBody.inputs properties: requestBody.properties - text: 'Look up deals by {id_property} for {deal_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty deal_ids: requestBody.inputs archived: query.archived - text: Show the stage history in {history_properties} for deals {deal_ids}. slots: history_properties: requestBody.propertiesWithHistory deal_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-3/batch/update'].post update: x-apievangelist-phrasing: intent: Update several deals effect: write questions: - Can I move many deals to a new pipeline stage in one call? - What's the bulk edit for existing deal amounts or close dates? instructions: - text: Update deals with {deal_updates}. slots: deal_updates: requestBody.inputs - text: 'Move these deals forward and change their fields: {deal_updates}.' slots: deal_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-3/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert deals by a unique value effect: write questions: - Can I sync opportunities from another system so existing deals update? - Which unique deal property can key an upsert? instructions: - text: Upsert deals {deals} by unique property. slots: deals: requestBody.inputs - text: Sync opportunities {deals} into deals, creating or updating each. slots: deals: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/discounts/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of discounts effect: destructive questions: - Can I archive several discount records by ID? - What's the call to retire a set of discounts at once? instructions: - text: Archive discounts {discount_ids}. slots: discount_ids: requestBody.inputs - text: 'Retire these discount records: {discount_ids}.' slots: discount_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/discounts/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of discounts effect: write questions: - How can I set up several discounts for quotes in one request? - Can I create multiple discount records together? instructions: - text: Create discounts from {discounts}. slots: discounts: requestBody.inputs - text: 'Add these price reductions as discount records: {discounts}.' slots: discounts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/discounts/batch/read'].post update: x-apievangelist-phrasing: intent: Read several discounts effect: read questions: - Can I fetch a set of discounts by ID with chosen properties? - Is it possible to look up discounts by a unique code property? instructions: - text: Get discounts {discount_ids} with properties {properties}. slots: discount_ids: requestBody.inputs properties: requestBody.properties - text: 'Find discounts whose {id_property} is in {discount_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty discount_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} on discounts {discount_ids}. slots: history_properties: requestBody.propertiesWithHistory discount_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/discounts/batch/update'].post update: x-apievangelist-phrasing: intent: Update several discounts effect: write questions: - Can I change the value on many existing discounts at once? - What's the bulk edit for discount records? instructions: - text: Update discounts with {discount_updates}. slots: discount_updates: requestBody.inputs - text: Apply {discount_updates} to existing discount records. slots: discount_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/discounts/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert discounts by a unique value effect: write questions: - Can I sync discounts so ones that already exist get updated? - Which unique property keys a discount upsert? instructions: - text: Upsert discounts {discounts} by unique property. slots: discounts: requestBody.inputs - text: Sync discount records {discounts}, creating new and updating matches. slots: discounts: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/emails/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of logged emails effect: destructive questions: - Can I remove several logged email engagements from contact timelines by ID? - What's the bulk archive for email activity records? instructions: - text: Archive logged emails {email_ids}. slots: email_ids: requestBody.inputs - text: 'Delete these email engagements from the CRM: {email_ids}.' slots: email_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/emails/batch/create'].post update: x-apievangelist-phrasing: intent: Log a batch of emails to the CRM effect: write questions: - How can I log many one-to-one emails against contacts at once? - Can I record sent emails as CRM activities in bulk? instructions: - text: 'Log these emails as CRM engagements: {emails}.' slots: emails: requestBody.inputs - text: Create email activity records from {emails}. slots: emails: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/emails/batch/read'].post update: x-apievangelist-phrasing: intent: Read several logged emails effect: read questions: - Can I fetch the subject and body of several logged emails by ID? - Is there a way to look up email engagements by a unique property? instructions: - text: Get logged emails {email_ids} with properties {properties}. slots: email_ids: requestBody.inputs properties: requestBody.properties - text: 'Find email engagements by {id_property} for {email_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty email_ids: requestBody.inputs archived: query.archived - text: Show history for {history_properties} on logged emails {email_ids}. slots: history_properties: requestBody.propertiesWithHistory email_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/emails/batch/update'].post update: x-apievangelist-phrasing: intent: Update several logged emails effect: write questions: - Can I edit properties on a batch of email engagements? - What's the bulk update for logged email activities? instructions: - text: Update logged emails with {email_updates}. slots: email_updates: requestBody.inputs - text: Apply {email_updates} to these email engagement records. slots: email_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/emails/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert logged emails by a unique value effect: write questions: - Can I sync emails from my mail system so existing engagements update? - Which unique property should key an email engagement upsert? instructions: - text: Upsert logged emails {emails} by unique property. slots: emails: requestBody.inputs - text: Sync mailbox emails {emails} into engagements, creating or updating. slots: emails: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/feedback_submissions/batch/read'].post update: x-apievangelist-phrasing: intent: Read several feedback submissions effect: read questions: - Can I pull the survey responses for a list of feedback submission IDs? - Is it possible to fetch feedback submissions by a unique property? instructions: - text: Get feedback submissions {submission_ids} with properties {properties}. slots: submission_ids: requestBody.inputs properties: requestBody.properties - text: 'Find survey responses by {id_property} for {submission_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty submission_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for feedback submissions {submission_ids}. slots: history_properties: requestBody.propertiesWithHistory submission_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/fees/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of fees effect: destructive questions: - Can I move several fee records to the recycling bin by ID? - What's the bulk archive for fees? instructions: - text: Archive fees {fee_ids}. slots: fee_ids: requestBody.inputs - text: 'Send these fee records to the recycling bin: {fee_ids}.' slots: fee_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/fees/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of fees effect: write questions: - How can I add several fees, like shipping or service charges, in one request? - Can I associate new fees with quotes while creating them? instructions: - text: Create fees from {fees}. slots: fees: requestBody.inputs - text: 'Add these charges as fee records with associations: {fees}.' slots: fees: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/fees/batch/read'].post update: x-apievangelist-phrasing: intent: Read several fees effect: read questions: - Can I fetch a set of fee records by ID? - Is there a way to look up fees by a custom unique property? instructions: - text: Get fees {fee_ids} with properties {properties}. slots: fee_ids: requestBody.inputs properties: requestBody.properties - text: 'Find fees by {id_property} for {fee_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty fee_ids: requestBody.inputs archived: query.archived - text: Show value history of {history_properties} on fees {fee_ids}. slots: history_properties: requestBody.propertiesWithHistory fee_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/fees/batch/update'].post update: x-apievangelist-phrasing: intent: Update several fees effect: write questions: - Can I change the amount on many fee records at once? - What's the bulk edit for existing fees? instructions: - text: Update fees with {fee_updates}. slots: fee_updates: requestBody.inputs - text: Apply {fee_updates} to our fee records. slots: fee_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/fees/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert fees by a unique value effect: write questions: - Can I sync fees so matching records update instead of duplicating? - Which unique property keys a fee upsert? instructions: - text: Upsert fees {fees} by unique property. slots: fees: requestBody.inputs - text: Sync fee records {fees}, creating new and updating matches. slots: fees: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/goal_targets/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of goal targets effect: destructive questions: - Can I archive several sales goal targets by ID? - What's the bulk archive for goal targets? instructions: - text: Archive goal targets {goal_target_ids}. slots: goal_target_ids: requestBody.inputs - text: 'Retire these quota targets: {goal_target_ids}.' slots: goal_target_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/goal_targets/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of goal targets effect: write questions: - How can I set quota targets for a whole sales team in one request? - Can I create multiple goal targets at once? instructions: - text: Create goal targets from {goal_targets}. slots: goal_targets: requestBody.inputs - text: 'Set up these team quota targets: {goal_targets}.' slots: goal_targets: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/goal_targets/batch/read'].post update: x-apievangelist-phrasing: intent: Read several goal targets effect: read questions: - Can I fetch a list of goal targets by ID? - Is there a way to see how a target value changed over time? instructions: - text: Get goal targets {goal_target_ids} with properties {properties}. slots: goal_target_ids: requestBody.inputs properties: requestBody.properties - text: 'Find goal targets by {id_property} for {goal_target_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty goal_target_ids: requestBody.inputs archived: query.archived - text: Show how {history_properties} changed for goal targets {goal_target_ids}. slots: history_properties: requestBody.propertiesWithHistory goal_target_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/goal_targets/batch/update'].post update: x-apievangelist-phrasing: intent: Update several goal targets effect: write questions: - Can I raise quota values on many goal targets together? - What's the bulk update for existing goal targets? instructions: - text: Update goal targets with {goal_target_updates}. slots: goal_target_updates: requestBody.inputs - text: 'Adjust these quota targets: {goal_target_updates}.' slots: goal_target_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/goal_targets/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert goal targets by a unique value effect: write questions: - Can I sync goal targets so existing ones update? - Which unique property keys a goal target upsert? instructions: - text: Upsert goal targets {goal_targets} by unique property. slots: goal_targets: requestBody.inputs - text: Sync quota targets {goal_targets}, creating or updating each. slots: goal_targets: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/invoices/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of invoices effect: destructive questions: - Can I archive several invoices by ID in one request? - What's the bulk call to remove invoices from active use? instructions: - text: Archive invoices {invoice_ids}. slots: invoice_ids: requestBody.inputs - text: 'Move these invoices to the archive: {invoice_ids}.' slots: invoice_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/invoices/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of invoices effect: write questions: - How can I generate many invoices at once and get their details back? - Can I create invoices with associations to contacts and line items in bulk? instructions: - text: Create invoices from {invoices}. slots: invoices: requestBody.inputs - text: 'Issue these new invoice records: {invoices}.' slots: invoices: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/invoices/batch/read'].post update: x-apievangelist-phrasing: intent: Read several invoices effect: read questions: - Can I fetch the status and amount due for a list of invoices? - Is it possible to look up invoices by my own invoice number property? instructions: - text: Get invoices {invoice_ids} with properties {properties}. slots: invoice_ids: requestBody.inputs properties: requestBody.properties - text: 'Find invoices by {id_property} for {invoice_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty invoice_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} on invoices {invoice_ids}. slots: history_properties: requestBody.propertiesWithHistory invoice_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/invoices/batch/update'].post update: x-apievangelist-phrasing: intent: Update several invoices effect: write questions: - Can I change due dates on many invoices at once? - What's the bulk edit for existing invoice records? instructions: - text: Update invoices with {invoice_updates}. slots: invoice_updates: requestBody.inputs - text: Apply {invoice_updates} to these invoice records. slots: invoice_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/invoices/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert invoices by a unique value effect: write questions: - Can I sync invoices from my accounting system without duplicates? - Which unique property keys an invoice upsert? instructions: - text: Upsert invoices {invoices} by unique property. slots: invoices: requestBody.inputs - text: Sync accounting invoices {invoices}, creating or updating each. slots: invoices: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/leads/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of leads effect: destructive questions: - Can I move several leads to the recycling bin by ID? - What's the bulk archive for disqualified leads? instructions: - text: Archive leads {lead_ids}. slots: lead_ids: requestBody.inputs - text: 'Send these lead records to the recycling bin: {lead_ids}.' slots: lead_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/leads/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of leads effect: write questions: - How can I add many new leads for the sales team in one request? - Can I create lead records linked to contacts in bulk? instructions: - text: Create leads from {leads}. slots: leads: requestBody.inputs - text: 'Add these prospects as lead records: {leads}.' slots: leads: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/leads/batch/read'].post update: x-apievangelist-phrasing: intent: Read several leads effect: read questions: - Can I fetch the status of a list of leads by ID? - Is there a way to look up leads by a unique property? instructions: - text: Get leads {lead_ids} with properties {properties}. slots: lead_ids: requestBody.inputs properties: requestBody.properties - text: 'Find leads by {id_property} for {lead_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty lead_ids: requestBody.inputs archived: query.archived - text: Show how {history_properties} changed on leads {lead_ids}. slots: history_properties: requestBody.propertiesWithHistory lead_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/leads/batch/update'].post update: x-apievangelist-phrasing: intent: Update several leads effect: write questions: - Can I change the stage or owner on many leads together? - What's the bulk edit for existing lead records? instructions: - text: Update leads with {lead_updates}. slots: lead_updates: requestBody.inputs - text: Apply {lead_updates} to our lead records. slots: lead_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/leads/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert leads by a unique value effect: write questions: - Can I sync leads so existing ones are updated instead of duplicated? - Which unique property keys a lead upsert? instructions: - text: Upsert leads {leads} by unique property. slots: leads: requestBody.inputs - text: Sync prospect records {leads} into leads, creating or updating. slots: leads: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/line_items/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of line items effect: destructive questions: - Can I archive several line items by ID at once? - What's the bulk call to remove line items from deals or quotes? instructions: - text: Archive line items {line_item_ids}. slots: line_item_ids: requestBody.inputs - text: 'Remove these line item records: {line_item_ids}.' slots: line_item_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/line_items/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of line items effect: write questions: - How can I add several products as line items on a deal in one request? - Can I set quantity and price on each new line item in bulk? instructions: - text: Create line items from {line_items}. slots: line_items: requestBody.inputs - text: 'Add these products as line items with associations: {line_items}.' slots: line_items: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/line_items/batch/read'].post update: x-apievangelist-phrasing: intent: Read several line items effect: read questions: - Can I fetch quantity and price for a list of line items by ID? - Is it possible to look up line items by a unique property? instructions: - text: Get line items {line_item_ids} with properties {properties}. slots: line_item_ids: requestBody.inputs properties: requestBody.properties - text: 'Find line items by {id_property} for {line_item_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty line_item_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for line items {line_item_ids}. slots: history_properties: requestBody.propertiesWithHistory line_item_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/line_items/batch/update'].post update: x-apievangelist-phrasing: intent: Update several line items effect: write questions: - Can I change quantities or discounts on many line items together? - What's the bulk edit for existing line items? instructions: - text: Update line items with {line_item_updates}. slots: line_item_updates: requestBody.inputs - text: Apply {line_item_updates} to these line item records. slots: line_item_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/line_items/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert line items by a unique value effect: write questions: - Can I sync order lines so existing line items update? - Which unique property keys a line item upsert? instructions: - text: Upsert line items {line_items} by unique property. slots: line_items: requestBody.inputs - text: Sync order lines {line_items} into line items, creating or updating. slots: line_items: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-420/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of listings effect: destructive questions: - Can I archive several property listings by ID? - What's the bulk archive for listing records? instructions: - text: Archive listings {listing_ids}. slots: listing_ids: requestBody.inputs - text: 'Take these listing records off the CRM: {listing_ids}.' slots: listing_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-420/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of listings effect: write questions: - How can I add many real estate listings in one request? - Can I create several listing records at once? instructions: - text: Create listings from {listings}. slots: listings: requestBody.inputs - text: 'Add these properties for sale as listing records: {listings}.' slots: listings: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-420/batch/read'].post update: x-apievangelist-phrasing: intent: Read several listings effect: read questions: - Can I fetch a set of listings by ID with chosen properties? - Is there a way to look up listings by an MLS number or other unique property? instructions: - text: Get listings {listing_ids} with properties {properties}. slots: listing_ids: requestBody.inputs properties: requestBody.properties - text: 'Find listings by {id_property} for {listing_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty listing_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for listings {listing_ids}. slots: history_properties: requestBody.propertiesWithHistory listing_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-420/batch/update'].post update: x-apievangelist-phrasing: intent: Update several listings effect: write questions: - Can I change the price or status on many listings together? - What's the bulk edit for listing records? instructions: - text: Update listings with {listing_updates}. slots: listing_updates: requestBody.inputs - text: Apply {listing_updates} to our listing records. slots: listing_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-420/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert listings by a unique value effect: write questions: - Can I sync listings from a property feed so matches update? - Which unique property keys a listing upsert? instructions: - text: Upsert listings {listings} by unique property. slots: listings: requestBody.inputs - text: Sync feed listings {listings}, creating new and updating matches. slots: listings: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/lists/2026-03/records/memberships/batch/read'].post update: x-apievangelist-phrasing: intent: Check list memberships for several records effect: read questions: - Which lists does each of these CRM records belong to? - Can I look up list memberships for a batch of records at once? instructions: - text: Get the list memberships for records {records}. slots: records: requestBody.inputs - text: Show which lists include each of {records}. slots: records: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/meetings/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete a batch of meetings effect: destructive questions: - Can I remove several logged meetings by ID? - What's the bulk delete for meeting engagements? instructions: - text: Archive meetings {meeting_ids}. slots: meeting_ids: requestBody.inputs - text: 'Delete these meeting records: {meeting_ids}.' slots: meeting_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/meetings/batch/create'].post update: x-apievangelist-phrasing: intent: Log a batch of meetings effect: write questions: - How can I log several meetings with their times and attendees in one request? - Can I associate new meetings with contacts while creating them in bulk? instructions: - text: 'Log these meetings in the CRM: {meetings}.' slots: meetings: requestBody.inputs - text: Create meeting engagements from {meetings}. slots: meetings: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/meetings/batch/read'].post update: x-apievangelist-phrasing: intent: Read several meetings effect: read questions: - Can I fetch the start time and outcome for a list of meetings? - Is there a way to look up meetings by a unique property instead of ID? instructions: - text: Get meetings {meeting_ids} with properties {properties}. slots: meeting_ids: requestBody.inputs properties: requestBody.properties - text: 'Find meetings by {id_property} for {meeting_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty meeting_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for meetings {meeting_ids}. slots: history_properties: requestBody.propertiesWithHistory meeting_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/meetings/batch/update'].post update: x-apievangelist-phrasing: intent: Update several meetings effect: write questions: - Can I change outcomes on many logged meetings at once? - Will updating meetings in bulk overwrite existing values? instructions: - text: Update meetings with {meeting_updates}. slots: meeting_updates: requestBody.inputs - text: 'Overwrite fields on these meetings: {meeting_updates}.' slots: meeting_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/meetings/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert meetings by a unique value effect: write questions: - Can I sync meetings from my calendar tool so existing ones update? - Which unique property keys a meeting upsert? instructions: - text: Upsert meetings {meetings} by unique property. slots: meetings: requestBody.inputs - text: Sync calendar meetings {meetings}, creating or updating each. slots: meetings: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/notes/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of notes effect: destructive questions: - Can I move several notes to the recycling bin by ID? - What's the bulk archive for CRM notes? instructions: - text: Archive notes {note_ids}. slots: note_ids: requestBody.inputs - text: 'Send these notes to the recycling bin: {note_ids}.' slots: note_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/notes/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of notes effect: write questions: - How can I add notes to many records in one request? - Can I attach a batch of new notes to contacts or deals? instructions: - text: Create notes from {notes}. slots: notes: requestBody.inputs - text: 'Add these notes to the CRM: {notes}.' slots: notes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/notes/batch/read'].post update: x-apievangelist-phrasing: intent: Read several notes effect: read questions: - Can I fetch the body of several notes by ID? - Is there a way to look up notes by a unique property? instructions: - text: Get notes {note_ids} with properties {properties}. slots: note_ids: requestBody.inputs properties: requestBody.properties - text: 'Find notes by {id_property} for {note_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty note_ids: requestBody.inputs archived: query.archived - text: Show edit history of {history_properties} on notes {note_ids}. slots: history_properties: requestBody.propertiesWithHistory note_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/notes/batch/update'].post update: x-apievangelist-phrasing: intent: Update several notes effect: write questions: - Can I edit the text of many notes at once? - What's the bulk update for existing notes? instructions: - text: Update notes with {note_updates}. slots: note_updates: requestBody.inputs - text: 'Rewrite these notes: {note_updates}.' slots: note_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/notes/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert notes by a unique value effect: write questions: - Can I sync notes from another tool so existing ones update? - Which unique property keys a note upsert? instructions: - text: Upsert notes {notes} by unique property. slots: notes: requestBody.inputs - text: Sync external notes {notes}, creating or updating each. slots: notes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/orders/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of orders effect: destructive questions: - Can I archive several ecommerce orders by ID? - What's the bulk archive for order records? instructions: - text: Archive orders {order_ids}. slots: order_ids: requestBody.inputs - text: 'Remove these order records: {order_ids}.' slots: order_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/orders/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of orders effect: write questions: - How can I import many store orders into the CRM at once? - Can I create several order records in a single request? instructions: - text: Create orders from {orders}. slots: orders: requestBody.inputs - text: 'Add these purchases as order records: {orders}.' slots: orders: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/orders/batch/read'].post update: x-apievangelist-phrasing: intent: Read several orders effect: read questions: - Can I fetch a set of orders by ID with the fields I choose? - Is it possible to look up orders by my store's order number? instructions: - text: Get orders {order_ids} with properties {properties}. slots: order_ids: requestBody.inputs properties: requestBody.properties - text: 'Find orders by {id_property} for {order_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty order_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for orders {order_ids}. slots: history_properties: requestBody.propertiesWithHistory order_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/orders/batch/update'].post update: x-apievangelist-phrasing: intent: Update several orders effect: write questions: - Can I change fulfillment status on many orders together? - What's the bulk edit for existing orders? instructions: - text: Update orders with {order_updates}. slots: order_updates: requestBody.inputs - text: Apply {order_updates} to these order records. slots: order_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/orders/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert orders by a unique value effect: write questions: - Can I sync orders from my store so existing ones update? - Which unique property keys an order upsert? instructions: - text: Upsert orders {orders} by unique property. slots: orders: requestBody.inputs - text: Sync store orders {orders}, creating new and updating matches. slots: orders: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/partner_clients/batch/read'].post update: x-apievangelist-phrasing: intent: Read several partner client records effect: read questions: - Can I fetch data for many of my partner clients in one request? - Is there a way to look up partner clients by a unique property? instructions: - text: Get partner clients {client_ids} with properties {properties}. slots: client_ids: requestBody.inputs properties: requestBody.properties - text: 'Find partner clients by {id_property} for {client_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty client_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} on partner clients {client_ids}. slots: history_properties: requestBody.propertiesWithHistory client_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/partner_clients/batch/update'].post update: x-apievangelist-phrasing: intent: Update several partner client records effect: write questions: - Can I sync changes to many partner client records at once? - What's the bulk edit for partner clients from my agency system? instructions: - text: Update partner clients with {client_updates}. slots: client_updates: requestBody.inputs - text: 'Sync these changes onto partner client records: {client_updates}.' slots: client_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/partner_services/batch/read'].post update: x-apievangelist-phrasing: intent: Read several partner services effect: read questions: - Can I fetch a list of partner services by ID? - Is it possible to look up partner services by a unique property? instructions: - text: Get partner services {partner_service_ids} with properties {properties}. slots: partner_service_ids: requestBody.inputs properties: requestBody.properties - text: 'Find partner services by {id_property} for {partner_service_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty partner_service_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for partner services {partner_service_ids}. slots: history_properties: requestBody.propertiesWithHistory partner_service_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/partner_services/batch/update'].post update: x-apievangelist-phrasing: intent: Update several partner services effect: write questions: - Can I edit many partner service records at once? - What's the bulk update for partner services? instructions: - text: Update partner services with {partner_service_updates}. slots: partner_service_updates: requestBody.inputs - text: Apply {partner_service_updates} to our partner service records. slots: partner_service_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/postal_mail/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of postal mail records effect: destructive questions: - Can I archive several logged postal mail records by ID? - What's the bulk archive for direct mail activities? instructions: - text: Archive postal mail records {mail_ids}. slots: mail_ids: requestBody.inputs - text: 'Remove these logged letters from the CRM: {mail_ids}.' slots: mail_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/postal_mail/batch/create'].post update: x-apievangelist-phrasing: intent: Log a batch of postal mail effect: write questions: - How can I log many letters or direct mail pieces sent to contacts? - Can I create several postal mail records in one request? instructions: - text: 'Log these postal mail pieces: {mail_pieces}.' slots: mail_pieces: requestBody.inputs - text: Create postal mail records from {mail_pieces}. slots: mail_pieces: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/postal_mail/batch/read'].post update: x-apievangelist-phrasing: intent: Read several postal mail records effect: read questions: - Can I fetch a set of logged postal mail records by ID? - Is there a way to look up postal mail by a unique property? instructions: - text: Get postal mail records {mail_ids} with properties {properties}. slots: mail_ids: requestBody.inputs properties: requestBody.properties - text: 'Find postal mail by {id_property} for {mail_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty mail_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for postal mail {mail_ids}. slots: history_properties: requestBody.propertiesWithHistory mail_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/postal_mail/batch/update'].post update: x-apievangelist-phrasing: intent: Update several postal mail records effect: write questions: - Can I edit many logged postal mail records at once? - What's the bulk update for direct mail activities? instructions: - text: Update postal mail records with {mail_updates}. slots: mail_updates: requestBody.inputs - text: Apply {mail_updates} to these logged letters. slots: mail_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/postal_mail/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert postal mail by a unique value effect: write questions: - Can I sync mailings from a print vendor so existing records update? - Which unique property keys a postal mail upsert? instructions: - text: Upsert postal mail {mail_pieces} by unique property. slots: mail_pieces: requestBody.inputs - text: Sync printed mailings {mail_pieces}, creating or updating each. slots: mail_pieces: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-09/{objectType}/batch/read'].post update: x-apievangelist-phrasing: intent: Read price book items or other objects in bulk effect: read questions: - Can I fetch a batch of price book items by internal ID on the 2026-09 objects endpoint? - Which object types, like price book items, can this newer batch read take in its path? instructions: - text: Read price book items of type {object_type} with IDs {record_ids}. slots: object_type: path.objectType record_ids: requestBody.inputs - text: On the 2026-09 endpoint, fetch {object_type} objects {record_ids} returning {properties}. slots: object_type: path.objectType record_ids: requestBody.inputs properties: requestBody.properties - text: 'Get {object_type} items keyed by {id_property} with history for {history_properties}, archived: {archived}.' slots: object_type: path.objectType id_property: requestBody.idProperty history_properties: requestBody.propertiesWithHistory archived: query.archived method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/products/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of products effect: destructive questions: - Can I move several products out of the product library by ID? - What's the bulk archive for products? instructions: - text: Archive products {product_ids}. slots: product_ids: requestBody.inputs - text: 'Send these products to the recycling bin: {product_ids}.' slots: product_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/products/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of products effect: write questions: - How can I load my product catalog into the product library at once? - Can I create many products with prices and SKUs in one request? instructions: - text: Create products from {products}. slots: products: requestBody.inputs - text: 'Add these items to the product library: {products}.' slots: products: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/products/batch/read'].post update: x-apievangelist-phrasing: intent: Read several products effect: read questions: - Can I fetch price and SKU for a list of products by ID? - Is it possible to look up products by SKU or another unique property? instructions: - text: Get products {product_ids} with properties {properties}. slots: product_ids: requestBody.inputs properties: requestBody.properties - text: 'Find products by {id_property} for {product_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty product_ids: requestBody.inputs archived: query.archived - text: Show price history in {history_properties} for products {product_ids}. slots: history_properties: requestBody.propertiesWithHistory product_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/products/batch/update'].post update: x-apievangelist-phrasing: intent: Update several products effect: write questions: - Can I change prices on many products in the library at once? - What's the bulk edit for existing products? instructions: - text: Update products with {product_updates}. slots: product_updates: requestBody.inputs - text: Apply {product_updates} to our product library. slots: product_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/products/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert products by a unique value effect: write questions: - Can I sync my catalog so existing products update by SKU? - Which unique property keys a product upsert? instructions: - text: Upsert products {products} by unique property. slots: products: requestBody.inputs - text: Sync catalog items {products} into the library, creating or updating. slots: products: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/projects/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of projects effect: destructive questions: - Can I archive several completed projects by ID? - What's the bulk archive for project records? instructions: - text: Archive projects {project_ids}. slots: project_ids: requestBody.inputs - text: 'Close out these project records: {project_ids}.' slots: project_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/projects/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of projects effect: write questions: - How can I set up several new client projects in one request? - Can I create multiple project records together? instructions: - text: Create projects from {projects}. slots: projects: requestBody.inputs - text: 'Start these new project records: {projects}.' slots: projects: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/projects/batch/read'].post update: x-apievangelist-phrasing: intent: Read several projects effect: read questions: - Can I fetch a set of projects by ID with chosen fields? - Is there a way to look up projects by a unique property? instructions: - text: Get projects {project_ids} with properties {properties}. slots: project_ids: requestBody.inputs properties: requestBody.properties - text: 'Find projects by {id_property} for {project_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty project_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for projects {project_ids}. slots: history_properties: requestBody.propertiesWithHistory project_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/projects/batch/update'].post update: x-apievangelist-phrasing: intent: Update several projects effect: write questions: - Can I change status or due dates on many projects together? - What's the bulk edit for project records? instructions: - text: Update projects with {project_updates}. slots: project_updates: requestBody.inputs - text: Apply {project_updates} to our project records. slots: project_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/projects/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert projects by a unique value effect: write questions: - Can I sync projects from a project tool so matches update? - Which unique property keys a project upsert? instructions: - text: Upsert projects {projects} by unique property. slots: projects: requestBody.inputs - text: Sync external projects {projects}, creating or updating each. slots: projects: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/properties/2026-09/{objectType}/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive CRM property definitions effect: destructive questions: - Can I archive several custom CRM properties on contacts or deals at once? - Does archiving properties fail if one is already archived or doesn't exist? instructions: - text: Archive CRM properties {property_names} on {object_type}. slots: property_names: requestBody.inputs object_type: path.objectType - text: 'Retire these {object_type} fields from the CRM: {property_names}.' slots: object_type: path.objectType property_names: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/properties/2026-09/{objectType}/batch/create'].post update: x-apievangelist-phrasing: intent: Create CRM property definitions effect: write questions: - How can I add several custom fields to a CRM object like contacts at once? - Do batch-created CRM properties follow the same rules as single ones? instructions: - text: Create CRM properties {property_definitions} on {object_type}. slots: property_definitions: requestBody.inputs object_type: path.objectType - text: 'Add these custom fields to {object_type} records: {property_definitions}.' slots: object_type: path.objectType property_definitions: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/properties/2026-09/{objectType}/batch/read'].post update: x-apievangelist-phrasing: intent: Read CRM property definitions in bulk effect: read questions: - Can I read the definitions of several CRM properties on an object by name? - Can I get CRM property labels in a specific locale or include archived ones? instructions: - text: Read CRM properties {property_names} on {object_type}. slots: property_names: requestBody.inputs object_type: path.objectType - text: 'Get {object_type} field definitions {property_names} in locale {locale}, archived: {archived}, sensitivity {data_sensitivity}.' slots: object_type: path.objectType property_names: requestBody.inputs locale: query.locale archived: requestBody.archived data_sensitivity: requestBody.dataSensitivity method: generated generated: '2026-09-24' - target: $.paths['/feature-flags/2026-09/{appId}/flags/{flagName}/portals/batch/delete'].post update: x-apievangelist-phrasing: intent: Clear a feature flag for several accounts effect: destructive questions: - Can I remove my app's feature flag override from a group of HubSpot accounts? - How do I reset flag exposure for many portals at once? instructions: - text: Delete the account-level state of flag {flag_name} in app {app_id} for portals {portal_ids}. slots: flag_name: path.flagName app_id: path.appId portal_ids: requestBody.portalIds - text: Remove flag {flag_name} overrides from accounts {portal_ids} for app {app_id}. slots: flag_name: path.flagName portal_ids: requestBody.portalIds app_id: path.appId method: generated generated: '2026-09-24' - target: $.paths['/feature-flags/2026-09/{appId}/flags/{flagName}/portals/batch/upsert'].post update: x-apievangelist-phrasing: intent: Set a feature flag for several accounts effect: write questions: - Can I turn a feature flag on or off for a specific set of HubSpot accounts? - What's the way to roll out my app's feature to a group of portals? instructions: - text: 'Set flag {flag_name} for app {app_id} to these portal states: {portal_states}.' slots: flag_name: path.flagName app_id: path.appId portal_states: requestBody.portalStates - text: 'Roll out {flag_name} in app {app_id} per account: {portal_states}.' slots: flag_name: path.flagName app_id: path.appId portal_states: requestBody.portalStates method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/quotes/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of quotes effect: destructive questions: - Can I move several expired quotes to the recycling bin by ID? - What's the bulk archive for quotes? instructions: - text: Archive quotes {quote_ids}. slots: quote_ids: requestBody.inputs - text: 'Send these quotes to the recycling bin: {quote_ids}.' slots: quote_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/quotes/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of quotes effect: write questions: - How can I generate several sales quotes in one request? - Can I associate each new quote with a deal and line items in bulk? instructions: - text: Create quotes from {quotes}. slots: quotes: requestBody.inputs - text: 'Draft these sales quotes with their associations: {quotes}.' slots: quotes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/quotes/batch/read'].post update: x-apievangelist-phrasing: intent: Read several quotes effect: read questions: - Can I fetch the status and expiration of a list of quotes? - Is there a way to look up quotes by a unique property? instructions: - text: Get quotes {quote_ids} with properties {properties}. slots: quote_ids: requestBody.inputs properties: requestBody.properties - text: 'Find quotes by {id_property} for {quote_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty quote_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for quotes {quote_ids}. slots: history_properties: requestBody.propertiesWithHistory quote_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/quotes/batch/update'].post update: x-apievangelist-phrasing: intent: Update several quotes effect: write questions: - Can I extend expiration dates on many quotes at once? - What's the bulk edit for existing quotes? instructions: - text: Update quotes with {quote_updates}. slots: quote_updates: requestBody.inputs - text: Apply {quote_updates} to these sales quotes. slots: quote_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/quotes/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert quotes by a unique value effect: write questions: - Can I sync quotes from a CPQ tool so existing ones update? - Which unique property keys a quote upsert? instructions: - text: Upsert quotes {quotes} by unique property. slots: quotes: requestBody.inputs - text: Sync CPQ quotes {quotes}, creating or updating each. slots: quotes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm-object-schemas/2026-09/schemas/batch/read'].post update: x-apievangelist-phrasing: intent: Read several custom object schemas effect: read questions: - Can I get the definitions of several custom objects in one call? - Can I include property and association definitions when reading custom object schemas? instructions: - text: Get custom object schemas {schema_ids}. slots: schema_ids: requestBody.inputs - text: 'Fetch schemas {schema_ids} with properties: {include_properties}, associations: {include_associations}, audit data: {include_audit}.' slots: schema_ids: requestBody.inputs include_properties: requestBody.includePropertyDefinitions include_associations: requestBody.includeAssociationDefinitions include_audit: requestBody.includeAuditMetadata method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-162/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of service records effect: destructive questions: - Can I archive several service records, not partner services, by ID? - What's the bulk archive for the services object? instructions: - text: Archive service records {service_ids}. slots: service_ids: requestBody.inputs - text: 'Retire these services from the CRM services object: {service_ids}.' slots: service_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-162/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of service records effect: write questions: - How can I add several service offerings to the CRM services object? - Can I create multiple service records in one request? instructions: - text: Create service records from {services}. slots: services: requestBody.inputs - text: 'Add these offerings to the services object: {services}.' slots: services: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-162/batch/read'].post update: x-apievangelist-phrasing: intent: Read several service records effect: read questions: - Can I fetch a set of service records by ID from the services object? - Is there a way to look up services by a unique property? instructions: - text: Get service records {service_ids} with properties {properties}. slots: service_ids: requestBody.inputs properties: requestBody.properties - text: 'Find services object records by {id_property} for {service_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty service_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} on service records {service_ids}. slots: history_properties: requestBody.propertiesWithHistory service_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-162/batch/update'].post update: x-apievangelist-phrasing: intent: Update several service records effect: write questions: - Can I edit many records in the services object at once? - What's the bulk update for service records? instructions: - text: Update service records with {service_updates}. slots: service_updates: requestBody.inputs - text: Apply {service_updates} to the services object records. slots: service_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/0-162/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert service records by a unique value effect: write questions: - Can I sync service offerings so existing records update? - Which unique property keys a services object upsert? instructions: - text: Upsert service records {services} by unique property. slots: services: requestBody.inputs - text: Sync offerings {services} into the services object, creating or updating. slots: services: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tasks/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of tasks effect: destructive questions: - Can I move several completed tasks to the recycling bin by ID? - What's the bulk archive for CRM tasks? instructions: - text: Archive tasks {task_ids}. slots: task_ids: requestBody.inputs - text: 'Clear these to-dos out of the CRM: {task_ids}.' slots: task_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tasks/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of tasks effect: write questions: - How can I assign follow-up tasks to reps for many records at once? - Can I create tasks associated with contacts in one request? instructions: - text: Create tasks from {tasks}. slots: tasks: requestBody.inputs - text: 'Add these follow-up to-dos with associations: {tasks}.' slots: tasks: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tasks/batch/read'].post update: x-apievangelist-phrasing: intent: Read several tasks effect: read questions: - Can I fetch the due date and status for a list of tasks? - Is there a way to look up tasks by a unique property? instructions: - text: Get tasks {task_ids} with properties {properties}. slots: task_ids: requestBody.inputs properties: requestBody.properties - text: 'Find tasks by {id_property} for {task_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty task_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for tasks {task_ids}. slots: history_properties: requestBody.propertiesWithHistory task_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tasks/batch/update'].post update: x-apievangelist-phrasing: intent: Update several tasks effect: write questions: - Can I mark many tasks complete or reassign them at once? - What's the bulk edit for existing tasks? instructions: - text: Update tasks with {task_updates}. slots: task_updates: requestBody.inputs - text: 'Mark done or reassign these to-dos: {task_updates}.' slots: task_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tasks/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert tasks by a unique value effect: write questions: - Can I sync tasks from a to-do app so existing ones update? - Which unique property keys a task upsert? instructions: - text: Upsert tasks {tasks} by unique property. slots: tasks: requestBody.inputs - text: Sync to-do app tasks {tasks}, creating or updating each. slots: tasks: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/taxes/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of taxes effect: destructive questions: - Can I archive several tax records by ID? - What's the bulk archive for taxes? instructions: - text: Archive taxes {tax_ids}. slots: tax_ids: requestBody.inputs - text: 'Retire these tax records: {tax_ids}.' slots: tax_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/taxes/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of taxes effect: write questions: - How can I add several tax records for quotes at once? - Can I associate new taxes with other records while creating them? instructions: - text: Create taxes from {taxes}. slots: taxes: requestBody.inputs - text: 'Add these tax rates as tax records: {taxes}.' slots: taxes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/taxes/batch/read'].post update: x-apievangelist-phrasing: intent: Read several taxes effect: read questions: - Can I fetch a list of tax records by ID? - Is there a way to look up taxes by a unique property? instructions: - text: Get taxes {tax_ids} with properties {properties}. slots: tax_ids: requestBody.inputs properties: requestBody.properties - text: 'Find taxes by {id_property} for {tax_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty tax_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for taxes {tax_ids}. slots: history_properties: requestBody.propertiesWithHistory tax_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/taxes/batch/update'].post update: x-apievangelist-phrasing: intent: Update several taxes effect: write questions: - Can I change rates on many tax records at once? - What's the bulk edit for existing taxes? instructions: - text: Update taxes with {tax_updates}. slots: tax_updates: requestBody.inputs - text: Apply {tax_updates} to our tax records. slots: tax_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/taxes/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert taxes by a unique value effect: write questions: - Can I sync tax records so existing ones update? - Which unique property keys a tax upsert? instructions: - text: Upsert taxes {taxes} by unique property. slots: taxes: requestBody.inputs - text: Sync tax rates {taxes}, creating new and updating matches. slots: taxes: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tickets/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete a batch of tickets effect: destructive questions: - Can I delete many support tickets and restore them within 90 days? - What's the bulk delete for tickets? instructions: - text: Archive tickets {ticket_ids}. slots: ticket_ids: requestBody.inputs - text: 'Delete these support tickets: {ticket_ids}.' slots: ticket_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tickets/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of tickets effect: write questions: - How can I open many support tickets at once? - Can I set pipeline and stage on each new ticket in bulk? instructions: - text: Create tickets from {tickets}. slots: tickets: requestBody.inputs - text: 'Open these support tickets with associations: {tickets}.' slots: tickets: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tickets/batch/read'].post update: x-apievangelist-phrasing: intent: Read several tickets effect: read questions: - Can I fetch the status of a list of tickets by ticketId? - Is it possible to look up tickets by a unique property? instructions: - text: Get tickets {ticket_ids} with properties {properties}. slots: ticket_ids: requestBody.inputs properties: requestBody.properties - text: 'Find tickets by {id_property} for {ticket_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty ticket_ids: requestBody.inputs archived: query.archived - text: Show how {history_properties} changed on tickets {ticket_ids}. slots: history_properties: requestBody.propertiesWithHistory ticket_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tickets/batch/update'].post update: x-apievangelist-phrasing: intent: Update several tickets effect: write questions: - Can I move many tickets to a new stage or owner at once? - Will a bulk ticket update overwrite existing values? instructions: - text: Update tickets with {ticket_updates}. slots: ticket_updates: requestBody.inputs - text: 'Reassign or restage these support tickets: {ticket_updates}.' slots: ticket_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/tickets/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert tickets by a unique value effect: write questions: - Can I sync tickets from a helpdesk so existing ones update? - Which unique property keys a ticket upsert? instructions: - text: Upsert tickets {tickets} by unique property. slots: tickets: requestBody.inputs - text: Sync helpdesk tickets {tickets}, creating or updating each. slots: tickets: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/integrators/timeline/2026-09/events/batch'].post update: x-apievangelist-phrasing: intent: Send a batch of timeline events effect: write questions: - Can my integration post many events to CRM record timelines in one call? - What's the bulk endpoint for app timeline events? instructions: - text: 'Send these timeline events: {timeline_events}.' slots: timeline_events: requestBody.inputs - text: Post {timeline_events} to the CRM record timelines. slots: timeline_events: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/users/batch/archive'].post update: x-apievangelist-phrasing: intent: Archive a batch of CRM user records effect: destructive questions: - Can I move several user records to the recycling bin by ID? - What's the bulk archive for the CRM users object? instructions: - text: Archive user records {user_ids}. slots: user_ids: requestBody.inputs - text: 'Deactivate these CRM user records: {user_ids}.' slots: user_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/users/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of CRM user records effect: write questions: - How can I create several user records with properties in one request? - Do I get back the new IDs when creating user records in bulk? instructions: - text: Create user records from {users}. slots: users: requestBody.inputs - text: 'Add these people to the CRM users object: {users}.' slots: users: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/users/batch/read'].post update: x-apievangelist-phrasing: intent: Read several CRM user records effect: read questions: - Can I fetch a set of CRM user records by ID? - Is there a way to look up user records by a unique property? instructions: - text: Get user records {user_ids} with properties {properties}. slots: user_ids: requestBody.inputs properties: requestBody.properties - text: 'Find CRM users by {id_property} for {user_ids}, archived: {archived}.' slots: id_property: requestBody.idProperty user_ids: requestBody.inputs archived: query.archived - text: Show history of {history_properties} for user records {user_ids}. slots: history_properties: requestBody.propertiesWithHistory user_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/users/batch/update'].post update: x-apievangelist-phrasing: intent: Update several CRM user records effect: write questions: - Can I edit many user profiles in the CRM users object at once? - What's the bulk update for user records? instructions: - text: Update user records with {user_updates}. slots: user_updates: requestBody.inputs - text: Apply {user_updates} to these CRM user profiles. slots: user_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/crm/objects/2026-03/users/batch/upsert'].post update: x-apievangelist-phrasing: intent: Upsert CRM user records by a unique value effect: write questions: - Can I sync user records from an HR system so matches update? - Which unique property keys a user record upsert? instructions: - text: Upsert user records {users} by unique property. slots: users: requestBody.inputs - text: Sync HR users {users} into the CRM, creating or updating each. slots: users: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/events/v3/2026-09/send/batch'].post update: x-apievangelist-phrasing: intent: Send a batch of custom event occurrences effect: write questions: - Can I send many custom behavioral event occurrences in a single request? - What's the batch endpoint for sending custom events? instructions: - text: 'Send these custom event occurrences: {event_occurrences}.' slots: event_occurrences: requestBody.inputs - text: Record {event_occurrences} as custom events in one batch. slots: event_occurrences: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/campaigns/2026-03/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete a batch of marketing campaigns effect: destructive questions: - Can I delete up to 50 marketing campaigns at once? - Will deleting campaigns in bulk tell me if some IDs didn't exist? instructions: - text: Delete campaigns {campaign_ids}. slots: campaign_ids: requestBody.inputs - text: 'Remove these marketing campaigns: {campaign_ids}.' slots: campaign_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/campaigns/2026-03/batch/create'].post update: x-apievangelist-phrasing: intent: Create a batch of marketing campaigns effect: write questions: - What's the maximum number of campaigns I can create in one batch? - Do created campaigns come back in the same order I sent them? instructions: - text: Create marketing campaigns from {campaigns}. slots: campaigns: requestBody.inputs - text: 'Set up these new campaigns: {campaigns}.' slots: campaigns: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/campaigns/2026-03/batch/read'].post update: x-apievangelist-phrasing: intent: Read campaigns with their assets and metrics effect: read questions: - Can I read several campaigns with their assets and metrics for a date range? - What happens if I pass duplicate campaign IDs in a batch read? instructions: - text: Get campaigns {campaign_ids} with their assets. slots: campaign_ids: requestBody.inputs - text: Fetch campaigns {campaign_ids} with asset metrics from {start_date} to {end_date}. slots: campaign_ids: requestBody.inputs start_date: query.startDate end_date: query.endDate - text: Read campaigns {campaign_ids} returning only {properties}. slots: campaign_ids: requestBody.inputs properties: query.properties method: generated generated: '2026-09-24' - target: $.paths['/marketing/campaigns/2026-03/batch/update'].post update: x-apievangelist-phrasing: intent: Update a batch of marketing campaigns effect: write questions: - Can I edit up to 50 campaigns in one request? - Does sending an empty string reset a campaign property? instructions: - text: Update campaigns with {campaign_updates}. slots: campaign_updates: requestBody.inputs - text: 'Change these marketing campaigns'' properties: {campaign_updates}.' slots: campaign_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/marketing-events/2026-09/batch/archive'].post update: x-apievangelist-phrasing: intent: Delete marketing events by object ID effect: destructive questions: - Can I delete several marketing events using their HubSpot objectIds? - What response do I get if some marketing event objectIds don't exist? instructions: - text: Delete marketing events with objectIds {object_ids}. slots: object_ids: requestBody.inputs - text: 'Remove these marketing events by HubSpot object ID: {object_ids}.' slots: object_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/marketing-events/2026-09/batch/update'].post update: x-apievangelist-phrasing: intent: Update marketing events by object ID effect: write questions: - Can I update several marketing events using their HubSpot objectIds? - What's the bulk edit for webinars and events keyed by objectId? instructions: - text: Update marketing events by objectId with {event_updates}. slots: event_updates: requestBody.inputs - text: Apply {event_updates} to these marketing events, matched on objectId. slots: event_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/marketing-events/2026-09/events/delete'].post update: x-apievangelist-phrasing: intent: Delete marketing events by external IDs effect: destructive questions: - Can my app delete marketing events using its own external event and account IDs? - Can I delete marketing events that another app created? instructions: - text: Delete marketing events identified by external IDs {external_ids}. slots: external_ids: requestBody.inputs - text: Remove my app's events matching externalAccountId and externalEventId in {external_ids}. slots: external_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/marketing/marketing-events/2026-09/events/upsert'].post update: x-apievangelist-phrasing: intent: Create or update marketing events by external ID effect: write questions: - Can I sync webinars from my event platform so existing marketing events update? - Can my app update marketing events that a different app created? instructions: - text: Upsert marketing events {marketing_events}. slots: marketing_events: requestBody.inputs - text: 'Sync these webinars into marketing events, creating any that are new: {marketing_events}.' slots: marketing_events: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/settings/currencies/2026-09/exchange-rates/batch/create'].post update: x-apievangelist-phrasing: intent: Add several currency exchange rates effect: write questions: - Can I add exchange rates for several currencies in one request? - What's the way to set up multi-currency conversion rates in bulk? instructions: - text: Create exchange rates {rates}. slots: rates: requestBody.inputs - text: 'Add these currency conversion rates: {rates}.' slots: rates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/settings/currencies/2026-09/exchange-rates/batch/read'].post update: x-apievangelist-phrasing: intent: Look up several exchange rates effect: read questions: - Can I read the details of several exchange rates by ID? - Which conversion rates are set for these exchange rate IDs? instructions: - text: Get exchange rates {rate_ids}. slots: rate_ids: requestBody.inputs - text: Show the conversion values for exchange rates {rate_ids}. slots: rate_ids: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/settings/currencies/2026-09/exchange-rates/batch/update'].post update: x-apievangelist-phrasing: intent: Update several exchange rates effect: write questions: - Can I refresh the conversion values for many currency rates at once? - What's the bulk edit for existing exchange rates? instructions: - text: Update exchange rates with {rate_updates}. slots: rate_updates: requestBody.inputs - text: 'Change these currency conversion values: {rate_updates}.' slots: rate_updates: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/settings/teams/2026-09/{teamId}/members/batch'].post update: x-apievangelist-phrasing: intent: Assign several members to a team effect: write questions: - Can I add a group of users to one team in a single request? - What's the fastest way to staff a new sales team with existing users? instructions: - text: Assign members {members} to team {team_id}. slots: members: requestBody.inputs team_id: path.teamId - text: Add {members} to the team {team_id}. slots: members: requestBody.inputs team_id: path.teamId method: generated generated: '2026-09-24' - target: $.paths['/app-webhooks/2026-09/{appId}/subscriptions/batch/update'].post update: x-apievangelist-phrasing: intent: Create webhook event subscriptions for an app effect: write questions: - Can I subscribe my app to several webhook events in one request? - What's the bulk way to set up an app's webhook subscriptions? instructions: - text: Create webhook subscriptions {subscriptions} for app {app_id}. slots: subscriptions: requestBody.inputs app_id: path.appId - text: 'Subscribe app {app_id} to these events: {subscriptions}.' slots: app_id: path.appId subscriptions: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal-local/2026-09/batch/earliest/{count}'].get update: x-apievangelist-phrasing: intent: Get the oldest entries from the local webhook journal effect: read questions: - Can I pull the earliest entries from the local webhooks journal? - Can the local journal's oldest entries be limited to one installed account? instructions: - text: Get the earliest {count} entries from the local webhooks journal. slots: count: path.count - text: Fetch the oldest {count} local journal entries for portal {portal_id}. slots: count: path.count portal_id: query.installPortalId method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal-local/2026-09/batch/latest/{count}'].get update: x-apievangelist-phrasing: intent: Get the newest entries from the local webhook journal effect: read questions: - Can I read the most recent entries in the local webhooks journal? - Could I restrict the local journal's latest entries to one installed portal? instructions: - text: Get the latest {count} entries from the local webhooks journal. slots: count: path.count - text: Fetch the newest {count} local journal entries for portal {portal_id}. slots: count: path.count portal_id: query.installPortalId method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal-local/2026-09/batch/read'].post update: x-apievangelist-phrasing: intent: Read specific local webhook journal entries effect: read questions: - Can I read specific entries from the local webhooks journal in one request? - What if some local journal entries fail in a batch read? instructions: - text: Read local webhooks journal entries {entries}. slots: entries: requestBody.inputs - text: 'Fetch these entries from the local journal for portal {portal_id}: {entries}.' slots: portal_id: query.installPortalId entries: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal-local/2026-09/batch/{offset}/next/{count}'].get update: x-apievangelist-phrasing: intent: Page through the local webhook journal from an offset effect: read questions: - Can I page through the local webhooks journal starting from a given offset? - Is there a way to read the local journal in fixed-size chunks? instructions: - text: Get {count} local webhooks journal entries after offset {offset}. slots: count: path.count offset: path.offset - text: Fetch the next {count} local journal entries from {offset} for portal {portal_id}. slots: count: path.count offset: path.offset portal_id: query.installPortalId method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal/2026-09/batch/earliest/{count}'].get update: x-apievangelist-phrasing: intent: Get the oldest entries from the webhook journal effect: read questions: - Can I fetch the earliest webhook deliveries recorded in the main webhooks journal? - Is historical webhook data available oldest-first? instructions: - text: Pull the {count} oldest webhook deliveries on record in the main journal. slots: count: path.count - text: Pull the first {count} historical webhook journal entries for install {portal_id}. slots: count: path.count portal_id: query.installPortalId method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal/2026-09/batch/latest/{count}'].get update: x-apievangelist-phrasing: intent: Get the newest entries from the webhook journal effect: read questions: - What recent webhook activity is in the main webhooks journal? - Can I get just the last few webhook journal entries for my account? instructions: - text: List the {count} most recent webhook deliveries in the main journal. slots: count: path.count - text: Show the most recent {count} webhook journal entries for install {portal_id}. slots: count: path.count portal_id: query.installPortalId method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal/2026-09/batch/read'].post update: x-apievangelist-phrasing: intent: Read specific webhook journal entries effect: read questions: - Can I read a set of specific entries from the main webhooks journal at once? - Is there a batch read for webhook journal entries I already have references to? instructions: - text: Read webhooks journal entries {entries}. slots: entries: requestBody.inputs - text: 'Retrieve these webhook journal records for install {portal_id}: {entries}.' slots: portal_id: query.installPortalId entries: requestBody.inputs method: generated generated: '2026-09-24' - target: $.paths['/webhooks-journal/journal/2026-09/batch/{offset}/next/{count}'].get update: x-apievangelist-phrasing: intent: Page through the webhook journal from an offset effect: read questions: - How can I paginate through a large webhooks journal from a saved offset? - Can I resume reading webhook journal entries where I left off? instructions: - text: 'Page the main webhook journal: {count} records starting at {offset}.' slots: count: path.count offset: path.offset - text: Resume the webhook journal at {offset}, returning {count} entries for install {portal_id}. slots: offset: path.offset count: path.count portal_id: query.installPortalId method: generated generated: '2026-09-24'