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