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