# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Klaviyo Coupons API version: 1.0.0 extends: openapi/klaviyo-coupons-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: 17 - target: $.paths['/api/coupons'].get update: x-apievangelist-phrasing: intent: List coupons in the account effect: read questions: - What coupons have I set up in Klaviyo? - Can I page through my coupons a few at a time? instructions: - text: List all my coupons. - text: Show my coupons {page_size} per page. slots: page_size: query.page[size] method: generated generated: '2026-09-26' - target: $.paths['/api/coupons'].post update: x-apievangelist-phrasing: intent: Create a coupon effect: write questions: - How do I set up a new coupon that I can generate unique codes for? - What do I need to provide when creating a coupon? instructions: - text: Create a coupon named {coupon}. slots: coupon: requestBody.data - text: 'Set up a new coupon with these details: {coupon}.' slots: coupon: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/api/coupons/{id}'].get update: x-apievangelist-phrasing: intent: Get one coupon by ID effect: read questions: - How can I look up a single coupon's settings? - Can I fetch a coupon by its ID? instructions: - text: Get coupon {coupon_id}. slots: coupon_id: path.id - text: Show the settings of coupon {coupon_id}. slots: coupon_id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/coupons/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a coupon effect: destructive questions: - How do I remove a coupon I no longer offer? - Can I delete a coupon by its ID? instructions: - text: Delete coupon {coupon_id}. slots: coupon_id: path.id - text: Remove the retired coupon {coupon_id}. slots: coupon_id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/coupons/{id}'].patch update: x-apievangelist-phrasing: intent: Update a coupon effect: write questions: - Can I change the description of an existing coupon? - What's the way to edit a coupon after it's created? instructions: - text: Update coupon {coupon_id} with {changes}. slots: coupon_id: path.id changes: requestBody.data - text: Change the description of coupon {coupon_id} to {changes}. slots: coupon_id: path.id changes: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes'].get update: x-apievangelist-phrasing: intent: List coupon codes by coupon or profile effect: read questions: - Which coupon codes have been issued to a particular customer? - Why do I need to filter by coupon or profile to list coupon codes? instructions: - text: List coupon codes matching {filter}. slots: filter: query.filter - text: Find the coupon codes assigned to the profile in {filter}. slots: filter: query.filter method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes'].post update: x-apievangelist-phrasing: intent: Create a single coupon code effect: write questions: - How do I add one unique code to an existing coupon? - Is creating a single coupon code immediate or queued? instructions: - text: Create coupon code {coupon_code} for its coupon. slots: coupon_code: requestBody.data - text: 'Add a single unique code to a coupon: {coupon_code}.' slots: coupon_code: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes/{id}'].get update: x-apievangelist-phrasing: intent: Get one coupon code by ID effect: read questions: - What's the status and expiry of a specific coupon code? - Can I see which profile a coupon code is assigned to? instructions: - text: Get coupon code {code_id}. slots: code_id: path.id - text: Show coupon code {code_id} with its {include}. slots: code_id: path.id include: query.include method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a coupon code effect: destructive questions: - How do I remove a coupon code that was never used? - Can I delete a coupon code that's already assigned to a profile? instructions: - text: Delete coupon code {code_id}. slots: code_id: path.id - text: Remove the unassigned coupon code {code_id}. slots: code_id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes/{id}'].patch update: x-apievangelist-phrasing: intent: Update a coupon code's status or expiry effect: write questions: - Can I change when a coupon code expires? - Which fields on a coupon code can be updated? instructions: - text: Update coupon code {code_id} with {changes}. slots: code_id: path.id changes: requestBody.data - text: 'Set a new expiration date on coupon code {code_id}: {changes}.' slots: code_id: path.id changes: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-code-bulk-create-jobs'].get update: x-apievangelist-phrasing: intent: List bulk coupon code creation jobs effect: read questions: - Where can I see all my bulk coupon code upload jobs? - Can I filter coupon code jobs by status? instructions: - text: List all bulk coupon code creation jobs. - text: Show coupon code jobs matching {filter}. slots: filter: query.filter method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-code-bulk-create-jobs'].post update: x-apievangelist-phrasing: intent: Bulk create up to 1,000 coupon codes effect: write questions: - How many coupon codes can I upload in one bulk job? - What's the limit on how many bulk code jobs can be queued at once? instructions: - text: 'Bulk create these coupon codes: {coupon_codes}.' slots: coupon_codes: requestBody.data - text: Start a job to upload {coupon_codes} to a coupon. slots: coupon_codes: requestBody.data method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-code-bulk-create-jobs/{job_id}'].get update: x-apievangelist-phrasing: intent: Check a bulk coupon code job effect: read questions: - Has my bulk coupon code upload finished? - How many codes succeeded or failed in a specific bulk job? instructions: - text: Get bulk coupon code job {job_id}. slots: job_id: path.job_id - text: Check the progress of code upload job {job_id}. slots: job_id: path.job_id method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes/{id}/coupon'].get update: x-apievangelist-phrasing: intent: Get the coupon a code belongs to effect: read questions: - Which coupon does a given code belong to? - Can I get the full parent coupon from a code ID? instructions: - text: Get the coupon that code {code_id} belongs to. slots: code_id: path.id - text: Show the full parent coupon of code {code_id}. slots: code_id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/coupon-codes/{id}/relationships/coupon'].get update: x-apievangelist-phrasing: intent: Get the coupon ID for a code effect: read questions: - Can I fetch only the parent coupon ID for a coupon code? - What coupon relationship does a code carry? instructions: - text: Get just the coupon ID for code {code_id}. slots: code_id: path.id - text: Return the coupon relationship of code {code_id}. slots: code_id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/coupons/{id}/coupon-codes'].get update: x-apievangelist-phrasing: intent: List codes issued for a coupon effect: read questions: - What unique codes exist under one coupon? - Can I filter a coupon's codes by status or expiry? instructions: - text: List the codes issued under coupon {coupon_id}. slots: coupon_id: path.id - text: Show codes for coupon {coupon_id} matching {filter}. slots: coupon_id: path.id filter: query.filter method: generated generated: '2026-09-26' - target: $.paths['/api/coupons/{id}/relationships/coupon-codes'].get update: x-apievangelist-phrasing: intent: Get code IDs for a coupon effect: read questions: - Can I get only the IDs of codes under a coupon? - What coupon-code relationships does a coupon have? instructions: - text: Get just the code IDs for coupon {coupon_id}. slots: coupon_id: path.id - text: Return coupon-code relationships of coupon {coupon_id}. slots: coupon_id: path.id method: generated generated: '2026-09-26'