Klaviyo

Integrate Klaviyo with your AI workspace

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

Explore Triggers and Actions

Add Profile to List

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 to 1000 profiles per call using either their Klaviyo profile IDs or email addresses. Rate limits: 10/s burst, 150/m steady. Required scopes: `lists:write` and `profiles:write`. Preconditions: - Either profile_ids or emails must be provided (not both) - Maximum 1000 profiles per call - Email addresses must be valid format - The list must exist and be accessible

ActionTry it

Assign campaign message template

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`

ActionTry it

Bulk create client events

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 the bulk create event endpoint.

ActionTry it

Bulk create events

Bulk 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 metric name. Events are processed asynchronously; a 202 response indicates acceptance, not completion. Rate limits: 10/s burst, 150/min steady.

ActionTry it

Cancel Campaign Send

Cancel or revert a campaign send job. Use 'cancel' to permanently stop a campaign (status becomes CANCELED), or 'revert' to return it to DRAFT for editing. This action modifies a campaign send job that is currently queued or sending. The cancel action is irreversible and sets the status to CANCELED. The revert action returns the campaign to DRAFT status, allowing further modifications. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:write`. Preconditions: - Valid API key with campaigns:write scope - Campaign send job ID must exist and be accessible - Campaign must be in a state that allows cancellation (queued or sending)

ActionTry it

Create back in stock subscription

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 3500/m steady. Required scopes: catalogs:write, profiles:write.

ActionTry it

Create campaign

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`

ActionTry it

Create campaign clone

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:** `campaigns:write`

ActionTry it

Create Campaign Recipient Estimation Job

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 based on its current audience settings. Use the job ID returned to track progress with the 'Get Campaign Recipient Estimation Job' action, and get the final count via 'Get Campaign Recipient Estimation' action. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:write`. Preconditions: - Valid API key with campaigns:write scope - Campaign ID must exist and be accessible - Campaign must have audience settings configured

ActionTry it

Create campaign send job

Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`

ActionTry it

Create catalog category

Create a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Create catalog category relationships items

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`

ActionTry it

Create catalog item

Create a new catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Create catalog item relationships categories

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`

ActionTry it

Create catalog variant

Create a new variant for a related catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Create client back in stock subscription

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 and 3500 per minute. Requires 'catalogs:write' and 'profiles:write' scopes.

ActionTry it

Create Client Event V2

Create 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, client-side environments with a public API key.

ActionTry it

Create client subscription

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 'subscriptions:write'.

ActionTry it

Create coupon

Creates a new coupon.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`

ActionTry it

Create coupon code

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`

ActionTry it

Create event

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:write`.

ActionTry it

Create list

Create a new list.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`<br>Daily: `100/d` **Scopes:** `lists:write`

ActionTry it

Create or update client profile

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 with 'profiles:write' access.

ActionTry it

Create or update client push token

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 POST endpoint. Rate limits are 3/s burst, 150/m steady.

ActionTry it

Create or Update Profile

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 other identifiers). Returns 201 for creation, 200 for update. Empty fields are cleared with `null`; omitted fields remain unchanged. Rate limits: 75/s burst, 700/m steady. Required scope: `profiles:write`. Preconditions: - At least one identifier (email, phone_number, external_id, or anonymous_id) must be provided - Email must be in valid format if provided - Phone number must be in E.164 format if provided

ActionTry it

Create or update push token

Create 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 Klaviyo's mobile SDKs instead. Prerequisites: Push notifications must be enabled for the Klaviyo account. Required fields: - data__type: Must be 'push-token' - data__attributes__token: The push token from APNS or FCM - data__attributes__platform: 'ios' or 'android' - data__attributes__vendor: 'apns' (iOS) or 'fcm' (Android) - data__attributes__profile__data__type: Must be 'profile' - At least one profile identifier (email, phone_number, external_id, anonymous_id, or profile id) Rate limits: 75/s burst, 700/m steady. Max payload: 100KB. Requires scopes: profiles:write, push-tokens:write

ActionTry it

Create profile

Create a new profile.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`

ActionTry it

Create segment

