Klaviyo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Klaviyo Coupons API
18 actions
18 updates
phrasing
extends
openapi/klaviyo-coupons-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Klaviyo's API. It is a proposal applied on top of the contract, not a document Klaviyo publishes.
What the actions change
x-apievangelist-phrasing
Targets 18 · first 16 shown; the file carries all of them
$.info
$.paths['/api/coupons'].get
$.paths['/api/coupons'].post
$.paths['/api/coupons/{id}'].get
$.paths['/api/coupons/{id}'].delete
$.paths['/api/coupons/{id}'].patch
$.paths['/api/coupon-codes'].get
$.paths['/api/coupon-codes'].post
$.paths['/api/coupon-codes/{id}'].get
$.paths['/api/coupon-codes/{id}'].delete
$.paths['/api/coupon-codes/{id}'].patch
$.paths['/api/coupon-code-bulk-create-jobs'].get
$.paths['/api/coupon-code-bulk-create-jobs'].post
$.paths['/api/coupon-code-bulk-create-jobs/{job_id}'].get
$.paths['/api/coupon-codes/{id}/coupon'].get
$.paths['/api/coupon-codes/{id}/relationships/coupon'].get
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 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'