Stannp · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Stannp Direct Mail Campaigns API

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

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/campaigns/list'].get
$.paths['/campaigns/get/{id}'].get
$.paths['/campaigns/create'].post
$.paths['/campaigns/sample'].post
$.paths['/campaigns/approve'].post
$.paths['/campaigns/cost'].post
$.paths['/campaigns/availableDates'].post
$.paths['/campaigns/book'].post
$.paths['/campaigns/delete'].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 Stannp Direct Mail Campaigns API
  version: 1.0.0
extends: openapi/stannp-campaigns-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/campaigns/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List direct mail campaigns
      effect: read
      questions:
      - What mail campaigns have I created so far?
      - Can I see all my Stannp campaigns in one list?
      instructions:
      - text: List all my direct mail campaigns.
      - text: Show every campaign on my account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/get/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a campaign
      effect: read
      questions:
      - What are the settings and status of one particular campaign?
      - Can I pull up a single campaign's details by its ID?
      instructions:
      - text: Show the details of campaign {id}.
        slots:
          id: path.id
      - text: Check the current status of mail campaign {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a direct mail campaign for a group
      effect: write
      questions:
      - How do I set up a bulk mailing to everyone in one of my recipient groups?
      - Can a campaign go only to the valid addresses in a group?
      - Is it possible to save a new campaign as a draft rather than finish it now?
      instructions:
      - text: Create a {type} campaign named {name} for group {group_id} using template {template_id}.
        slots:
          type: requestBody.type
          name: requestBody.name
          group_id: requestBody.group_id
          template_id: requestBody.template_id
      - text: Start a letter campaign called {name} of type {type} to group {group_id} from the PDF at {file}.
        slots:
          name: requestBody.name
          type: requestBody.type
          group_id: requestBody.group_id
          file: requestBody.file
      - text: Set up postcard campaign {name} ({type}) for group {group_id} with front {front} and back {back}.
        slots:
          name: requestBody.name
          type: requestBody.type
          group_id: requestBody.group_id
          front: requestBody.front
          back: requestBody.back
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/sample'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a sample PDF of a campaign
      effect: read
      questions:
      - Can I see a proof of what a campaign's mailpiece will look like before approving it?
      - How long does a campaign's sample PDF link stay valid?
      instructions:
      - text: Generate a sample PDF proof for campaign {id}.
        slots:
          id: requestBody.id
      - text: Give me a preview of the mailpiece in campaign {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/approve'].post
  update:
    x-apievangelist-phrasing:
      intent: Approve a campaign for booking
      effect: write
      questions:
      - What do I need to do before a campaign can be scheduled?
      - How do I sign off on a campaign's design so it's ready to book?
      instructions:
      - text: Approve campaign {id} so it can be booked.
        slots:
          id: requestBody.id
      - text: Mark campaign {id} as signed off and ready for booking.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/cost'].post
  update:
    x-apievangelist-phrasing:
      intent: Calculate what a campaign will cost
      effect: read
      questions:
      - How much will it cost to send a campaign, including VAT?
      - Can I see a per-recipient cost breakdown before I book a mailing?
      instructions:
      - text: Work out the total cost of campaign {id}.
        slots:
          id: requestBody.id
      - text: Show the recipient breakdown and VAT for campaign {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/availableDates'].post
  update:
    x-apievangelist-phrasing:
      intent: Find available campaign dispatch dates
      effect: read
      questions:
      - Which dates can my campaign be sent out on?
      - Is there an open dispatch slot for a mailing within a particular date range?
      instructions:
      - text: List the available dispatch dates between {start} and {end}.
        slots:
          start: requestBody.start
          end: requestBody.end
      - text: Show which upcoming days I can book a campaign to go out.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/book'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a campaign for dispatch
      effect: write
      questions:
      - How do I schedule an approved campaign to go out on a specific day?
      - What if the date I pick for my mailing is unavailable?
      - Can I pay for a booked campaign from my account balance?
      instructions:
      - text: Book campaign {id} for dispatch on {send_date}.
        slots:
          id: requestBody.id
          send_date: requestBody.send_date
      - text: Schedule campaign {id} for {send_date}, falling back to the next available date, paid from my balance.
        slots:
          id: requestBody.id
          send_date: requestBody.send_date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/campaigns/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a campaign
      effect: destructive
      questions:
      - Can I get rid of a campaign I no longer plan to send?
      - Is deleting a mail campaign permanent?
      instructions:
      - text: Delete campaign {id} permanently.
        slots:
          id: requestBody.id
      - text: Remove mail campaign {id} from my account.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-26'