# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for CRM Rest Resource Operations API version: 1.0.0 extends: openapi/vendasta-resource-operations-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 8 - target: $.paths['/{namespace}/{resourceTypeCode}/meta/fields'].get update: x-apievangelist-phrasing: intent: Get the field schema for a CRM record type effect: read questions: - What fields exist on CRM contacts or companies in my account? - Can I see the schema of a CRM resource type before creating records? instructions: - text: Get the field schema for {type} in {namespace}. slots: type: path.resourceTypeCode namespace: path.namespace - text: Show every field defined on {type} records under {namespace}. slots: type: path.resourceTypeCode namespace: path.namespace method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}/meta/fields/{fieldId}/options'].get update: x-apievangelist-phrasing: intent: Get the options for a CRM field effect: read questions: - What values are allowed for a picklist field on a CRM record type? - Can I filter and page through one field's options? instructions: - text: Get options for field {field} on {type} in {namespace}. slots: field: path.fieldId type: path.resourceTypeCode namespace: path.namespace - text: List options of field {field} on {type} in {namespace} matching {filter}. slots: field: path.fieldId type: path.resourceTypeCode namespace: path.namespace filter: query.filter method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}'].post update: x-apievangelist-phrasing: intent: Create a CRM record effect: write questions: - How do I create a brand-new CRM record without matching existing ones? - Can I add a contact, company or activity record by resource type? instructions: - text: Create a new {type} record in {namespace}. slots: type: path.resourceTypeCode namespace: path.namespace - text: Add a fresh CRM record of type {type} to {namespace} without de-duplicating. slots: type: path.resourceTypeCode namespace: path.namespace method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}'].patch update: x-apievangelist-phrasing: intent: Create or merge a CRM record effect: write questions: - Can I create a contact but merge it into an existing one if it already exists? - Which fields are used to match existing records during an upsert? instructions: - text: Upsert a {type} record in {namespace} with fields {fields}. slots: type: path.resourceTypeCode namespace: path.namespace fields: requestBody.fields - text: Create or merge {type} in {namespace}, matching on {match}. slots: type: path.resourceTypeCode namespace: path.namespace match: requestBody.search_existing method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}/{id}'].get update: x-apievangelist-phrasing: intent: Get a CRM record effect: read questions: - How can I read one CRM record by its ID? - What does a single contact or company record look like? instructions: - text: Get {type} record {id} from {namespace}. slots: type: path.resourceTypeCode id: path.id namespace: path.namespace - text: Show CRM record {id} of type {type} in {namespace}. slots: id: path.id type: path.resourceTypeCode namespace: path.namespace method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a CRM record effect: destructive questions: - Can I delete a CRM contact or company by its ID? - What is needed to remove one CRM record permanently? instructions: - text: Delete {type} record {id} in {namespace}. slots: type: path.resourceTypeCode id: path.id namespace: path.namespace - text: Remove CRM record {id} of type {type} from {namespace}. slots: id: path.id type: path.resourceTypeCode namespace: path.namespace method: generated generated: '2026-10-01' - target: $.paths['/{namespace}/{resourceTypeCode}/{id}'].patch update: x-apievangelist-phrasing: intent: Update a CRM record effect: write questions: - Can I edit fields on a CRM record I already know the ID of? - Is updating a specific record different from an upsert? instructions: - text: Update {type} record {id} in {namespace} with {data}. slots: type: path.resourceTypeCode id: path.id namespace: path.namespace data: requestBody.data - text: Change fields on CRM record {id} of type {type} in {namespace}. slots: id: path.id type: path.resourceTypeCode namespace: path.namespace method: generated generated: '2026-10-01' - target: $.paths['/list/{namespace}/{resourceTypeCode}'].post update: x-apievangelist-phrasing: intent: List CRM records effect: read questions: - Which contacts, companies or activities are stored in my CRM? - Can I choose which fields are returned when listing CRM records? instructions: - text: List {type} records in {namespace}. slots: type: path.resourceTypeCode namespace: path.namespace - text: List {type} records in {namespace} returning only {fields}. slots: type: path.resourceTypeCode namespace: path.namespace fields: requestBody.returnFields method: generated generated: '2026-10-01'