Snov.io · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Snov.io Campaigns API
25 actions
25 updates
phrasing
extends
openapi/snov-io-campaigns-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Snov.io's API. It is a proposal applied on top of the contract, not a document Snov.io publishes.
What the actions change
x-apievangelist-phrasing
Targets 25 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/user-campaigns'].get
$.paths['/v1/create-campaign'].post
$.paths['/v1/campaign/{id}'].get
$.paths['/v1/campaign/{id}'].put
$.paths['/v1/campaign/{id}'].delete
$.paths['/v1/campaign/{id}/state'].post
$.paths['/v1/email-schedules'].get
$.paths['/v1/email-step-content'].post
$.paths['/v1/email-step-content/{id}'].get
$.paths['/v1/email-step-content/{id}'].put
$.paths['/v1/email-step-content/{id}'].delete
$.paths['/v1/recipient-status'].get
$.paths['/v1/recipient-status'].post
$.paths['/v1/finished-prospects'].get
$.paths['/v1/do-not-email-list'].post
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 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'