Create a segment.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d` **Scopes:** `segments:write`

ActionTry it

Create tag

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 60/min steady. Tag: #TagCreationLimitAndRate

ActionTry it

Create tag group

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 limits: 3/s burst, 60/m steady. Scopes needed: tags:read, tags:write.

ActionTry it

Create Tag Relationships

Associate 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 up to 100 tags associated with it. Rate limits: 3/s burst, 60/m steady. Required scopes vary by resource type: tags:write plus the appropriate write scope (flows:write, lists:write, segments:write, or campaigns:write).

ActionTry it

Create template

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 150 per minute. Requires 'templates:write' scope.

ActionTry it

Create template clone

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:write` scope.

ActionTry it

Create template render

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.

ActionTry it

Create webhook

Create 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, events:read (for event-based topics) Note: Each Klaviyo account can have a maximum of 10 webhooks.

ActionTry it

Delete campaign

Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`

ActionTry it

Delete catalog category

Delete a catalog category using the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Delete catalog category relationships items

Delete item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Delete catalog item

Delete a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Delete catalog item relationships categories

Delete catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Delete catalog variant

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`

ActionTry it

Delete coupon

Delete the coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `coupons:write`

ActionTry it

Delete coupon code

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>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `coupon-codes:write`

ActionTry it

Delete flow

Delete a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:write`

ActionTry it

Delete list

Delete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:write`

ActionTry it

Delete segment

Delete a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `segments:write`

ActionTry it

Delete tag

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:** `tags:read` `tags:write`

ActionTry it

Delete tag group

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:read and tags:write permissions.

ActionTry it

Delete Tag Relationships

Remove 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.

ActionTry it

Delete template

Permanently 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' scope.

ActionTry it

Delete webhook

Permanently 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 operation is irreversible. **Requirements:** - Advanced KDP (Klaviyo Data Platform) must be enabled on your account - API key must have `webhooks:write` scope **Rate limits:** Burst: 1/s, Steady: 15/m **Returns:** HTTP 204 No Content on successful deletion (empty response body).

ActionTry it

Get account

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: `15/m` **Scopes:** `accounts:read`

ActionTry it

Get accounts

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/minute. Scope required: `accounts:read`.

ActionTry it

Get Bulk Create Coupon Codes Job

Tool 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. Required scope: coupon-codes:read.

ActionTry it

Get Bulk Delete Catalog Items Job

Get 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 scope: `catalogs:read`. Preconditions: - Valid API key with catalogs:read scope - Job ID must exist and be accessible

ActionTry it

Get bulk profile import job

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`

ActionTry it

Get bulk profile import job errors

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`

ActionTry it

Get bulk profile import job lists

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`

ActionTry it

Get bulk profile import job profiles

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`

ActionTry it

Get bulk profile import job relationships lists

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`

ActionTry it

Get bulk profile import job relationships profiles

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`

ActionTry it

Get bulk profile import jobs

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`

ActionTry it

Get bulk update catalog items job

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`.

ActionTry it

Get Bulk Update Categories Job

Retrieve 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, failed counts) and optionally the related category resources. Use this to track the progress of bulk category update operations. Rate limits: 350/s burst, 3500/m steady. Required scope: `catalogs:read`. Preconditions: - Valid API key with catalogs:read scope - Job ID must exist and be accessible

ActionTry it

Get Bulk Update Variants Job

Tool 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.

ActionTry it

Get Campaign

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, and optionally related messages and tags. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:read`. Preconditions: - Valid API key with campaigns:read scope - Campaign ID must exist and be accessible

ActionTry it

Get campaign campaign messages

Return all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`

ActionTry it

Get campaign message

Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`

ActionTry it

Get campaign message campaign

Return the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`

ActionTry it

Get campaign message relationships campaign

Returns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`

ActionTry it

Get campaign message relationships template

Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`

ActionTry it

Get campaign message template

Return the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`

ActionTry it

Get campaign recipient estimation

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`.

ActionTry it

Get campaign recipient estimation job

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` **Scopes:** `campaigns:read`

ActionTry it

Get campaign relationships campaign messages

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`

ActionTry it

Get campaign relationships tags

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`

ActionTry it

Get campaign send job

Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`

ActionTry it

Get campaign tags

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`

ActionTry it

Get Campaigns

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) to list campaigns. You can add additional filters for status, name, creation date, and other attributes. Results are paginated with a default of 10 campaigns per page. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:read`. Preconditions: - Valid API key with campaigns:read scope - Channel must be specified (email or sms) - Additional filter syntax must be valid if provided

