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

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

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