# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Snov.io Campaigns API version: 1.0.0 extends: openapi/snov-io-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: 24 - target: $.paths['/v1/user-campaigns'].get update: x-apievangelist-phrasing: intent: List my outreach campaigns effect: read questions: - Which outreach campaigns do I have set up in Snov.io? - Can I see all of my multi-channel campaigns in one list? instructions: - text: List all my outreach campaigns. - text: Show every multi-channel campaign on my account. method: generated generated: '2026-10-01' - target: $.paths['/v1/create-campaign'].post update: x-apievangelist-phrasing: intent: Create an outreach campaign effect: write questions: - How do I create a new multi-channel outreach campaign? - Can I turn on open and click tracking when I set up a new campaign? instructions: - text: Create a new campaign called {name}. slots: name: requestBody.name - text: Create campaign {name} sending from account {sender_account_id} on schedule {schedule_id}. slots: name: requestBody.name sender_account_id: requestBody.sender_account_id schedule_id: requestBody.schedule_id - text: Start a new campaign named {name} with open tracking set to {track_opens} and click tracking {track_clicks}. slots: name: requestBody.name track_opens: requestBody.track_opens track_clicks: requestBody.track_clicks method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign/{id}'].get update: x-apievangelist-phrasing: intent: Get a campaign's details effect: read questions: - What settings does one specific campaign have? - Can I look up a single campaign by its ID? instructions: - text: Show me the details of campaign {id}. slots: id: path.id - text: Pull up the settings for campaign {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign/{id}'].put update: x-apievangelist-phrasing: intent: Update an existing campaign's settings effect: write questions: - Can I rename a campaign I already created? - Is it possible to change the sender account or schedule on an existing campaign? instructions: - text: Rename campaign {id} to {name}. slots: id: path.id name: requestBody.name - text: Switch existing campaign {id} named {name} to send from account {sender_account_id}. slots: id: path.id name: requestBody.name sender_account_id: requestBody.sender_account_id - text: Change the schedule of campaign {id} ({name}) to {schedule_id}. slots: id: path.id name: requestBody.name schedule_id: requestBody.schedule_id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a campaign effect: destructive questions: - How do I permanently remove a campaign? - Is deleting a campaign reversible? instructions: - text: Delete campaign {id}. slots: id: path.id - text: Permanently remove campaign {id} from my account. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign/{id}/state'].post update: x-apievangelist-phrasing: intent: Start, pause or stop a campaign effect: write questions: - Can I pause a running campaign and resume it later? - How do I launch a campaign so it starts sending? instructions: - text: Set campaign {id} to state {state}. slots: id: path.id state: requestBody.state - text: Pause campaign {id} by changing its state to {state}. slots: id: path.id state: requestBody.state method: generated generated: '2026-10-01' - target: $.paths['/v1/email-schedules'].get update: x-apievangelist-phrasing: intent: List email send schedules effect: read questions: - What send schedules are available for my campaign emails? - Which sending time windows can I pick for a campaign? instructions: - text: List my email send schedules. - text: Show the schedules I can attach to a campaign. method: generated generated: '2026-10-01' - target: $.paths['/v1/email-step-content'].post update: x-apievangelist-phrasing: intent: Add an email step to a campaign effect: write questions: - Can I add a follow-up email step to a campaign through the API? - How do I set the delay in days before a campaign email step goes out? instructions: - text: Add email step {step_number} to campaign {campaign_id} with subject {subject}. slots: step_number: requestBody.step_number campaign_id: requestBody.campaign_id subject: requestBody.subject - text: Create a step in campaign {campaign_id} with body {body} sent {delay_days} days after the previous one. slots: campaign_id: requestBody.campaign_id body: requestBody.body delay_days: requestBody.delay_days method: generated generated: '2026-10-01' - target: $.paths['/v1/email-step-content/{id}'].get update: x-apievangelist-phrasing: intent: Get a campaign email step's content effect: read questions: - What subject and body does a given campaign email step use? - Can I read back the content of one email step? instructions: - text: Show the content of email step {id}. slots: id: path.id - text: Get subject and body for campaign email step {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/email-step-content/{id}'].put update: x-apievangelist-phrasing: intent: Edit a campaign email step effect: write questions: - Can I change the subject line of an email step that already exists? - Is it possible to edit the wording of a follow-up step after creating it? instructions: - text: Change the subject of email step {id} to {subject}. slots: id: path.id subject: requestBody.subject - text: Replace the body of existing email step {id} with {body}. slots: id: path.id body: requestBody.body - text: Set the delay for email step {id} to {delay_days} days. slots: id: path.id delay_days: requestBody.delay_days method: generated generated: '2026-10-01' - target: $.paths['/v1/email-step-content/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a campaign email step effect: destructive questions: - How do I remove an email step from a campaign sequence? - Can I delete one step without deleting the whole campaign? instructions: - text: Delete email step {id}. slots: id: path.id - text: Remove the email step content {id} from its campaign. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/recipient-status'].get update: x-apievangelist-phrasing: intent: Check a recipient's status in a campaign effect: read questions: - What status is a particular contact at in my campaign? - Can I check whether one email address is still active in a campaign? instructions: - text: Check the status of {email} in campaign {campaign_id}. slots: email: query.email campaign_id: query.campaign_id - text: Tell me where {email} stands in campaign {campaign_id}. slots: email: query.email campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/recipient-status'].post update: x-apievangelist-phrasing: intent: Change a recipient's status in a campaign effect: write questions: - Can I manually mark a contact's status in a campaign, for example to stop emailing them? - How do I update a recipient's campaign status by email? instructions: - text: Set {email} to status {status} in campaign {campaign_id}. slots: email: requestBody.email status: requestBody.status campaign_id: requestBody.campaign_id - text: Change the campaign status of {email} in {campaign_id} to {status}. slots: email: requestBody.email campaign_id: requestBody.campaign_id status: requestBody.status method: generated generated: '2026-10-01' - target: $.paths['/v1/finished-prospects'].get update: x-apievangelist-phrasing: intent: List prospects who finished a campaign effect: read questions: - Which prospects have gone through every step of my campaign? - Can I get a list of contacts who completed a sequence? instructions: - text: List prospects who finished campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show who has completed all steps in campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/do-not-email-list'].post update: x-apievangelist-phrasing: intent: Add emails to a do-not-email list effect: write questions: - How do I stop certain addresses from ever being emailed by my campaigns? - Can I add several addresses to a specific suppression list at once? instructions: - text: Add {emails} to my do-not-email list. slots: emails: requestBody.emails - text: Suppress {emails} by adding them to do-not-email list {list_id}. slots: emails: requestBody.emails list_id: requestBody.list_id method: generated generated: '2026-10-01' - target: $.paths['/v1/do-not-email-lists'].get update: x-apievangelist-phrasing: intent: List do-not-email suppression lists effect: read questions: - What suppression lists do I already have on my account? - Which do-not-email lists exist that I can add addresses to? instructions: - text: List my do-not-email lists. - text: Show all suppression lists on my account. method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign-analytics'].get update: x-apievangelist-phrasing: intent: Get aggregate analytics for a campaign effect: read questions: - How is my campaign performing overall? - Can I get summary analytics for one campaign? instructions: - text: Show aggregate analytics for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Give me the overall performance numbers for campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign-progress'].get update: x-apievangelist-phrasing: intent: Get progress of a running campaign effect: read questions: - How far along is a campaign that's currently running? - What share of a running campaign's recipients have been processed so far? instructions: - text: Show progress statistics for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Check how far running campaign {campaign_id} has gotten. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign-recipients-activity'].get update: x-apievangelist-phrasing: intent: Get a recipient activity report for a campaign effect: read questions: - Can I see what each recipient did in a campaign? - Where do I get a detailed per-recipient activity report? instructions: - text: Get the recipients activity report for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show per-recipient activity in campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/emails-sent'].get update: x-apievangelist-phrasing: intent: List emails sent in a campaign effect: read questions: - Which emails has my campaign actually sent? - Can I see a list of every message that went out from a campaign? instructions: - text: List the emails sent in campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show me what campaign {campaign_id} has sent so far. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/emails-opens'].get update: x-apievangelist-phrasing: intent: Get email opens for a campaign effect: read questions: - Who opened the emails from my campaign? - Can I pull the open events for a campaign? instructions: - text: Get email open events for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show who opened emails in campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/emails-clicks'].get update: x-apievangelist-phrasing: intent: Get link clicks for a campaign effect: read questions: - Which recipients clicked links in my campaign emails? - Can I see the link click events for one campaign? instructions: - text: Get link click events for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show who clicked links in campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign-replies'].get update: x-apievangelist-phrasing: intent: Get all replies across a campaign effect: read questions: - Who replied to my campaign, across every step? - Can I get every reply a campaign received regardless of which email step prompted it? instructions: - text: Get all replies across every step of campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show every reply campaign {campaign_id} has received. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/v1/campaign-email-replies'].get update: x-apievangelist-phrasing: intent: Get replies to a specific campaign email step effect: read questions: - Can I see replies to just one email step of a campaign? - Which replies came in response to a particular step in my sequence? instructions: - text: Get step-level email replies for campaign {campaign_id}. slots: campaign_id: query.campaign_id - text: Show replies scoped to individual email steps in campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-10-01'