Klaviyo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Klaviyo Events API
9 actions
9 updates
phrasing
extends
openapi/klaviyo-events-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 9
$.info
$.paths['/api/events'].get
$.paths['/api/events'].post
$.paths['/api/events/{id}'].get
$.paths['/api/event-bulk-create-jobs'].post
$.paths['/api/events/{id}/metric'].get
$.paths['/api/events/{id}/relationships/metric'].get
$.paths['/api/events/{id}/profile'].get
$.paths['/api/events/{id}/relationships/profile'].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 Events API
version: 1.0.0
extends: openapi/klaviyo-events-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: 8
- target: $.paths['/api/events'].get
update:
x-apievangelist-phrasing:
intent: List tracked events
effect: read
questions:
- How do I pull the activity events recorded in my Klaviyo account?
- Can I filter events to a single metric such as Placed Order?
- Is there a way to sort events by when they happened?
instructions:
- text: List the most recent events in my account.
- text: Show events matching {filter}, sorted by {sort}.
slots:
filter: query.filter
sort: query.sort
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events'].post
update:
x-apievangelist-phrasing:
intent: Track an event for a profile
effect: write
questions:
- How do I record that a customer did something, like starting checkout?
- Will tracking an event create the profile if it doesn't exist yet?
instructions:
- text: 'Track this event for the customer: {event}.'
slots:
event: requestBody.data
- text: Record a single activity for one profile with metric and properties {event}.
slots:
event: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one event by ID
effect: read
questions:
- What properties were recorded on a specific event?
- Can I fetch a single event along with its metric and profile?
instructions:
- text: Get event {event_id}.
slots:
event_id: path.id
- text: Show event {event_id} with its {include}.
slots:
event_id: path.id
include: query.include
method: generated
generated: '2026-09-26'
- target: $.paths['/api/event-bulk-create-jobs'].post
update:
x-apievangelist-phrasing:
intent: Track a batch of events at once
effect: write
questions:
- Can I send many events for multiple profiles in a single request?
- What's the best way to backfill historical activity in bulk?
instructions:
- text: 'Bulk create these events: {events}.'
slots:
events: requestBody.data
- text: Backfill the batch of past orders in {events} as events.
slots:
events: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/{id}/metric'].get
update:
x-apievangelist-phrasing:
intent: Get the metric an event belongs to
effect: read
questions:
- Which metric is a given event recorded under?
- Can I get the full metric record from an event ID?
instructions:
- text: Get the metric for event {event_id}.
slots:
event_id: path.id
- text: Show full metric details behind event {event_id}.
slots:
event_id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/{id}/relationships/metric'].get
update:
x-apievangelist-phrasing:
intent: Get the metric ID for an event
effect: read
questions:
- Can I fetch only the metric ID linked to an event?
- What metric relationship does an event carry?
instructions:
- text: Get just the metric ID for event {event_id}.
slots:
event_id: path.id
- text: Return the metric relationship of event {event_id}.
slots:
event_id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/{id}/profile'].get
update:
x-apievangelist-phrasing:
intent: Get the profile behind an event
effect: read
questions:
- Who performed a particular tracked event?
- Can I get the full customer profile from an event ID?
instructions:
- text: Get the profile that performed event {event_id}.
slots:
event_id: path.id
- text: Show the full customer record for event {event_id}.
slots:
event_id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/{id}/relationships/profile'].get
update:
x-apievangelist-phrasing:
intent: Get the profile ID for an event
effect: read
questions:
- Can I fetch only the profile ID tied to an event?
- What profile relationship does an event hold?
instructions:
- text: Get just the profile ID for event {event_id}.
slots:
event_id: path.id
- text: Return the profile relationship of event {event_id}.
slots:
event_id: path.id
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/klaviyo-events-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.