Klaviyo for AI agents

Agents read Klaviyo at once. Changes and sends are held for a person's approval by default.

About Klaviyo

Klaviyo is a data-driven email and SMS marketing platform that allows e-commerce brands to deliver targeted messages, track conversions, and scale customer relationships

What an agent can do in Klaviyo

Every Klaviyo action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.

Runs at once (reads)

Looks things up in Klaviyo without asking first. 133 actions.

  • Get Bulk Delete Catalog Items JobGet a catalog item bulk delete job with the given job ID. Use this to check the status and progress of a bulk delete operation for catalog items. Rate limits: 350/s burst, 3500/m steady. Required scop
  • Get Bulk Update Categories JobRetrieve a catalog category bulk update job by its ID from Klaviyo. This action fetches the status and details of a bulk update job for catalog categories, including progress metrics (total, completed
  • Get CampaignRetrieve 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, and optionally relat
  • Get CampaignsRetrieve 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) to list campaigns. You
  • Get eventsGet 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: `350/s`<br>Steady: `3500/
  • Get ListsRetrieve 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 attributes. Results are
  • Get ProfilesRetrieve 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, and other attributes. Re
  • Get accountRetrieve 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: `15/m` **Scopes:** `ac
  • Get accountsUse 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/minute. Scope required:
  • Get Bulk Create Coupon Codes JobTool to get a coupon code bulk create job with the given job ID. Use when you need to check the status of a previously initiated bulk coupon code creation job. Rate limits: 75/s burst, 700/m steady. R
  • Get bulk profile import jobGet 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 bulk profile import job errorsGet 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`
Show all 133
  • Get bulk profile import job listsGet 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 bulk profile import job profilesGet 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 bulk profile import job relationships listsGet 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 bulk profile import job relationships profilesGet 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 bulk profile import jobsGet 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`
  • Get bulk update catalog items jobGet 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`.
  • Get Bulk Update Variants JobTool to retrieve a catalog variant bulk update job by its ID. Use when you need to check the status, progress, or results of a bulk update operation on catalog variants.
  • Get campaign campaign messagesReturn all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
  • Get campaign messageReturns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
  • Get campaign message campaignReturn the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
  • Get campaign message relationships campaignReturns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
  • Get campaign message relationships templateReturns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`
  • Get campaign message templateReturn the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`
  • Get campaign recipient estimationGet 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`.
  • Get campaign recipient estimation jobRetrieve 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` **Scopes:** `campaig
  • Get campaign relationships campaign messagesReturns 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`
  • Get campaign relationships tagsReturns 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`
  • Get campaign tagsReturn 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`
  • Get catalog categoriesRetrieve 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. Requires `catalogs:read`
  • Get catalog categoryGet a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`
  • Get catalog category itemsRetrieve 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' scope.
  • Get catalog category relationships itemsGet 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 catalog itemGet a specific catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`
  • Get catalog item categoriesRetrieve 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:read' scope.
  • Get catalog item relationships categoriesGet 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:** `catalogs:read`
  • Get catalog itemsRetrieve 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`.
  • Get catalog item variantsRetrieve 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 catalog variantGet a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`
  • Get catalog variantsRetrieve 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/m steady. Requires `c
  • Get couponGet a specific coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `coupons:read`
  • Get coupon codeReturns 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 coupon code bulk create jobGet 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 coupon code bulk create jobsGet 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`
  • Get coupon code relationships couponGets 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`
  • Get coupon codesObtains coupon codes using necessary coupon or profile filters. Rate limits: 350/s, 3500/m. Requires 'coupon-codes:read' scope.
  • Get coupon codes for couponGets 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 coupon for coupon codeGet the coupon associated with a given coupon code ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `coupons:read`
  • Get Coupon ID for Coupon CodeTool to get the coupon relationship associated with a given coupon code ID. Use when you need to find which coupon is associated with a specific coupon code. Rate limits: Burst: 75/s, Steady: 700/m Re
  • Get Coupon Relationships Coupon CodesRetrieves the coupon code relationships (resource identifiers) for a given coupon. Returns a list of coupon code IDs associated with the specified coupon, along with pagination links for navigating la
  • Get couponsGet 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`<br>Steady: `700/m` **
  • Get create categories jobGet 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*:<br>Burst: `350/s`<b
  • Get create categories jobsGet 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 create items jobGet 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>Burst: `350/s`<br>Steady:
  • Get create items jobsGet 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 create variants jobGet 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*:<br>Burst: `350/s`<br>S
  • Get create variants jobsGet 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 delete categories jobGet 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 delete categories jobsGet 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 delete items jobsGet 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 delete variants jobGet 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 delete variants jobsGet 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 eventGet an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `events:read`
  • Get event metricGet 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 event profileGet 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 Event RelationshipsGet metrics or profile relationships for a specific event. Use when you need to retrieve the metric or profile associated with an event. Rate limits: 350/s burst, 3500/m steady. Required scopes: Event
  • Get flowGet a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:read`
  • Get flow actionGet 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 flow action for messageGet 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`
  • Get flow action messagesRetrieve 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 limits: 3/s burst, 60
  • Get Parent Flow for Flow ActionGet the parent flow associated with a given flow action ID. This endpoint returns the flow relationship data for a specific flow action, allowing you to identify which flow contains the specified acti
  • Get flow action relationships messagesRetrieves 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` scope.
  • Get flow flow actionsGet all flow actions associated with the given flow ID. Returns a maximum of 50 flow actions per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>
  • Get flow for flow actionGet the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:read`
  • Get flow messageGet 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 flow message relationships actionGet the flow action relationship for a specific flow message. This returns the parent flow action that contains the specified flow message (e.g., the SEND_EMAIL or SEND_SMS action). Requires a valid f
  • Get flow message relationships templateReturns the ID of the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `templates:read`
  • Get flow message templateReturn the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `templates:read`
  • Get flow relationships flow actionsRetrieve 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]` and `page[number]`. Rat
  • Get flow relationships tagsReturn 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 flowsGet 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/m` **Scopes:** `flows:
  • Get flow tagsReturn 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 formGet the form with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
  • Get form for form versionGet the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
  • Get form id for form versionGet 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 formsGet all forms in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
  • Get form versionRetrieve detailed information about a specific form version by its ID. Form versions represent different variations of a Klaviyo sign-up form. A form may have multiple versions for A/B testing (multip
  • Get imageGet the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:read`
  • Get imagesGet all images in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:read`
  • Get listAPI 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.
  • Get list profilesRetrieve 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. Details at Klaviyo gu
  • Get List RelationshipsGet profile membership relationships for a Klaviyo list. Returns references (IDs) to profiles that are members of the specified list. Use when you need to retrieve which profiles belong to a list with
  • Get list relationships tagsReturns 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`
  • Get list tagsReturn 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 metricGet a metric with the given metric ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `metrics:read`
  • Get metricsGet 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>*Rate limits*:<br>Burst: `
  • Get profileGet the profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:read`
  • Get profile listsGet 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 Profile RelationshipsTool to get list membership or segment membership relationships for a profile with the given profile ID. Use when you need to determine which lists or segments a specific profile belongs to.
  • Get profile segmentsGet 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`
  • Get segmentFetch 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`.
  • Get segment profilesRetrieve 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 segments:read scopes.
  • Get Segment RelationshipsGet all profile membership or tag relationships for a segment. Use 'profiles' to retrieve profile membership relationships or 'tags' to retrieve tag associations. Rate limits: Burst 75/s, Steady 700/m
  • Get segmentsFetch 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.
  • Get segment tagsReturn 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`
  • Get tagRetrieve the tag with the given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
  • Get tag groupRetrieve the tag group with the given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
  • Get tag group relationships tagsReturns 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`
  • Get tag groupsRetrieve 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 per second and 60 per
  • Get tag group tagsReturn the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`
  • Get Tag RelationshipsTool to retrieve relationship IDs for a tag. Returns the IDs of related resources (campaigns, flows, lists, segments, or tag-group) associated with a specific tag. The response format varies based on
  • Get tagsRetrieve 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.
  • Get tag tag groupReturns 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 templateGet a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `templates:read`
  • Get templatesRetrieve 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 `templates:read` scope.
  • Get translationsList translations through Klaviyo's beta, non-production API with filtering, sparse fields, related resources, sorting, and cursor pagination. This endpoint is subject to change.
  • Get update categories jobsGet 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 update items jobGet 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>Burst: `350/s`<br>Steady:
  • Get update items jobsGet 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 update variants jobsGet 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 Variant IDs for Catalog ItemTool to get all variant IDs related to a given catalog item ID. Returns a maximum of 100 variants per request. Use when you need to retrieve variant IDs without fetching full variant data. Supports fi
  • Get version ids for formGet 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 versions for formGet the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
  • Get webhookGet the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
  • Get webhooksGet all webhooks in an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
  • Get webhook topicRetrieve details of a specific webhook topic by its ID. Webhook topics define the events that can trigger webhooks (e.g., email_delivered, sent_sms). Use this to get the human-readable name and metada
  • Get webhook topicsGet all webhook topics in a Klaviyo account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`
  • Query campaign valuesReturns 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`
  • Query flow seriesReturns time-series analytics data for flows, enabling performance tracking over time intervals. Use this to analyze flow metrics like open rates, click rates, conversions, and delivery statistics. Ra
  • Query flow valuesReturns 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`
  • Query form valuesReturn aggregate Klaviyo form performance statistics for a timeframe.
  • Query metric aggregatesThe Klaviyo endpoint fetches metric events, handling JSON requests for custom data queries, sorting, and filtering; offers grouping and time-based filters; requires adherence to rate limits (3 request

Held for approval by default (changes and sends)

Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 94 actions.

  • Add Profile to ListAdd 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 to 1000 profiles per
  • Create Campaign Recipient Estimation JobStart 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 based on its current a
  • Create eventCreate 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:write`.
  • Create listCreate a new list.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`<br>Daily: `100/d` **Scopes:** `lists:write`
  • Create or Update ProfileCreate 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 other identifiers). Re
  • Create profileCreate a new profile.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
  • Update CampaignUpdate 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 be updated; others re
  • Assign campaign message templateCreates 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`
  • Bulk create client eventsUse 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 the bulk create event
  • Bulk create eventsBulk create events for multiple profiles in a single request. Accepts up to 1,000 events with a 5MB max payload. Each event requires a profile identifier (email, phone_number, or external_id) and a me
  • Create back in stock subscriptionUse 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 3500/m steady. Require
  • Create campaignCreates 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`
Show all 94
  • Create campaign cloneClones 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:** `campaigns:write`
  • Create campaign send jobTrigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
  • Create catalog categoryCreate a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Create catalog category relationships itemsCreate 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 catalog itemCreate a new catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Create catalog item relationships categoriesCreate 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 catalog variantCreate a new variant for a related catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Create client back in stock subscriptionUse 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 and 3500 per minute.
  • Create Client Event V2Create a client-side event in Klaviyo to track user interactions. This action uses the company_id in the request body instead of as a query parameter. Use when tracking events from publicly-browseable
  • Create client subscriptionEndpoint 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 'subscriptions:write'.
  • Create couponCreates a new coupon.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`
  • Create coupon codeSynchronously 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 flowCreate a draft flow from an encoded flow definition. For a minimal flow, use one list trigger, an empty actions array, and a null entry_action_id as shown in the definition example.
  • Create formCreate a draft Klaviyo signup form from an encoded form definition.
  • Create or update client profileUpdate 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 with 'profiles:write' a
  • Create or update client push tokenThis 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 POST endpoint. Rate limit
  • Create or update push tokenCreate or update a push token for mobile push notifications. This server-side endpoint is used for migrating push tokens from other platforms to Klaviyo. For creating tokens from mobile devices, use K
  • Create segmentCreate a segment.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d` **Scopes:** `segments:write`
  • Create tagSummary: 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 60/min steady. Tag: #T
  • Create tag groupCreate 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 limits: 3/s burst, 60/m ste
  • Create Tag RelationshipsAssociate a tag with other resources (flows, lists, segments, or campaigns) in Klaviyo. Use when you need to link a tag to one or more resources for organizational purposes. Note: A resource can have
  • Create templateSummary: 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 150 per minute. Require
  • Create template cloneClone 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:write` scope.
  • Create template renderRender 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 webhookCreate a new Webhook to receive real-time notifications when specific events occur in Klaviyo (e.g., email clicks, SMS sent). Rate limits: Burst: 1/s, Steady: 15/m Required scopes: webhooks:write, eve
  • Delete campaignDelete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
  • Delete catalog categoryDelete a catalog category using the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Delete catalog category relationships itemsDelete item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Delete catalog itemDelete 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 item relationships categoriesDelete catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Delete catalog variantDelete 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 couponDelete the coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`
  • Delete coupon codeDeletes 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>Burst: `350/s`<br>Steady:
  • Delete flowDelete a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:write`
  • Delete listDelete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:write`
  • Delete segmentDelete a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `segments:write`
  • Delete tagDelete 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:** `tags:read` `tags:w
  • Delete tag groupDelete 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:read and tags:write permi
  • Delete Tag RelationshipsRemove a tag's association with other resources like flows, campaigns, lists, or segments. Use when you need to untag resources without deleting the tag itself.
  • Delete templatePermanently delete a template from your Klaviyo account using its unique template ID. This action is destructive and cannot be undone. Rate limits: Burst 10/s, Steady 150/m. Requires 'templates:write'
  • Delete webhookPermanently delete a webhook subscription from your Klaviyo account. This action removes the webhook configuration, stopping all future event notifications to the webhook's endpoint URL. This operatio
  • Get campaign send jobGet a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
  • Merge profilesMerge one or more source profiles into a destination profile. The source profile(s) data (events, attributes, list memberships) will be transferred to the destination, and the source profile(s) will b
  • Remove Profile from ListRemove 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 Unsubscribe Profiles a
  • Request profile deletionTo 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 second, 60 per minute
  • Spawn bulk profile import jobInitiate 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:write` scopes. More in
  • Spawn coupon code bulk create jobCreate a coupon-code-bulk-create-job to bulk create a list of coupon codes. Max 1000 coupon codes per job. Max 100 jobs queued at once. Rate limits: Burst 75/s, Steady 700/m. Scopes: coupon-codes:writ
  • Spawn create categories jobCreate 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.
  • Spawn create items jobCreate 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 `catalogs:write` scope.
  • Spawn create variants jobInitiate 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. Requires 'catalogs:write'
  • Spawn delete categories jobDelete 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/min steady. Requires
  • Spawn delete items jobDelete 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 `catalogs:write` scope.
  • Spawn delete variants jobDelete 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 `catalogs:write` scope.
  • Spawn update categories jobCreate 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` scope.
  • Spawn update items jobYou 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 scope: `catalogs:writ
  • Spawn update variants jobCreate 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 `catalogs:write` scope.
  • Subscribe profilesThe 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 'lists:write', 'profil
  • Suppress profilesSuppress 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 700/m. Scopes: profile
  • Unregister client push tokenThis 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.
  • Unsubscribe profilesOpt-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 affecting subscriptions.
  • Unsubscribe Profiles BulkTool to unsubscribe one or more profiles from a Klaviyo list. Use when you need to bulk unsubscribe up to 100 profiles from email or SMS marketing for a specific list.
  • Unsuppress profilesRemove '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 burst, 700/m steady. Scope
  • Unsuppress Profiles (Bulk)Tool to unsuppress one or more profiles from email marketing by email address. Use when you need to remove USER_SUPPRESSED status from profiles. This only removes suppressions with reason USER_SUPPRES
  • Update campaign messageUpdate a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
  • Update catalog categoryUpdate a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Update Catalog Category RelationshipsTool to update item relationships for a catalog category. Replaces all existing item relationships with the provided list. Use when you need to associate catalog items with a category or remove existi
  • Update catalog category relationships itemsUpdate item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Update catalog itemUpdate 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 item relationships categoriesUpdate catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Update catalog variantUpdate a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`
  • Update couponUpdate an existing coupon's properties. Currently, only the coupon description can be updated. The coupon ID (external_id) cannot be changed after creation. *Rate limits*:<br>Burst: `3/s`<br>Steady: `
  • Update coupon codeUpdates 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>Steady: `3500/m` **Sc
  • Update flow statusUpdate the status of a flow with the given flow ID, and all actions in that flow. Flow statuses: - 'draft': Flow is disabled; no messages will be sent - 'manual': Messages require manual approval befo
  • Update imageUpdate the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:write`
  • Update listUpdate 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 profileUpdate 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: `profiles:write`.
  • Update segmentUpdate 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 tagUpdate 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. **Important**: The `data__id` in the request body must match the `id` pat
  • Update tag groupUpdate 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*:<br>Burst: `3/s`<br>Ste
  • Update templateUpdate an existing email template by ID. Supports updating name, HTML content, and plaintext content. Note: This action only works with CODE editor type templates; drag & drop templates cannot be upda
  • Update webhookUpdate the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:write`
  • Upload image from urlImport 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>Steady: `100/m`<br>Daily:

Changes wait in Needs you

Changes and sends in Klaviyo are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

How approvals work

Klaviyo questions

Can an agent change data in Klaviyo on its own?

Not by default. Changes and sends in Klaviyo are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

What can an agent read in Klaviyo?

This connector lists 133 read actions. Reads run at once, without waiting for approval.

How does Klaviyo connect?

It connects with API key or OAuth 2.0. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.

Bring Klaviyo to your agents.