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

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

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