ActionTry it

Get catalog categories

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. Requires `catalogs:read` scope.

ActionTry it

Get catalog category

Get a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`

ActionTry it

Get catalog category items

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' scope.

ActionTry it

Get catalog category relationships items

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`

ActionTry it

Get catalog item

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`

ActionTry it

Get catalog item categories

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:read' scope.

ActionTry it

Get catalog item relationships categories

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:** `catalogs:read`

ActionTry it

Get catalog item variants

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.

ActionTry it

Get catalog items

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`.

ActionTry it

Get catalog variant

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`

ActionTry it

Get catalog variants

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/m steady. Requires `catalogs:read` scope.

ActionTry it

Get coupon

Get a specific coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `coupons:read`

ActionTry it

Get coupon code

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`

ActionTry it

Get coupon code bulk create job

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`

ActionTry it

Get coupon code bulk create jobs

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`

ActionTry it

Get coupon code relationships coupon

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`

ActionTry it

Get coupon codes

Obtains coupon codes using necessary coupon or profile filters. Rate limits: 350/s, 3500/m. Requires 'coupon-codes:read' scope.

ActionTry it

Get coupon codes for coupon

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`

ActionTry it

Get coupon for coupon code

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`

ActionTry it

Get Coupon ID for Coupon Code

Tool 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 Required scope: coupons:read

ActionTry it

Get Coupon Relationships Coupon Codes

Retrieves 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 large result sets. Rate limits: Burst: 75/s, Steady: 700/m Required scopes: coupons:read

ActionTry it

Get coupons

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`<br>Steady: `700/m` **Scopes:** `coupons:read`

ActionTry it

Get create categories job

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*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`

ActionTry it

Get create categories jobs

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`

ActionTry it

Get create items job

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>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`

ActionTry it

Get create items jobs

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`

ActionTry it

Get create variants job

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*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`

ActionTry it

Get create variants jobs

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`

ActionTry it

Get delete categories job

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`

ActionTry it

Get delete categories jobs

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`

ActionTry it

Get delete items jobs

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`

ActionTry it

Get delete variants job

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`

ActionTry it

Get delete variants jobs

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`

ActionTry it

Get event

Get an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `events:read`

ActionTry it

Get event metric

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`

ActionTry it

Get event profile

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`

ActionTry it

Get Event Relationships

Get 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: Events Read, Metrics Read, Profiles Read.

ActionTry it

Get events

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: `350/s`<br>Steady: `3500/m` **Scopes:** `events:read`

ActionTry it

Get flow

Get a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:read`

ActionTry it

Get flow action

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`

ActionTry it

Get flow action for message

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`

ActionTry it

Get flow action messages

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 limits: 3/s burst, 60/m steady. Scope required: `flows:read`.

ActionTry it

Get flow action relationships messages

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` scope.

ActionTry it

Get flow flow actions

Get 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>Steady: `60/m` **Scopes:** `flows:read`

ActionTry it

Get flow for flow action

Get the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `flows:read`

ActionTry it

Get flow message

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`

ActionTry it

Get flow message relationships action

Get 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 flow message ID which can be obtained from GET /api/flow-actions/{id}/flow-messages/. Rate limits: Burst 3/s, Steady 60/m. Required scope: flows:read

ActionTry it

Get flow message relationships template

Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `templates:read`

ActionTry it

Get flow message template

Return the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `templates:read`

ActionTry it

Get flow relationships flow actions

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]` and `page[number]`. Rate limits: Burst 3/s, Steady 60/m. Scope: `flows:read`.

ActionTry it

Get flow relationships tags

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`

ActionTry it

Get flow tags

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`

ActionTry it

Get flows

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/m` **Scopes:** `flows:read`

ActionTry it

Get form

Get the form with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`

ActionTry it

Get form for form version

Get the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`

ActionTry it

Get form id for form version

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`

ActionTry it

Get form version

Retrieve 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 (multiple live variations) or draft/live combinations during editing. Use this endpoint to get the full configuration including form type, status, steps, styling, triggers, and other settings. Rate limits: Burst 3/s, Steady 60/m. Required scope: forms:read

ActionTry it

Get forms

Get all forms in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`

