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