Powerful automation workflows you can set up in minutes with AI agents.
When Shopify reports a 60-day lapsed customer, run Add Profile to List in Klaviyo and trigger the win-back campaign send.
“60-day lapsed in Shopify -> Klaviyo list add -> win-back send.”
On Shopify fulfillment, use Bulk create events in Klaviyo to fire a 'shipped' event and send the review-request flow 7 days later.
“Shopify fulfillment -> Klaviyo event -> review email 7 days out.”
When Shopify restocks a SKU, run Create back in stock subscription so waitlisters automatically get an email notification.
“Shopify restock -> Klaviyo back-in-stock event -> subscribers emailed.”
An event occurs in Klaviyo or a connected app that starts your automation.
The AI agent analyzes the data, makes intelligent decisions, and determines the best actions.
The agent executes actions in Klaviyo and other tools — no manual work required.
Klaviyo simplifies workflows, while Arahi AI empowers these tasks with AI Sales Agents.
When someone signs up or buys, add them to the right Klaviyo list with tags that match their source.
Kick off a Klaviyo sequence when a specific action happens in your app, CRM, or store — no manual exports.
Suppress hard-bounced and unsubscribed emails in Klaviyo across all connected sources to keep deliverability high.
Pick the Klaviyo subject-line variant that wins on open rate and auto-schedule the follow-up send.
Ready-to-use Klaviyo actions you can add to your agents instantly.
Custom API calls to Klaviyo with full control for advanced use cases.
Sign in to your Arahi AI account and navigate to integrations or create a new AI agent.
A secure pop-up will ask you to log in. This authorizes Arahi AI to access your API using API Key.
Choose "Klaviyo" from the tool list, then select the action you want to perform.
Test your automation with sample data, then deploy it to run on schedule or by event.
The integration uses secure API Key authentication, ensuring only authorized workflows access your Klaviyo data.
Your data remains private and is never used for model training.
We never store anything we don't need to. Inputs and outputs of your tools are never stored.
Email Marketing and SMS Marketing Platform With Arahi AI, you can connect Klaviyo to Amazon SES, Brevo (formerly Sendinblue), ConvertKit and 1,500+ other apps using AI-powered workflows. No coding required — set up triggers, actions, and intelligent automation in minutes.
As a marketing tool, Klaviyo connects with other marketing apps like Amazon SES, Brevo (formerly Sendinblue), ConvertKit, Mailchimp through Arahi AI's integration platform. Build multi-step automations that combine Klaviyo with AI-powered decision making, data transformation, and cross-app orchestration.
Every item is a real, named endpoint from Klaviyo's API. Your agent can watch events and run 231 actions — no glue code.
Things the agent can do
Add profiles to a klaviyo list by profile ids or email addresses. this action subscribes profiles to a marketing list, which is ideal for giving marketing consent. you can add up…
Creates a non-reusable version of the template and assigns it to the message.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Use the client-side endpoint with a public api key to track profile activity. it accepts up to 1000 events/request with rates of 10/s burst and 150/m steady. for server-side, use…
This api endpoint creates or updates profiles by batching up to 1,000 events, with a 5mb payload limit. minimum required: a profile id and metric name. it has rate limits of 10 e…
Use the server-side endpoint to subscribe to restock alerts, following the back in stock api guide. for client-side, use the post endpoint provided. rate limits: 350/s burst and …
Creates a campaign given a set of parameters, then returns it.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Clones an existing campaign, returning a new campaign based on the original with a new id and name.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaig…
Start an asynchronous task to estimate the number of recipients for a campaign. this action creates a background job that calculates how many profiles would receive the campaign …
Trigger a campaign to send asynchronously<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Create a new catalog category.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Create a new item relationship for the given category id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Create a new catalog item.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Create a new catalog category relationship for the given item id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Create a new variant for a related catalog item.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Use the endpoint for client-side back in stock notifications with a public api key. for server-side, use post /api/back-in-stock-subscriptions. limits are 350 requests per second…
Create client-side events to track profiles using a public api key, not for updating identifiers (server-side only). rate limits: 350/s, 3500/m. use `events:write` scope.
Endpoint manages email/sms opt-ins using consent and requires public api key for client use. allows single-channel with details. rate limit: 100/s burst, 700/m steady, under 'sub…
Creates a new coupon.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `coupons:write`
Synchronously creates a coupon code for the given coupon.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `coupon-codes:write`
Create or update a profile event with minimum identifiers and metric name. success means validation, not completion. burst limit: 350/s, steady: 3500/m. scope required: `events:w…
Create a new list.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m`<br>daily: `100/d` **scopes:** `lists:write`
Update user profiles without tracking using a public client-side api; use a private server-side api for identifier changes. burst rate is 350 requests/sec and 3500 requests/min w…
This endpoint for mobile sdks (ios & android) creates/updates push tokens using a public api key. push notifications must be enabled. for migrating tokens use the server-side pos…
Create or update a profile in klaviyo with the given attributes. this action allows you to create a new profile or update an existing one if it already exists (based on email or …
Migrate or create push tokens with klaviyo's endpoint, utilizing their mobile sdks for ios & android. rate limits: 75/s burst, 700/m steady. requires profiles:write and push-toke…
Create a new profile.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `profiles:write`
Create a segment.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m`<br>daily: `100/d` **scopes:** `segments:write`
Summary: instructions on creating a tag within an account's designated tag group with a maximum of 500 tags, with optional tag group specification. rate limits are 3/s burst and …
Create tag groups up to 50 per account, defaulting to non-exclusive unless specified. related resources can have multiple non-exclusive tags but only one if exclusive. rate limit…
Summary: link a tag to campaigns, ensuring a limit of 100 tags per campaign. campaign ids should be sent via request body. rate limit: 3/s, 60/m. required scopes: campaigns:write…
Assign tags to flows using their ids in the request body, ensuring a flow is not linked to over 100 tags. rate limits are 3/s burst and 60/m steady. required scopes: `flows:write…
Summary: a tag can be added to one or more lists, with a max of 100 tags per list. use the request body to link tag and list ids. tag: #apiusagelimits scopes: lists:write, tags:w…
Summary: set tag associations with segments using the request body, limited to one tag per segment and up to 100 tags per segment. rate limits are three requests per second and s…
Summary: custom html templates can be created unless an account reaches 1,000 template limit. use sparse fieldsets to request specific fields. rate limits are 10 per second and 1…
Clone a template by its id, but cloning fails if account has 1,000+ templates. api limit: 1,000 templates. rate limits are 10 per second and 150 per minute. requires `templates:w…
Render an email template with specific context and sparse fieldsets, then get html/plain text. rate limit: 3/s burst, 60/m steady. scope: templates:read.
Create a new webhook<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:write`
Delete a campaign with the given campaign id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Delete a catalog category using the given category id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Delete item relationships for the given category id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Delete a catalog item with the given item id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Delete catalog category relationships for the given item id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Delete a catalog item variant with the given variant id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Delete the coupon with the given coupon id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `coupons:write`
Deletes a coupon code specified by the given identifier synchronously. if a profile has been assigned to the coupon code, an exception will be raised<br><br>*rate limits*:<br>bur…
Delete a flow with the given flow id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:write`
Delete a list with the given list id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:write`
Delete a segment with the given segment id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `segments:write`
Delete the tag with the given tag id. any associations between the tag and other resources will also be removed.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:…
Delete a specified tag group and its contents; associated resource links will be removed. the default group is undeletable. rate limits: 3/s burst, 60/m steady. requires tags:rea…
Disconnect a tag from campaigns using the campaign id(s) in the request body. rate limits: 3 requests/second, 60 requests/minute. required scopes: campaigns:write, tags:write.
Remove a tag's association with one or more flows. use the request body to pass in the id(s) of the flows(s) whose association with the tag will be removed.<br><br>*rate limits*:…
Remove a tag's association with one or more lists. use the request body to pass in the id(s) of the list(s) whose association with the tag will be removed.<br><br>*rate limits*:<…
Use the request body to de-associate a tag from specified segment ids. rate limits are 3 requests/sec and 60 requests/min. required scopes are 'segments:write' and 'tags:write'.
Delete a template with the given template id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `templates:write`
Delete a webhook with the given id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:write`
Retrieve a single account object by its account id. you can only request the account by which the private api key was generated.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: …
Use a private api key to fetch an associated account's details like contact info, timezone, and currency, as well as validate the key. rate limit: 1 request/second, 15 requests/m…
Get a bulk profile import job with the given job id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read` `profiles:read`
Get import errors for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`
Get list for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read`
Get profiles for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`
Get list relationship for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read`
Get profile relationships for the bulk profile import job with the given id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `profiles:read`
Get all bulk profile import jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:read` `profiles:read`
Retrieve a specific campaign by its id from klaviyo. this action fetches detailed information about a single campaign including its name, status, audience settings, send strategy…
Return all messages that belong to the given campaign.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Returns a specific message based on a required id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Return the related campaign<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Returns the id of the related campaign<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Returns the id of the related template<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read` `templates:read`
Return the related template<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read` `templates:read`
Get estimated recipients for a given campaign id using `create campaign recipient estimation job`. rate limits are 10/s burst and 150/m steady. required scope: `campaigns:read`.
Retrieve the status of a recipient estimation job triggered with the `create campaign recipient estimation job` endpoint.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m…
Returns the ids of all messages associated with the given campaign.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Returns the ids of all tags associated with the given campaign.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `campaigns:read` `tags:read`
Retrieve campaigns from your klaviyo account. this action allows you to fetch campaigns with optional filtering and sorting. klaviyo requires specifying a channel (email or sms) …
Get a campaign send job<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:read`
Return all tags that belong to the given campaign.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `campaigns:read` `tags:read`
Retrieve up to 100 account catalog categories, sortable by creation date. only `$custom` integration and `$default` catalog types supported. rate limits are 350/s and 3500/m. req…
Get a catalog category with the given category id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Retrieve up to 100 sorted items per request from a category using the category id. sort by 'created' field. rate limits are 350/s burst and 3500/m steady. requires 'catalogs:read…
Get all items in the given category id. returns a maximum of 100 items per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a specific catalog item with the given item id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Retrieve the catalog categories for an item by id, sorted by 'created' date, with a 100-category maximum per request. rate limits: 350/s burst, 3500/m steady. requires 'catalogs:…
Get all catalog categories that a particular item is in. returns a maximum of 100 categories per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** …
Retrieve up to 100 sorted catalog items per account, with `$custom` integration and `$default` type. rate limits: 350/s burst, 3500/m steady. scope required: `catalogs:read`.
Retrieve up to 100 variants per request for a specific item id, sortable by creation date. rate limits are 350/s burst and 3500/m steady. requires 'catalogs:read' scope.
Get a catalog item variant with the given variant id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Retrieve up to 100 account variants per request, sortable by creation date. supports only `$custom` integration and `$default` catalog types. rate limits are 350/s burst and 3500…
Get a specific coupon with the given coupon id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`
Returns a coupon code specified by the given identifier.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `coupon-codes:read`
Get a coupon code bulk create job with the given job id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`
Get all coupon code bulk create jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`
Gets a list of coupon code relationships associated with the given coupon id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`
Obtains coupon codes using necessary coupon or profile filters. rate limits: 350/s, 3500/m. requires 'coupon-codes:read' scope.
Gets a list of coupon codes associated with the given coupon id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupon-codes:read`
Get the coupon associated with a given coupon code id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`
Gets the coupon relationship associated with the given coupon code id<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `coupons:read`
Get all coupons in an account. to learn more, see our [coupons api guide](https://developers.klaviyo.com/en/docs/use klaviyos coupons api).<br><br>*rate limits*:<br>burst: `75/s`…
Get a catalog category bulk create job with the given job id. an `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*rate limits…
Get all catalog category bulk create jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog item bulk create job with the given job id. an `include` parameter can be provided to get the following related resource data: `items`.<br><br>*rate limits*:<br>bur…
Get all catalog item bulk create jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog variant bulk create job with the given job id. an `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*rate limits*:<…
Get all catalog variant bulk create jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog category bulk delete job with the given job id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get all catalog category bulk delete jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog item bulk delete job with the given job id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get all catalog item bulk delete jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog variant bulk delete job with the given job id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get all catalog variant bulk delete jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get an event with the given event id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `events:read`
Get the metric for an event with the given event id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `events:read` `metrics:read`
Get the profile associated with an event with the given event id.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `events:read` `profiles:read`
Get a list of related metrics for an event<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `events:read` `metrics:read`
Get profile [relationships](https://developers.klaviyo.com/en/reference/api overview#relationships) for an event with the given event id.<br><br>*rate limits*:<br>burst: `350/s`<…
Get all events in an account requests can be sorted by the following fields: `datetime`, `timestamp` returns a maximum of 200 events per page.<br><br>*rate limits*:<br>burst: `35…
Get a flow with the given flow id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Get a flow action from a flow with the given flow action id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Get the flow action for a flow message with the given message id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Retrieve up to 50 flow messages per request by action id, sortable by various fields, with ascending/descending options, and paginated using `page[size]` and `page[number]`. rate…
Get the flow associated with the given action id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Retrieves up to 50 flow message relationships per request for a specified flow action id, with cursor pagination. rate limits: 3/s burst, 60/min steady. requires `flows:read` sco…
Get all flow actions associated with the given flow id. returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*rate limits*:<br>b…
Get the flow associated with the given action id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Get the flow message of a flow with the given message id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read`
Get the [relationship](https://developers.klaviyo.com/en/reference/api overview#relationships) for a flow message's flow action, given the flow id.<br><br>*rate limits*:<br>burst…
Returns the id of the related template<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `templates:read`
Return the related template<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `templates:read`
Retrieve all flow action relationships for a specific flow id, sortable by `id`, `status`, `created`, `updated`. refine with filters, max 50 per page, paginated by `page[size]` a…
Return the tag ids of all tags associated with the given flow.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read` `tags:read`
Get all flows in an account. returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/…
Return all tags associated with the given flow id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read` `tags:read`
Get the form with the given id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the form associated with the given form version.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the id of the form associated with the given form version.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get all forms in an account.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the form version with the given id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the image with the given image id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `images:read`
Get all images in an account.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `images:read`
Api allows 75 req/sec and 700 req/min, but with 'profile count' param, it's 1 req/sec and 15 req/min. 'lists:read' scope needed. see developer guide for details.
Retrieve profiles in a list by id, filterable by email/phone/push token/join date, sortable by join date. regular rate limit: 75/s, 700/m; with predictive analytics: 10/s, 150/m.…
Get profile membership [relationships](https://developers.klaviyo.com/en/reference/api overview#relationships) for a list with the given list id.<br><br>*rate limits*:<br>burst: …
Returns the tag ids of all tags associated with the given list.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `lists:read` `tags:read`
Retrieve marketing lists from your klaviyo account. this action allows you to fetch lists with optional filtering and sorting. you can filter by name, creation date, and other at…
Return all tags associated with the given list id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `lists:read` `tags:read`
Get a metric with the given metric id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `metrics:read`
Get all metrics in an account. requests can be filtered by the following fields: integration `name`, integration `category` returns a maximum of 200 results per page.<br><br>*rat…
Get the profile with the given profile id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `profiles:read`
Get list memberships for a profile with the given profile id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `lists:read` `profiles:read`
Get list memberships for a profile with the given profile id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `lists:read` `profiles:read`
Get segment membership relationships for a profile with the given profile id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `profiles:read` `segments:read`
Retrieve profiles from your klaviyo account. this action allows you to fetch profiles with optional filtering and sorting. you can filter by email, external id, creation date, an…
Get segment memberships for a profile with the given profile id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `profiles:read` `segments:read`
Fetch a segment by id with default rates of 75/s and 700/m, or with `additional-fields` at 1/s and 15/m. for details, visit the provided guide. required scope: `segments:read`.
Retrieve profiles in a segment by id, filtering by email, phone, token, or join date, and sorting by join date. rate limit: 75/s burst, 700/m steady. requires profiles:read and s…
Get all profile membership [relationships](https://developers.klaviyo.com/en/reference/api overview#relationships) for the given segment id.<br><br>*rate limits*:<br>burst: `75/s…
If `related resource` is `tags`, returns the tag ids of all tags associated with the given segment id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `segmen…
Fetch segments from an account with filters like `name`, `created`, and `updated`. max 10 results/page. rate limits are 75/s burst, 700/m steady. requires `segments:read` scope.
Return all tags associated with the given segment id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `segments:read` `tags:read`
Retrieve the tag with the given tag id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Retrieve the tag group with the given tag group id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Returns the tag ids of all tags inside the given tag group.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Retrieve up to 25 tag groups per account, sortable/filterable by specific attributes. default group included. supports cursor pagination and adheres to rate limits of 3 requests …
Return the tags for a given tag group id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Returns the ids of all campaigns associated with the given tag.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `campaigns:read` `tags:read`
Returns the ids of all flows associated with the given tag.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:read` `tags:read`
Returns the ids of all lists associated with the given tag.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `lists:read` `tags:read`
Returns the ids of all segments associated with the given tag.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `segments:read` `tags:read`
Returns the id of the tag group related to the given tag.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Retrieve up to 50 account tags at once, filterable/sortable by name or id, with cursor pagination. rate limits: 3/s burst, 60/m steady. requires `tags:read` scope.
Returns the tag group resource for a given tag id.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `tags:read`
Get a template with the given template id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `templates:read`
Retrieve account templates with sorting options (`id`, `name`, `created`, `updated`). limit of 10 results per page, rate limits at 10/s burst and 150/m steady. requires `template…
Get a catalog category bulk update job with the given job id. an `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*rate limits…
Get all catalog category bulk update jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog item bulk update job with the given job id. an `include` parameter can be provided to get the following related resource data: `items`.<br><br>*rate limits*:<br>bur…
Get all catalog item bulk update jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get a catalog variate bulk update job with the given job id. an `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*rate limits*:<…
Get all catalog variant bulk update jobs. returns a maximum of 100 jobs per request.<br><br>*rate limits*:<br>burst: `350/s`<br>steady: `3500/m` **scopes:** `catalogs:read`
Get the ids of the form versions for the given form.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the form versions for the given form.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `forms:read`
Get the webhook with the given id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:read`
Get all webhooks in an account.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:read`
Get the webhook topic with the given id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:read`
Get all webhook topics in a klaviyo account.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:read`
Queue a task to merge one source profile into a destination profile using their ids. deletes the source afterwards. visit help center for details. rate limits: 10/s burst, 150/m …
Returns the requested campaign analytics values data<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `2/m`<br>daily: `225/d` **scopes:** `campaigns:read`
Returns the requested flow analytics series data<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `2/m`<br>daily: `225/d` **scopes:** `flows:read`
Returns the requested flow analytics values data<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `2/m`<br>daily: `225/d` **scopes:** `flows:read`
The klaviyo endpoint fetches metric events, handling json requests for custom data queries, sorting, and filtering; offers grouping and time-based filters; requires adherence to …
Remove profiles from a klaviyo list by profile ids or email addresses. this action removes profiles from a marketing list without affecting their overall consent status. use the …
To delete a profile, use only one identifier: email, phone number, or id. requests are asynchronous and can be tracked. ensure legal compliance; refer to docs. rate limits: 3 per…
Initiate a job to create/update a batch of profiles, up to 10,000 with a max size of 5mb per request. rate limits: 10/s burst, 150/m steady. requires `lists:write` and `profiles:…
Create a coupon-code-bulk-create-job to bulk create a list of coupon codes. max number of jobs queued at once we allow for is 100.<br><br>*rate limits*:<br>burst: `75/s`<br>stead…
Create bulk job for up to 100 catalog categories with a 5mb size limit and a max of 500 concurrent jobs. rate limits: 75/s burst, 700/m steady. requires 'catalogs:write' scope.
Create batches of up to 100 catalog items with a 5mb size limit using the bulk job, which allows 500 concurrent jobs. rate limits are 75/s burst and 700/m steady. requires `catal…
Initiate a job to bulk create up to 100 catalog variants, with a 5mb payload size limit. a max of 500 jobs can run concurrently. rate limits are 75/s burst and 700/m steady. requ…
Delete multiple catalog categories in bulk, with a limit of 100 per request and a 5mb payload size. a maximum of 500 concurrent jobs permitted. rate limits are 75/s burst and 700…
Delete batches of catalog items with a bulk job, max 100 items/request, 5mb size limit, and up to 500 concurrent jobs. rate limits are 75/s burst and 700/m steady. requires `cata…
Delete multiple catalog variants with a bulk job, max 100 per request, 5mb size limit. only 500 jobs can run concurrently. rate limits: 75/s burst, 700/m steady. requires `catalo…
Create a job to bulk update up to 100 categories, with a 5mb size limit and a maximum of 500 concurrent jobs. burst rate limit is 75/s, steady is 700/m. requires `catalogs:write`…
You can bulk update up to 100 catalog items with a 5mb payload limit. a max of 500 jobs can run concurrently. rate limits are 75 requests/second and 700 requests/minute. required…
Create a job to bulk update up to 100 catalog variants with a 5mb payload limit. a max of 500 jobs may run concurrently. rate limits are 75/s burst and 700/m steady. requires `ca…
The api supports double opt-in for marketing, with 'historical import' bypassing consent. it resets opt-outs for returning users. caps at 1000 profiles, 75/s, and 700/min. needs …
Suppress profiles by email, segment, or list id to stop email marketing, regardless of consent. view guides for details. max 100 emails per request, with rate limits of 75/s and …
This endpoint unsubscribes a push token, for use with klaviyo's mobile sdks and a public api key. push notifications must be on. rate limits are 3/s and 60/m.
Opt-out profiles from email or sms marketing. unsubscribe up to 100 profiles at a time with burst (75/s) and steady (700/m) rate limits. use different method to remove without af…
Remove 'user suppressed' blocks on profiles manually via email, segment, or list id. does not affect unsubscribes or other suppressions. limits: 100 emails per request, 75/s burs…
Update a campaign with the specified attributes. this action allows you to modify campaign settings including name, audiences, and send strategy. only the fields you provide will…
Update a campaign message<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `campaigns:write`
Permanently cancel the campaign, setting the status to canceled or revert the campaign, setting the status back to draft<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m`…
Update a catalog category with the given category id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Update item relationships for the given category id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Update a catalog item with the given item id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Update catalog category relationships for the given item id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
Update a catalog item variant with the given variant id.<br><br>*rate limits*:<br>burst: `75/s`<br>steady: `700/m` **scopes:** `catalogs:write`
*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `coupons:write`
Updates a coupon code specified by the given identifier synchronously. we allow updating the 'status' and 'expires at' of coupon codes.<br><br>*rate limits*:<br>burst: `350/s`<br…
Update the status of a flow with the given flow id, and all actions in that flow.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `60/m` **scopes:** `flows:write`
Update the image with the given image id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `images:write`
Update the name of a list with the given list id.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `lists:write`
Update profiles with the provided id. setting fields to `null` clears them; omitting fields retains existing data. rate limits: 75/s burst, 700/m steady. required scope: `profile…
Update a segment with the given segment id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m`<br>daily: `100/d` **scopes:** `segments:write`
Update the tag with the given tag id. only a tag's `name` can be changed. a tag cannot be moved from one tag group to another.<br><br>*rate limits*:<br>burst: `3/s`<br>steady: `6…
Update the tag group with the given tag group id. only a tag group's `name` can be changed. a tag group's `exclusive` or `default` value cannot be changed.<br><br>*rate limits*:<…
Update a template with the given template id. does not currently update drag & drop templates.<br><br>*rate limits*:<br>burst: `10/s`<br>steady: `150/m` **scopes:** `templates:wr…
Update the webhook with the given id.<br><br>*rate limits*:<br>burst: `1/s`<br>steady: `15/m` **scopes:** `webhooks:write`
Upload an image from a file. if you want to import an image from an existing url or a data uri, use the upload image from url endpoint instead.<br><br>*rate limits*:<br>burst: `3…
Import an image from a url or data uri. if you want to upload an image from a file, use the upload image from file endpoint instead.<br><br>*rate limits*:<br>burst: `3/s`<br>stea…
Curated for Klaviyo's real category — not Pipedream's auto-tagged bucket.
Explore AI-powered workflows that work with Klaviyo.