Live Direct Marketing · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Live Direct Marketing Online Leads API
28 actions
28 updates
phrasing
extends
openapi/live-direct-marketing-online-leads-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Live Direct Marketing's API. It is a proposal applied on top of the contract, not a document Live Direct Marketing publishes.
What the actions change
x-apievangelist-phrasing
Targets 28 · first 16 shown; the file carries all of them
$.info
$.paths['/api/leads'].get
$.paths['/api/leads'].post
$.paths['/api/leads/stats'].get
$.paths['/api/leads/kanban/{pipelineId}'].get
$.paths['/api/leads/kanban/{pipelineId}/stage/{stageId}'].get
$.paths['/api/leads/stages/{pipelineId}'].get
$.paths['/api/leads/duplicates'].get
$.paths['/api/leads/{id}'].get
$.paths['/api/leads/{id}'].delete
$.paths['/api/leads/{id}'].patch
$.paths['/api/leads/{id}/duplicates'].get
$.paths['/api/leads/{id}/dossier'].get
$.paths['/api/leads/{id}/interest'].get
$.paths['/api/leads/{id}/interest'].patch
$.paths['/api/leads/interest/breakdown'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Live Direct Marketing Online Leads API
version: 1.0.0
extends: openapi/live-direct-marketing-online-leads-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: 27
- target: $.paths['/api/leads'].get
update:
x-apievangelist-phrasing:
intent: List leads
effect: read
questions:
- Which leads are in a given pipeline stage?
- Can I search my leads and sort them by a field?
- Is there a way to list only leads that are in the trash?
instructions:
- text: List leads in pipeline {pipelineId}, includeDeleted {includeDeleted}, onlyDeleted {onlyDeleted}.
slots:
pipelineId: query.pipelineId
includeDeleted: query.includeDeleted
onlyDeleted: query.onlyDeleted
- text: Search leads for {search} (includeDeleted {includeDeleted}, onlyDeleted {onlyDeleted}).
slots:
search: query.search
includeDeleted: query.includeDeleted
onlyDeleted: query.onlyDeleted
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads'].post
update:
x-apievangelist-phrasing:
intent: Create a lead
effect: write
questions:
- How do I add a new sales lead?
- Can I set a deal amount and pipeline stage when creating a lead?
instructions:
- text: Create a lead titled {title}.
slots:
title: requestBody.title
- text: Add lead {title} worth {amount} {currency} for company {companyId} in stage {stageId}.
slots:
title: requestBody.title
amount: requestBody.amount
currency: requestBody.currency
companyId: requestBody.companyId
stageId: requestBody.stageId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/stats'].get
update:
x-apievangelist-phrasing:
intent: Get lead statistics
effect: read
questions:
- How many leads do I have overall?
- Can I see lead statistics for just one pipeline?
instructions:
- text: Show my lead statistics.
- text: Get lead stats for pipeline {pipelineId}.
slots:
pipelineId: query.pipelineId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/kanban/{pipelineId}'].get
update:
x-apievangelist-phrasing:
intent: Show a pipeline's kanban board
effect: read
questions:
- What does the kanban board look like for one of my pipelines?
- Can I limit how many leads load per column on the board?
instructions:
- text: Show the kanban board for pipeline {pipelineId} matching {search}.
slots:
pipelineId: path.pipelineId
search: query.search
- text: Load pipeline {pipelineId}'s board with {perStage} leads per stage, search {search}.
slots:
pipelineId: path.pipelineId
perStage: query.perStage
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/kanban/{pipelineId}/stage/{stageId}'].get
update:
x-apievangelist-phrasing:
intent: Load more leads in one kanban column
effect: read
questions:
- How do I load the next batch of leads in a single board column?
- Can I page through one stage of the kanban without reloading the whole board?
instructions:
- text: Load more leads in stage {stageId} of pipeline {pipelineId} from offset {offset}, search {search}.
slots:
stageId: path.stageId
pipelineId: path.pipelineId
offset: query.offset
search: query.search
- text: Fetch the next {limit} kanban cards in stage {stageId} of pipeline {pipelineId}, search {search}.
slots:
limit: query.limit
stageId: path.stageId
pipelineId: path.pipelineId
search: query.search
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/stages/{pipelineId}'].get
update:
x-apievangelist-phrasing:
intent: List a pipeline's stages for lead filtering
effect: read
questions:
- Which stages can I filter leads by in a given pipeline?
- What stage options exist for leads in one pipeline?
instructions:
- text: List lead filter stages for pipeline {pipelineId}.
slots:
pipelineId: path.pipelineId
- text: Show which stages leads can be in for pipeline {pipelineId}.
slots:
pipelineId: path.pipelineId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/duplicates'].get
update:
x-apievangelist-phrasing:
intent: Find duplicate leads across the workspace
effect: read
questions:
- Do I have duplicate leads anywhere in my workspace?
- Can I scan for duplicates by contact or company only within one pipeline?
instructions:
- text: Scan the whole workspace for duplicate leads.
- text: Find duplicate leads by {field} in pipeline {pipelineId}.
slots:
field: query.field
pipelineId: query.pipelineId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a lead
effect: read
questions:
- What are the details of a specific lead?
- Can I look up a lead by its id?
instructions:
- text: Show lead {id}.
slots:
id: path.id
- text: Get the record for lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Move a lead to trash
effect: destructive
questions:
- How do I delete a lead but keep the option to restore it?
- What happens to a lead when I remove it from the pipeline?
instructions:
- text: Move lead {id} to the trash.
slots:
id: path.id
- text: Soft-delete lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a lead
effect: write
questions:
- How do I change a lead's title, priority or linked contact?
- Can I set an expected close date on an existing lead?
instructions:
- text: Change lead {id}'s title to {title}.
slots:
id: path.id
title: requestBody.title
- text: Set lead {id} priority to {priority} and link contact {contactId}.
slots:
id: path.id
priority: requestBody.priority
contactId: requestBody.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/duplicates'].get
update:
x-apievangelist-phrasing:
intent: Check one lead for duplicates
effect: read
questions:
- Does this particular lead already exist under another record?
- Are there leads that duplicate the one I'm looking at?
instructions:
- text: Check whether lead {id} has duplicates.
slots:
id: path.id
- text: Find leads that duplicate lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/dossier'].get
update:
x-apievangelist-phrasing:
intent: Get a lead's full dossier
effect: read
questions:
- Can I see the company, contact and activity behind a lead in one view?
- What's the full background dossier on a lead?
instructions:
- text: Pull the dossier for lead {id}.
slots:
id: path.id
- text: Show company, contact and activity for lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/interest'].get
update:
x-apievangelist-phrasing:
intent: Get a lead's AI interest classification
effect: read
questions:
- Is a lead interested, according to the AI classification?
- What interest status did the AI assign to a lead?
instructions:
- text: Show the AI interest classification for lead {id}.
slots:
id: path.id
- text: Tell me how interested lead {id} is.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/interest'].patch
update:
x-apievangelist-phrasing:
intent: Manually set a lead's interest status
effect: write
questions:
- Can I override the AI's interest status on a lead by hand?
- How long can the note be when I set a lead's interest manually?
instructions:
- text: Set lead {id}'s interest status to {status}.
slots:
id: path.id
status: requestBody.status
- text: Mark lead {id} as {status} with note {note}.
slots:
id: path.id
status: requestBody.status
note: requestBody.note
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/interest/breakdown'].get
update:
x-apievangelist-phrasing:
intent: Break down leads by interest status
effect: read
questions:
- How many of my leads are interested versus not interested?
- Can I see the interest-status breakdown for one pipeline?
instructions:
- text: Show the breakdown of my leads by interest status.
- text: Break down leads in pipeline {pipelineId} by interest.
slots:
pipelineId: query.pipelineId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/deal'].get
update:
x-apievangelist-phrasing:
intent: Get a lead's deal projection
effect: read
questions:
- What is a lead's deal worth once weighted by probability?
- Which amount and win probability are set on a lead's deal?
instructions:
- text: Show the deal projection for lead {id}.
slots:
id: path.id
- text: Get the weighted deal value of lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/deal'].patch
update:
x-apievangelist-phrasing:
intent: Update a lead's deal amount and probability
effect: write
questions:
- How do I change the win probability on a lead's deal?
- Can I update a deal's amount and expected close date together?
instructions:
- text: Set the deal on lead {id} to {amount} {currency} at {probability} probability.
slots:
id: path.id
amount: requestBody.amount
currency: requestBody.currency
probability: requestBody.probability
- text: Move lead {id}'s deal close date to {expectedCloseDate}.
slots:
id: path.id
expectedCloseDate: requestBody.expectedCloseDate
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/deal/forecast'].get
update:
x-apievangelist-phrasing:
intent: Forecast weighted deal revenue
effect: read
questions:
- What's my weighted sales forecast across all open leads?
- Can I forecast revenue for one pipeline within a date range?
instructions:
- text: Compute the weighted deal forecast for pipeline {pipelineId}.
slots:
pipelineId: query.pipelineId
- text: Forecast weighted revenue from {dateFrom} to {dateTo}.
slots:
dateFrom: query.dateFrom
dateTo: query.dateTo
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/move'].post
update:
x-apievangelist-phrasing:
intent: Move a lead to another stage
effect: write
questions:
- How do I move a single lead to the next stage of the pipeline?
- Can I record a lost reason when moving a lead to a lost stage?
instructions:
- text: Move lead {id} to stage {stageId}.
slots:
id: path.id
stageId: requestBody.stageId
- text: Move lead {id} to stage {stageId} of pipeline {pipelineId} with lost reason {lostReason}.
slots:
id: path.id
stageId: requestBody.stageId
pipelineId: requestBody.pipelineId
lostReason: requestBody.lostReason
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/bulk'].post
update:
x-apievangelist-phrasing:
intent: Run a bulk action on many leads
effect: write
questions:
- Can I tag or re-stage a whole batch of leads at once?
- Which bulk actions can I queue up on a set of selected leads?
instructions:
- text: Run bulk action {action} on leads {ids}.
slots:
action: requestBody.action
ids: requestBody.ids
- text: Bulk-add tags {tagIds} to leads {ids} with action {action}.
slots:
tagIds: requestBody.tagIds
ids: requestBody.ids
action: requestBody.action
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/bulk/{jobId}'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a bulk lead job
effect: read
questions:
- Has my bulk lead update finished yet?
- How far along is a queued bulk lead job?
instructions:
- text: Check progress of bulk lead job {jobId}.
slots:
jobId: path.jobId
- text: Get the status of bulk job {jobId} on leads.
slots:
jobId: path.jobId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/bulk/{jobId}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a running bulk lead job
effect: destructive
questions:
- Can I stop a bulk lead action that's still in progress?
- How do I abort a queued bulk update on leads?
instructions:
- text: Cancel bulk lead job {jobId}.
slots:
jobId: path.jobId
- text: Stop the in-progress bulk job {jobId} on my leads.
slots:
jobId: path.jobId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/restore'].post
update:
x-apievangelist-phrasing:
intent: Restore a trashed lead
effect: write
questions:
- Can I bring back a lead I moved to the trash?
- How do I undo deleting a lead?
instructions:
- text: Restore lead {id} from the trash.
slots:
id: path.id
- text: Undelete lead {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/{id}/purge'].delete
update:
x-apievangelist-phrasing:
intent: Permanently delete a trashed lead
effect: destructive
questions:
- How do I permanently erase a lead that's already in the trash?
- Can a purged lead ever be recovered?
instructions:
- text: Permanently purge trashed lead {id}.
slots:
id: path.id
- text: Erase lead {id} for good from the trash.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/export'].post
update:
x-apievangelist-phrasing:
intent: Export leads to a file
effect: read
questions:
- Can I download my leads as a CSV or Excel file?
- How do I export only the leads in one pipeline stage?
instructions:
- text: Export leads with scope {scope} as {format}.
slots:
scope: requestBody.scope
format: requestBody.format
- text: Export leads in stage {stageId} of pipeline {pipelineId} with scope {scope}.
slots:
stageId: requestBody.stageId
pipelineId: requestBody.pipelineId
scope: requestBody.scope
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/import/preview'].post
update:
x-apievangelist-phrasing:
intent: Preview a lead import
effect: read
questions:
- Can I check how my spreadsheet columns will map before importing leads?
- What would a lead import look like with my proposed field mapping?
instructions:
- text: Preview importing rows {rows} as leads using mapping {mapping}.
slots:
rows: requestBody.rows
mapping: requestBody.mapping
- text: Dry-run a lead import of {rows} with column mapping {mapping}.
slots:
rows: requestBody.rows
mapping: requestBody.mapping
method: generated
generated: '2026-10-01'
- target: $.paths['/api/leads/import/start'].post
update:
x-apievangelist-phrasing:
intent: Start a lead import job
effect: write
questions:
- How do I actually import a batch of leads once the mapping looks right?
- Can I pass options when kicking off a lead import?
instructions:
- text: Import leads from {rows} using mapping {mapping}.
slots:
rows: requestBody.rows
mapping: requestBody.mapping
- text: Start a lead import of {rows} with mapping {mapping} and options {options}.
slots:
rows: requestBody.rows
mapping: requestBody.mapping
options: requestBody.options
method: generated
generated: '2026-10-01'