ActionTry it

Get image

Get the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:read`

ActionTry it

Get images

Get all images in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:read`

ActionTry it

Get list

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.

ActionTry it

Get list profiles

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. Details at Klaviyo guide. Scopes required: lists:read, profiles:read.

ActionTry it

Get List Relationships

Get 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 without fetching full profile data.

ActionTry it

Get list relationships tags

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`

ActionTry it

Get list tags

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`

ActionTry it

Get Lists

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 attributes. Results are paginated with a default of 10 lists per page. Rate limits: 75/s burst, 700/m steady. Required scope: `lists:read`. Preconditions: - Valid API key with lists:read scope - Filter syntax must be valid if provided

ActionTry it

Get metric

Get a metric with the given metric ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `metrics:read`

ActionTry it

Get metrics

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>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `metrics:read`

ActionTry it

Get Parent Flow for Flow Action

Get 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 action. Use cases: - Determine which flow a specific action belongs to - Navigate from an action to its parent flow Rate limits: Burst: 3/s, Steady: 60/m Required scope: flows:read

ActionTry it

Get profile

Get the profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:read`

ActionTry it

Get profile lists

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`

ActionTry it

Get Profile Relationships

Tool 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.

ActionTry it

Get profile segments

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`

ActionTry it

Get Profiles

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, and other attributes. Results are paginated with a configurable page size. Rate limits: 75/s burst, 700/m steady (lower with predictive_analytics). Required scope: `profiles:read`. Preconditions: - Valid API key with profiles:read scope - Filter syntax must be valid if provided - Page size must be between 1 and 100

ActionTry it

Get segment

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`.

ActionTry it

Get segment profiles

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 segments:read scopes.

ActionTry it

Get Segment Relationships

Get 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. Required scopes: profiles:read, segments:read.

ActionTry it

Get segment tags

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`

ActionTry it

Get segments

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.

ActionTry it

Get tag

Retrieve the tag with the given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`

ActionTry it

Get tag group

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`

ActionTry it

Get tag group relationships tags

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`

ActionTry it

Get tag group tags

Return the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read`

ActionTry it

Get tag groups

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 per second and 60 per minute. Requires `tags:read` scope.

ActionTry it

Get Tag Relationships

Tool 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 the related_resource type: - For collections (campaigns, flows, lists, segments): returns an array of resource identifiers - For tag-group: returns a single resource identifier object Rate limits: 3/s burst, 60/m steady. Required scopes: tags:read and scope for the related resource type.

ActionTry it

Get tag tag group

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`

ActionTry it

Get tags

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.

ActionTry it

Get template

Get a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `templates:read`

ActionTry it

Get templates

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 `templates:read` scope.

ActionTry it

Get update categories jobs

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`

ActionTry it

Get update items job

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>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `catalogs:read`

ActionTry it

Get update items jobs

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`

ActionTry it

Get update variants jobs

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`

ActionTry it

Get Variant IDs for Catalog Item

Tool 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 filtering and sorting by creation date.

ActionTry it

Get version ids for form

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`

ActionTry it

Get versions for form

Get the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`

ActionTry it

Get webhook

Get the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`

ActionTry it

Get webhook topic

Retrieve 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 metadata for a specific topic. Rate limits: Burst 1/s, Steady 15/m. Required scope: webhooks:read

ActionTry it

Get webhook topics

Get all webhook topics in a Klaviyo account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`

ActionTry it

Get webhooks

Get all webhooks in an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:read`

ActionTry it

Merge profiles

Merge 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 be deleted. This operation is queued asynchronously and returns HTTP 202 Accepted. Rate limits: 10/s burst, 150/m steady. Requires `profiles:write` scope.

ActionTry it

Query campaign values

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`

ActionTry it

Query flow series

Returns 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. Rate limits: Burst 1/s, Steady 2/m, Daily 225/d. Scopes: flows:read

ActionTry it

Query flow values

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`

ActionTry it

Query metric aggregates

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 rate limits (3 requests per second, 60 per minute) under 'metrics:read'.

ActionTry it

