Klaviyo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Klaviyo Client API

12 actions 12 updates phrasing extends openapi/klaviyo-client-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 12

$.info
$.paths['/client/review-values-reports'].get
$.paths['/client/reviews'].get
$.paths['/client/reviews'].post
$.paths['/client/geofences'].get
$.paths['/client/subscriptions'].post
$.paths['/client/push-tokens'].post
$.paths['/client/push-token-unregister'].post
$.paths['/client/events'].post
$.paths['/client/profiles'].post
$.paths['/client/event-bulk-create'].post
$.paths['/client/back-in-stock-subscriptions'].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 Klaviyo Client API
  version: 1.0.0
extends: openapi/klaviyo-client-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: 11
- target: $.paths['/client/review-values-reports'].get
  update:
    x-apievangelist-phrasing:
      intent: Get review statistics for a storefront
      effect: read
      questions:
      - Can my storefront show average star rating and review counts per product?
      - Which statistics and timeframes can I group review reports by?
      instructions:
      - text: Get review {statistics} for site {site_id} grouped by {group_by} over {timeframe}.
        slots:
          statistics: query.statistics
          site_id: query.company_id
          group_by: query.group_by
          timeframe: query.timeframe
      - text: Show review value reports for site {site_id} grouped by {group_by}.
        slots:
          site_id: query.company_id
          group_by: query.group_by
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/reviews'].get
  update:
    x-apievangelist-phrasing:
      intent: List reviews from a client-side app
      effect: read
      questions:
      - How do I display product reviews on my storefront from the browser?
      - Can a client-side page show only verified or five-star reviews?
      instructions:
      - text: List reviews for site {site_id} from the storefront.
        slots:
          site_id: query.company_id
      - text: Fetch client-side reviews for site {site_id} matching {filter}.
        slots:
          site_id: query.company_id
          filter: query.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/reviews'].post
  update:
    x-apievangelist-phrasing:
      intent: Submit a review from the storefront
      effect: write
      questions:
      - Can shoppers submit a product review straight from my website?
      - What's needed to post a review from a client-side environment?
      instructions:
      - text: Submit review {review} for site {site_id}.
        slots:
          review: requestBody.data
          site_id: query.company_id
      - text: 'Post a shopper''s product review from the browser: {review} on site {site_id}.'
        slots:
          review: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/geofences'].get
  update:
    x-apievangelist-phrasing:
      intent: List geofences for a mobile app
      effect: read
      questions:
      - Which geofences should my mobile app monitor?
      - Can I sort geofences by distance from the user's location?
      instructions:
      - text: List geofences for site {site_id}.
        slots:
          site_id: query.company_id
      - text: Get geofences for site {site_id} nearest to location {location}.
        slots:
          site_id: query.company_id
          location: header.X-Klaviyo-API-Filters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe a visitor to email or SMS from the browser
      effect: write
      questions:
      - How do I capture email or SMS consent from a signup form on my site?
      - Do I need both an email and a phone number to subscribe someone client-side?
      instructions:
      - text: Subscribe visitor {subscription} to marketing for site {site_id}.
        slots:
          subscription: requestBody.data
          site_id: query.company_id
      - text: 'Record email and SMS consent from my signup form for site {site_id}: {subscription}.'
        slots:
          subscription: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/push-tokens'].post
  update:
    x-apievangelist-phrasing:
      intent: Register or refresh a mobile push token
      effect: write
      questions:
      - How does my iOS or Android app register a device for push notifications?
      - Can the mobile SDK update an existing push token?
      instructions:
      - text: Register push token {token} for site {site_id}.
        slots:
          token: requestBody.data
          site_id: query.company_id
      - text: 'Save or refresh this device''s push token for site {site_id}: {token}.'
        slots:
          token: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/push-token-unregister'].post
  update:
    x-apievangelist-phrasing:
      intent: Unregister a mobile push token
      effect: destructive
      questions:
      - How do I stop push notifications to a device when the user logs out?
      - Can the mobile app unregister its push token?
      instructions:
      - text: Unregister push token {token} for site {site_id}.
        slots:
          token: requestBody.data
          site_id: query.company_id
      - text: 'Stop sending push to this device on site {site_id}: {token}.'
        slots:
          token: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/events'].post
  update:
    x-apievangelist-phrasing:
      intent: Track a shopper event from the browser
      effect: write
      questions:
      - How do I track a Viewed Product event from my website's JavaScript?
      - Can I record one activity event client-side with a public key?
      instructions:
      - text: Track event {event} from the browser for site {site_id}.
        slots:
          event: requestBody.data
          site_id: query.company_id
      - text: 'Record this single storefront activity for site {site_id}: {event}.'
        slots:
          event: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/profiles'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a profile from the browser
      effect: write
      questions:
      - Can I save a visitor's properties from my site without tracking an event?
      - How are profile attributes updated from a client-side page?
      instructions:
      - text: Create or update profile {profile} for site {site_id}.
        slots:
          profile: requestBody.data
          site_id: query.company_id
      - text: 'Set these visitor properties client-side for site {site_id}: {profile}.'
        slots:
          profile: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/event-bulk-create'].post
  update:
    x-apievangelist-phrasing:
      intent: Track many shopper events from the browser
      effect: write
      questions:
      - Can I send a batch of activity events from a client-side app in one request?
      - What's the maximum number of events per client-side bulk call?
      instructions:
      - text: 'Track these events in one batch for site {site_id}: {events}.'
        slots:
          events: requestBody.data
          site_id: query.company_id
      - text: Bulk send storefront activity {events} for site {site_id}.
        slots:
          events: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/client/back-in-stock-subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Sign up a shopper for back-in-stock alerts on-site
      effect: write
      questions:
      - How do I add a 'notify me when available' button to a product page?
      - Can a shopper subscribe to restock alerts from the browser?
      instructions:
      - text: Subscribe shopper {subscription} to back in stock alerts from the storefront for site {site_id}.
        slots:
          subscription: requestBody.data
          site_id: query.company_id
      - text: 'Create a client-side restock notification for site {site_id}: {subscription}.'
        slots:
          subscription: requestBody.data
          site_id: query.company_id
      method: generated
      generated: '2026-09-26'