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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'