lemlist · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Lemlist Campaigns API

16 actions 16 updates phrasing extends openapi/lemlist-campaigns-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for lemlist's API. It is a proposal applied on top of the contract, not a document lemlist publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 16

$.info
$.paths['/campaigns'].get
$.paths['/campaigns'].post
$.paths['/campaigns/{campaignId}'].get
$.paths['/campaigns/{campaignId}'].patch
$.paths['/campaigns/{campaignId}/pause'].post
$.paths['/campaigns/{campaignId}/export/start'].get
$.paths['/campaigns/{campaignId}/export/{exportId}/status'].get
$.paths['/campaigns/reports'].get
$.paths['/campaigns/{campaignId}/export/{exportId}/email/{email}'].put
$.paths['/campaigns/{campaignId}/export/leads'].get
$.paths['/campaigns/{campaignId}/start'].post
$.paths['/v2/campaigns/{campaignId}/stats'].get
$.paths['/v2/campaigns/stats/batch'].post
$.paths['/campaigns/{campaignId}/duplicate'].post
$.paths['/campaigns/{campaignId}/statutes'].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 Lemlist Campaigns API
  version: 1.0.0
extends: openapi/lemlist-campaigns-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: 15
- target: $.paths['/campaigns'].get
  update:
    x-apievangelist-phrasing:
      intent: List my campaigns
      effect: read
      questions:
      - Which outreach campaigns do I have in lemlist right now?
      - Can I list only campaigns that are paused or archived?
      - How many campaigns come back per page at most?
      instructions:
      - text: List all my campaigns.
      - text: Show my campaigns with status {status}, newest first.
        slots:
          status: query.status
      - text: Get page {page} of my campaigns, {limit} at a time.
        slots:
          page: query.page
          limit: query.limit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new campaign
      effect: write
      questions:
      - How do I start a brand-new outreach campaign from scratch?
      - What do I need to provide to set up an empty campaign?
      instructions:
      - text: Create a new campaign called {name}.
        slots:
          name: requestBody.name
      - text: Set up a fresh blank campaign.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one campaign's details
      effect: read
      questions:
      - Where can I see the full details of a single campaign?
      - What settings and status does a specific campaign have?
      instructions:
      - text: Show me campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      - text: Fetch the details of campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a campaign's settings
      effect: write
      questions:
      - Can I make a campaign stop sending once a lead books a meeting?
      - How do I turn off open tracking on an existing campaign?
      - Is it possible to rename a campaign after creating it?
      instructions:
      - text: Rename campaign {campaignId} to {name}.
        slots:
          campaignId: path.campaignId
          name: requestBody.name
      - text: Set stop-on-reply to {stopOnEmailReplied} for campaign {campaignId}.
        slots:
          stopOnEmailReplied: requestBody.stopOnEmailReplied
          campaignId: path.campaignId
      - text: Set open tracking disabled to {disableTrackOpen} on campaign {campaignId}.
        slots:
          disableTrackOpen: requestBody.disableTrackOpen
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/pause'].post
  update:
    x-apievangelist-phrasing:
      intent: Pause a running campaign
      effect: write
      questions:
      - How do I temporarily stop a campaign from sending?
      - Can I put an active sequence on hold?
      instructions:
      - text: Pause campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      - text: Put campaign {campaignId} on hold now.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/export/start'].get
  update:
    x-apievangelist-phrasing:
      intent: Start an export of campaign stats
      effect: read
      questions:
      - How do I kick off an asynchronous export of a campaign's statistics?
      - What returns the export id I need before downloading campaign stats?
      instructions:
      - text: Start a stats export for campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      - text: Begin exporting campaign {campaignId} statistics and give me the export id.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/export/{exportId}/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the status of a campaign export
      effect: read
      questions:
      - Is my campaign stats export finished yet?
      - Where do I get the download link once a campaign export completes?
      instructions:
      - text: Check the status of export {exportId} for campaign {campaignId}.
        slots:
          exportId: path.exportId
          campaignId: path.campaignId
      - text: Tell me if export {exportId} of campaign {campaignId} is ready to download.
        slots:
          exportId: path.exportId
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/reports'].get
  update:
    x-apievangelist-phrasing:
      intent: Get reports for several campaigns
      effect: read
      questions:
      - Can I pull a summary report across multiple campaigns at once?
      - Which report shows sent, opened and replied totals for a list of campaigns?
      instructions:
      - text: Get the campaign reports for {campaignIds}.
        slots:
          campaignIds: query.campaignIds
      - text: Show me the overall reports for all my campaigns.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/export/{exportId}/email/{email}'].put
  update:
    x-apievangelist-phrasing:
      intent: Email a campaign export to an address
      effect: write
      questions:
      - Can lemlist email me the stats file when a campaign export is done?
      - How do I have a finished campaign export sent to a teammate's inbox?
      instructions:
      - text: Send export {exportId} of campaign {campaignId} to {email} when it's ready.
        slots:
          exportId: path.exportId
          campaignId: path.campaignId
          email: path.email
      - text: Email the campaign {campaignId} export {exportId} to {email}.
        slots:
          campaignId: path.campaignId
          exportId: path.exportId
          email: path.email
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/export/leads'].get
  update:
    x-apievangelist-phrasing:
      intent: Export a campaign's leads
      effect: read
      questions:
      - How do I download every lead in a campaign as a CSV?
      - Can I export only leads in a particular state, like interested?
      instructions:
      - text: Export the leads of campaign {campaignId} as {format}.
        slots:
          campaignId: path.campaignId
          format: query.format
      - text: Export campaign {campaignId} leads whose last state is {state}.
        slots:
          campaignId: path.campaignId
          state: query.state
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/start'].post
  update:
    x-apievangelist-phrasing:
      intent: Launch or resume a campaign
      effect: write
      questions:
      - How do I launch a draft campaign so it starts sending?
      - Can I restart a campaign I paused earlier?
      instructions:
      - text: Start campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      - text: Resume sending on paused campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/campaigns/{campaignId}/stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get detailed stats for one campaign
      effect: read
      questions:
      - What were a single campaign's open, click and reply numbers last month?
      - Can I break down one campaign's stats by A/B version or channel?
      instructions:
      - text: Get stats for campaign {campaignId} from {startDate} to {endDate}.
        slots:
          campaignId: path.campaignId
          startDate: query.startDate
          endDate: query.endDate
      - text: Show campaign {campaignId} stats for {channels} between {startDate} and {endDate}.
        slots:
          campaignId: path.campaignId
          channels: query.channels
          startDate: query.startDate
          endDate: query.endDate
      - text: Get version {ABSelected} results of campaign {campaignId} from {startDate} to {endDate}.
        slots:
          ABSelected: query.ABSelected
          campaignId: path.campaignId
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/campaigns/stats/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Get stats for up to 100 campaigns at once
      effect: read
      questions:
      - How do I compare detailed performance stats for many campaigns in one request?
      - What's the limit on campaigns per batch stats call?
      instructions:
      - text: Get batch stats for campaigns {campaignIds} from {startDate} to {endDate}.
        slots:
          campaignIds: requestBody.campaignIds
          startDate: requestBody.startDate
          endDate: requestBody.endDate
      - text: Compare campaigns {campaignIds} sent by {sendUser} between {startDate} and {endDate}.
        slots:
          campaignIds: requestBody.campaignIds
          sendUser: requestBody.sendUser
          startDate: requestBody.startDate
          endDate: requestBody.endDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/duplicate'].post
  update:
    x-apievangelist-phrasing:
      intent: Duplicate a campaign
      effect: write
      questions:
      - Can I copy an existing campaign to reuse its sequence?
      - What name does a duplicated campaign get if I don't pick one?
      instructions:
      - text: Duplicate campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      - text: Make a copy of campaign {campaignId} named {name}.
        slots:
          campaignId: path.campaignId
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/campaigns/{campaignId}/statutes'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a campaign for launch errors and warnings
      effect: read
      questions:
      - Why can't my campaign launch, and what's blocking it?
      - Does my campaign have DNS or daily-limit warnings before I start it?
      instructions:
      - text: Check campaign {campaignId} for blocking errors and warnings.
        slots:
          campaignId: path.campaignId
      - text: Run the launch validation on campaign {campaignId}.
        slots:
          campaignId: path.campaignId
      method: generated
      generated: '2026-10-01'