Brevo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Sales CRM Companies API
10 actions
10 updates
phrasing
extends
openapi/brevo-companies-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Brevo's API. It is a proposal applied on top of the contract, not a document Brevo publishes.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/companies'].get
$.paths['/companies'].post
$.paths['/companies/{id}'].get
$.paths['/companies/{id}'].delete
$.paths['/companies/{id}'].patch
$.paths['/crm/attributes'].post
$.paths['/crm/attributes/companies'].get
$.paths['/companies/link-unlink/{id}'].patch
$.paths['/companies/import'].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 Sales CRM Companies API
version: 1.0.0
extends: openapi/brevo-companies-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 9
- target: $.paths['/companies'].get
update:
x-apievangelist-phrasing:
intent: List CRM companies
effect: read
questions:
- Which companies are in my Brevo CRM?
- Can I find companies modified since last week?
- How do I list the companies linked to a particular deal?
instructions:
- text: List companies whose name matches {name}.
slots:
name: query.filters[attributes.name]
- text: List companies linked to deal {linkedDealsIds}.
slots:
linkedDealsIds: query.linkedDealsIds
- text: List companies modified since {modifiedSince}.
slots:
modifiedSince: query.modifiedSince
method: generated
generated: '2026-09-26'
- target: $.paths['/companies'].post
update:
x-apievangelist-phrasing:
intent: Create a CRM company
effect: write
questions:
- How do I add a new company to the CRM?
- Can I link contacts to a company as I create it?
instructions:
- text: Create a company named {name}.
slots:
name: requestBody.name
- text: Create company {name} and link contacts {linkedContactsIds}.
slots:
name: requestBody.name
linkedContactsIds: requestBody.linkedContactsIds
method: generated
generated: '2026-09-26'
- target: $.paths['/companies/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a CRM company
effect: read
questions:
- What contacts and deals are linked to a specific company?
- Can I pull one company's attributes by its ID?
instructions:
- text: Get company {id}.
slots:
id: path.id
- text: Show the attributes, contacts and deals of company {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/companies/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a CRM company
effect: destructive
questions:
- Who is allowed to delete a company from the CRM?
- How do I permanently remove a duplicate company?
instructions:
- text: Delete company {id}.
slots:
id: path.id
- text: Permanently remove company record {id} from the CRM.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/companies/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a CRM company
effect: write
questions:
- How do I rename a company or change its attributes?
- Does updating a company's linked contacts replace the existing links?
instructions:
- text: Rename company {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Set attributes {attributes} on company {id}.
slots:
attributes: requestBody.attributes
id: path.id
- text: Replace the linked contacts of company {id} with {linkedContactsIds}.
slots:
id: path.id
linkedContactsIds: requestBody.linkedContactsIds
method: generated
generated: '2026-09-26'
- target: $.paths['/crm/attributes'].post
update:
x-apievangelist-phrasing:
intent: Create a custom company or deal attribute
effect: write
questions:
- Can I add a custom field to companies or deals in the CRM?
- What are the rules for a custom attribute's label?
instructions:
- text: Create a {attributeType} attribute labeled {label} on {objectType}.
slots:
attributeType: requestBody.attributeType
label: requestBody.label
objectType: requestBody.objectType
- text: Add a dropdown attribute {label} of type {attributeType} to {objectType} with options {optionsLabels}.
slots:
label: requestBody.label
attributeType: requestBody.attributeType
objectType: requestBody.objectType
optionsLabels: requestBody.optionsLabels
method: generated
generated: '2026-09-26'
- target: $.paths['/crm/attributes/companies'].get
update:
x-apievangelist-phrasing:
intent: List company attributes
effect: read
questions:
- What fields are defined on companies, including my custom ones?
- Which attribute types can I set on a company?
instructions:
- text: List all company attributes.
- text: Show the system and custom company fields using API key {api_key}.
slots:
api_key: header.api-key
method: generated
generated: '2026-09-26'
- target: $.paths['/companies/link-unlink/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Link or unlink contacts and deals on a company
effect: write
questions:
- How do I attach a contact to a company without replacing its other contacts?
- Can I link one deal and unlink another from a company in a single request?
instructions:
- text: Link contacts {linkContactIds} to company {id}.
slots:
linkContactIds: requestBody.linkContactIds
id: path.id
- text: On company {id}, link deals {linkDealsIds} and unlink deals {unlinkDealsIds}.
slots:
id: path.id
linkDealsIds: requestBody.linkDealsIds
unlinkDealsIds: requestBody.unlinkDealsIds
- text: Unlink contacts {unlinkContactIds} from company {id}.
slots:
unlinkContactIds: requestBody.unlinkContactIds
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/companies/import'].post
update:
x-apievangelist-phrasing:
intent: Import companies from a CSV file
effect: write
questions:
- Can I bulk import companies from a spreadsheet?
- How do I map CSV columns when importing companies?
instructions:
- text: Import companies from CSV file {file}.
slots:
file: requestBody.file
- text: Import companies from {file} using column mapping {mapping}.
slots:
file: requestBody.file
mapping: requestBody.mapping
method: generated
generated: '2026-09-26'