Remove Profile from List

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 Unsubscribe Profiles action for complete unsubscribing. You can remove up to 1000 profiles per call. Rate limits: 10/s burst, 150/m steady. Required scopes: `lists:write` and `profiles:write`. Preconditions: - Either profile_ids or emails must be provided (not both) - Maximum 1000 profiles per call - Email addresses must be valid format - The list must exist and be accessible

ActionTry it

Request profile deletion

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 second, 60 per minute.

ActionTry it

Spawn bulk profile import job

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:write` scopes. More info in the Bulk Profile Import API guide.

ActionTry it

Spawn coupon code bulk create job

Create 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:write. Returns a job ID that can be used to query the job status via the get_coupon_code_bulk_create_job endpoint.

ActionTry it

Spawn create categories job

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.

ActionTry it

Spawn create items job

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 `catalogs:write` scope.

ActionTry it

Spawn create variants job

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. Requires 'catalogs:write' scope.

ActionTry it

Spawn delete categories job

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/min steady. Requires `catalogs:write` scope.

ActionTry it

Spawn delete items job

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 `catalogs:write` scope.

ActionTry it

Spawn delete variants job

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 `catalogs:write` scope.

ActionTry it

Spawn update categories job

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` scope.

ActionTry it

Spawn update items job

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 scope: `catalogs:write`.

ActionTry it

Spawn update variants job

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 `catalogs:write` scope.

ActionTry it

Subscribe profiles

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 'lists:write', 'profiles:write', 'subscriptions:write' permissions.

ActionTry it

Suppress profiles

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 700/m. Scopes: profiles:write, subscriptions:write.

ActionTry it

Unregister client push token

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.

ActionTry it

Unsubscribe profiles

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 affecting subscriptions. More on consent and removal in the provided links.

ActionTry it

Unsubscribe Profiles Bulk

Tool 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.

ActionTry it

Unsuppress profiles

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 burst, 700/m steady. Scope: 'subscriptions:write'.

ActionTry it

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_SUPPRESSED; profiles with HARD_BOUNCE or INVALID_EMAIL suppressions remain unchanged. Returns a job object that can be monitored for completion status.

ActionTry it

Update Campaign

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 be updated; others remain unchanged. Rate limits: 10/s burst, 150/m steady. Required scope: `campaigns:write`. Preconditions: - Valid API key with campaigns:write scope - Campaign ID must exist and be accessible - Campaign must be in a state that allows updates (usually draft status) - Send strategy options must match the selected method

ActionTry it

Update campaign message

Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`

ActionTry it

Update catalog category

Update a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Update Catalog Category Relationships

Tool 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 existing associations. Pass an empty data array to remove all item relationships from the category. Rate limits: 75/s burst, 700/m steady. Required scope: catalogs:write.

ActionTry it

Update catalog category relationships items

Update item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Update catalog item

Update a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Update catalog item relationships categories

Update catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `catalogs:write`

ActionTry it

Update catalog variant

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`

ActionTry it

Update coupon

Update 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: `60/m` **Scopes:** `coupons:write`

ActionTry it

Update coupon code

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>Steady: `3500/m` **Scopes:** `coupon-codes:write`

ActionTry it

Update flow status

Update 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 before sending - 'live': Messages are sent automatically when triggered Rate limits: Burst: 3/s, Steady: 60/m Required scope: flows:write

ActionTry it

Update image

Update the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `images:write`

ActionTry it

Update list

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`

ActionTry it

Update profile

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: `profiles:write`.

ActionTry it

Update segment

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`

ActionTry it

Update tag

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. **Important**: The `data__id` in the request body must match the `id` path parameter. Returns HTTP 204 No Content on success. *Rate limits*: Burst: `3/s` | Steady: `60/m` **Scopes:** `tags:read` `tags:write`

ActionTry it

Update tag group

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*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `tags:read` `tags:write`

ActionTry it

Update template

Update 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 updated via API. Rate limits: Burst 10/s, Steady 150/m. Requires 'templates:write' scope.

ActionTry it

Update webhook

Update the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m` **Scopes:** `webhooks:write`

ActionTry it

Upload image from file

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/s`<br>Steady: `100/m`<br>Daily: `100/d` **Scopes:** `images:write`

ActionTry it

Upload image from url

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>Steady: `100/m`<br>Daily: `100/d` **Scopes:** `images:write`

ActionTry it
Klaviyo integration | Dench