Vendasta · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for CRM Rest Resource Operations API
9 actions
9 updates
phrasing
extends
openapi/vendasta-resource-operations-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Vendasta's API. It is a proposal applied on top of the contract, not a document Vendasta publishes.
What the actions change
x-apievangelist-phrasing
Targets 9
$.info
$.paths['/{namespace}/{resourceTypeCode}/meta/fields'].get
$.paths['/{namespace}/{resourceTypeCode}/meta/fields/{fieldId}/options'].get
$.paths['/{namespace}/{resourceTypeCode}'].post
$.paths['/{namespace}/{resourceTypeCode}'].patch
$.paths['/{namespace}/{resourceTypeCode}/{id}'].get
$.paths['/{namespace}/{resourceTypeCode}/{id}'].delete
$.paths['/{namespace}/{resourceTypeCode}/{id}'].patch
$.paths['/list/{namespace}/{resourceTypeCode}'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/vendasta-resource-operations-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.