# Klaviyo MCP connector

The Klaviyo connector links your Klaviyo account to Claude, ChatGPT, Cursor, and any MCP client, so your team can ask about profiles, lists, segments, and tags in plain language and update them without opening Klaviyo.

Source: https://elaichi.ai/connectors/klaviyo/

## Facts

| | |
| --- | --- |
| Application | Klaviyo |
| Category | Marketing Automation |
| AI tools | 336 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 336 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Klaviyo is connected

- Which Klaviyo segments grew most in the last 14 days
- Create a Klaviyo list for winter sale early access
- Show profiles in the VIP Klaviyo segment by region

## Connect Klaviyo in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Klaviyo.
2. Optionally set Share with, then press Connect.
3. Paste a Klaviyo API key. One person generates a token in Klaviyo and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Klaviyo tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Klaviyo to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Klaviyo to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Klaviyo to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Klaviyo to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Klaviyo tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Klaviyo through Elaichi

### Check which segments are ready for a send

Marketing. Ask how many profiles sit in your VIP or lapsed-buyer segments before a campaign goes out, and pull the list of who is in each one.

### Build a new segment from a plain description

Ecommerce. Describe the audience you want, such as people who joined a list this quarter, and have the segment created in Klaviyo with the right name and conditions.

### Look up a customer's Klaviyo profile

Support. While handling a ticket, ask for the customer's profile by email and see which lists they are on, then add a new profile for a shopper who asked to hear from you.

### Keep lists and segments tidy

Retention. Rename a list, retire segments nobody sends to anymore, and confirm what is left, all from one conversation.

### Tag lists and segments by campaign or region

Operations. Create tags such as Spring launch or EMEA, attach them to the right lists and segments, and pull everything under a tag when the team needs it.

### Audit your audiences before a quarterly review

Growth. Ask for every list and segment in the account with its tags, then have the agent summarize which audiences have grown and which are dormant.

## Frequently asked questions

### How do I connect Klaviyo to Claude?

Connect Klaviyo in Elaichi first, then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Klaviyo connects with an API key: you paste a private key from your Klaviyo account settings into Elaichi and it is stored there, so there is no OAuth app to register and no client ID or secret to generate. Once that is done, Claude signs you in through Elaichi and Klaviyo is ready to use.

### Does Klaviyo work with ChatGPT and Cursor as well as Claude?

Yes. Once Klaviyo is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Klaviyo once and every client you use picks it up.

### What can an AI agent actually do with my Klaviyo data?

Through Elaichi, an agent can look up Klaviyo profiles, see which lists and segments they belong to, and create new profiles. It can create, rename, and remove lists and segments, count the profiles in each, and organize them with tags. Because Klaviyo exposes hundreds of actions, short concrete asks such as "how many profiles are in the VIP segment" work better than long paragraphs.

### Does connecting Klaviyo give the AI access to my whole account?

The AI only gets what the Klaviyo API key you connected allows, and Klaviyo lets you scope a private key to specific areas and to read-only or full access. Elaichi then applies its own restrictions on top, so an admin can narrow what the agent can do further. Elaichi can only narrow access to Klaviyo, never widen it.

### Can my team share one Klaviyo connection?

Yes. One person connects Klaviyo in Elaichi and shares the connection with a team, and nobody else ever sees or handles the API key. Each teammate still signs in to Elaichi as themselves, so every Klaviyo action in the audit log is tied to the person who asked for it.

### Can I stop an agent from deleting or changing things in Klaviyo?

Yes. Restrictions in Elaichi work per action, so you can allow reading Klaviyo profiles, lists, and segments while blocking deletes or updates. A blocked action is never shown to Claude, ChatGPT, or any other client, so no prompt can reach it.

### What happens to a Klaviyo connection when someone leaves?

When you offboard someone in Elaichi, their access to Klaviyo through every client ends at once. If they had shared a Klaviyo connection with their team, it keeps working for everyone else. If you want Klaviyo gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 336 Klaviyo tools

Every tool below is callable through https://api.elaichi.ai/mcp once Klaviyo is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Klaviyo lists** (List). List all Klaviyo lists in an account, optionally filtered by id, name, created, or updated. Returns each list as a JSON:API resource object with type, id, attributes, and links, where attributes contains name, created, updated, and opt_in_process. Max 10 results per page.
- **Get single Klaviyo list by ID** (Get). Get a single Klaviyo list by id. Returns the list as a JSON:API resource object with type, id, attributes, and links, where attributes contains name, created, updated, opt_in_process, and profile_count when requested via additional-fields. Required: id.
- **Create a Klaviyo list** (Create). Create a new Klaviyo list. Returns the created list object including its id, type, attributes (name, created, updated, opt_in_process), and links. Required: data.type, data.attributes.name.
- **Delete a Klaviyo list by ID** (Delete). Delete a Klaviyo list by id. Returns an empty 204 response on success. Required: id.
- **Update a Klaviyo list by ID** (Update). Update the name of a Klaviyo list by id. Returns the updated list object including its id, type, attributes (name, created, updated, opt_in_process), and links. Required: id, data.type, data.id, data.attributes.name.
- **List all Klaviyo list tags** (List). List all tags associated with a given Klaviyo list. Returns tag records with type, id, and attributes containing name. Required: list_id.
- **List all Klaviyo list profiles** (List). List all profiles within a specific Klaviyo list. Returns: type, attributes, id, relationships, links. The attributes object contains email, phone_number, first_name, last_name, joined_group_at, location, and custom properties. Required: list_id. Supports filtering by email, phone_number, push_token, and joined_group_at; sorting by joined_group_at ascending or descending.
- **List all Klaviyo segments** (List). List all segments in a Klaviyo account. Returns segment records with id, type, attributes (name, created, updated, is_active, is_processing, is_starred, definition), and relationships. Filterable by name, id, created, updated, is_active, and is_starred. Max 10 results per page.
- **Get single Klaviyo segment by ID** (Get). Get a single Klaviyo segment by id. Returns the segment record with id, type, attributes (name, created, updated, is_active, is_processing, is_starred, definition), and relationships. The profile_count attribute is available when requested via additional-fields[segment]. Required: id.
- **Create a Klaviyo segment** (Create). Create a new segment in Klaviyo. Returns the created segment resource including its type, id, attributes (name, definition, created, updated, is_active, is_processing, is_starred), relationships, and links. Required: name and definition in the request body.
- **Delete a Klaviyo segment by ID** (Delete). Delete a Klaviyo segment by id. Returns an empty 204 response on success. Required: id.
- **Update a Klaviyo segment by ID** (Update). Update a Klaviyo segment by id. Returns the updated segment resource including its type, id, attributes (name, definition, created, updated, is_active, is_processing, is_starred), relationships, and links. Required: id.
- **List all Klaviyo segment tags** (List). List all tags associated with a specific Klaviyo segment. Returns: type, id, attributes, relationships, links. Required: segment_id.
- **List all Klaviyo segment profiles** (List). List all Klaviyo profiles that belong to a specific segment. Returns profile objects including type, id, attributes (email, phone_number, first_name, last_name, joined_group_at, created, updated, location, properties), and links. Required: segment_id. Max 100 per page.
- **List all Klaviyo tags** (List). List all tags in a Klaviyo account, filterable by name and sortable by name or id. Returns: type, id, attributes, relationships, links. Max 50 tags per page.
- **Create a Klaviyo tag** (Create). Create a tag in Klaviyo. A tag belongs to a single tag group; if no tag group is specified, the tag is added to the account's default tag group. Returns the created tag object including its type, id, attributes, relationships, and links. An account cannot have more than 500 unique tags.
- **Get single Klaviyo tag by ID** (Get). Get a single Klaviyo tag by id. Returns the tag object including its type, id, attributes, relationships, and links. Required: id.
- **Update a Klaviyo tag by ID** (Update). Update a Klaviyo tag by id. Only the tag's name can be changed; a tag cannot be moved between tag groups. Returns an empty 204 response on success. Required: id.
- **Delete a Klaviyo tag by ID** (Delete). Delete a Klaviyo tag by id. Any associations between the tag and other resources will also be removed. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo tag lists** (List). List all list IDs associated with a Klaviyo tag. Returns each list resource identifier including type and id. Required: tag_id.
- **List all Klaviyo tag segments** (List). List segment IDs associated with a specific tag in Klaviyo. Returns a collection of JSON:API resource-identifier objects, each containing type and id, representing every segment linked to the tag. Required: tag_id.
- **List all Klaviyo profiles** (List). List all Klaviyo profiles in an account. Returns: type, attributes, id, relationships, links. Supports filtering by id, email, phone_number, external_id, created, and updated, and sorting by id, created, updated, or email. Max 100 per page.
- **Get single Klaviyo profile by ID** (Get). Get a single Klaviyo profile by id. Returns the profile resource object including its type, id, and attributes such as email, first_name, last_name, phone_number, organization, location, created, and updated. Use the additional-fields parameter to include subscriptions or predictive_analytics data. Required: id.
- **Create a Klaviyo profile** (Create). Create a new profile in Klaviyo. Returns the created profile including id, type, attributes (email, first_name, last_name, phone_number, location, properties, created, updated), and links. Required: data.type, data.attributes. Max payload size 100KB.
- **Update a Klaviyo profile by ID** (Update). Update a Klaviyo profile by id. Returns the updated profile resource with type, id, attributes (email, phone_number, first_name, last_name, location, properties, and more), and links. Required: id. Setting a field to null clears it; omitting a field leaves it unchanged. Max payload 100KB.
- **List all Klaviyo accounts** (List). List Klaviyo accounts associated with the current private API key. Returns a single account record with id, type, attributes (contact_information, industry, locale, preferred_currency, public_api_key, test_account, timezone), and links.
- **Get single Klaviyo account by ID** (Get). Get a single Klaviyo account by id. Only the account associated with the API key can be retrieved. Returns: type, id, attributes, links. Required: id.
- **List all Klaviyo campaigns** (List). List Klaviyo campaigns filtered by channel and other criteria. Returns each campaign with id, name, status, archived, audiences, send_options, tracking_options, send_strategy, created_at, scheduled_at, updated_at, and send_time. Required: filter. A channel filter such as equals(messages.channel,'email') is mandatory; sorting by multiple fields is not supported. Max 100 per page.
- **Create a Klaviyo campaign** (Create). Create a new Klaviyo campaign. Returns the created campaign including type, id, attributes (name, status, audiences, send_options, tracking_options, send_strategy, created_at, updated_at), relationships, and links. Required: data.
- **Get single Klaviyo campaign by ID** (Get). Get a single Klaviyo campaign by id. Returns the campaign object including id, name, status, archived, audiences, send_options, tracking_options, send_strategy, created_at, scheduled_at, updated_at, and send_time. Required: id.
- **Update a Klaviyo campaign by ID** (Update). Update a Klaviyo campaign by id with partial attributes. Returns the updated campaign including type, id, attributes (name, status, audiences, send_options, tracking_options, send_strategy, created_at, updated_at), relationships, and links. Required: id, data.
- **Delete a Klaviyo campaign by ID** (Delete). Delete a Klaviyo campaign by id. Returns an empty 204 response on success. Required: id.
- **Klaviyo campaigns list tags** (List). List all tags associated with a specific Klaviyo campaign. Returns each tag's type, id, and attributes (including name). Required: campaign_id.
- **Get single Klaviyo campaign message by ID** (Get). Get a specific Klaviyo campaign message by id. Returns: type, id, attributes, relationships, links. Required: id.
- **Update a Klaviyo campaign message by ID** (Update). Update a Klaviyo campaign message by id. Returns: type, id, attributes, relationships, links. Required: id.
- **Create a Klaviyo campaign send job** (Create). Trigger a Klaviyo campaign to send asynchronously by creating a campaign send job. Returns the campaign send job object including type, id, attributes, and links. Required: data. The send is processed asynchronously and returns 202 Accepted.
- **Get single Klaviyo campaign send job by ID** (Get). Get a Klaviyo campaign send job by id. Returns the campaign send job object including type, id, attributes, and links. Required: id.
- **Update a Klaviyo campaign send job by ID** (Update). Cancel or revert a Klaviyo campaign send by updating the campaign send job status to CANCELED or DRAFT. Returns an empty 204 response on success. Required: id, data.
- **Create a Klaviyo campaign recipient estimation job** (Create). Trigger an asynchronous campaign recipient estimation job in Klaviyo to refresh the estimated recipient count for a campaign. Returns: type, id, attributes, links, relationships. The job runs asynchronously; use the Get Campaign Recipient Estimation Job endpoint to poll its status.
- **Get single Klaviyo campaign recipient estimation job by ID** (Get). Get the status of a campaign recipient estimation job in Klaviyo by id. Returns: type, id, attributes, links, relationships. Required: id.
- **Get single Klaviyo campaign recipient estimation by ID** (Get). Get the estimated recipient count for a Klaviyo campaign by campaign id. Returns: type, id, attributes, links, relationships. Required: id. The count can be refreshed using the Create Campaign Recipient Estimation Job endpoint.
- **Create a Klaviyo campaign clone** (Create). Clone an existing Klaviyo campaign to create a new campaign with a fresh ID and name. Returns the cloned campaign including type, id, attributes (name, status, created_at, updated_at), relationships, and links. Requires a JSON:API request body specifying the campaign to clone.
- **Create a Klaviyo campaign message assign template** (Create). Assign a reusable template to a Klaviyo campaign message by cloning the template and assigning the non-reusable clone to the message. Returns the campaign message resource including type, id, attributes, relationships, and links. Required: data.type, data.id, and data.relationships.template.
- **List all Klaviyo campaign message campaigns** (List). Get the campaign related to a specific Klaviyo campaign message. Returns the campaign resource including id, attributes (with name, status, archived, audiences, send_options, tracking_options, send_strategy, created_at, updated_at), relationships, and links. Required: campaign_message_id.
- **List all Klaviyo campaign message templates** (List). Get the email template associated with a specific Klaviyo campaign message. Returns the template resource including its id, attributes (containing name, html, text, amp, editor_type, created, and updated), and links. Required: campaign_message_id.
- **List all Klaviyo campaign message images** (List). Get the image associated with a specific Klaviyo campaign message. Returns: type, id, attributes, links, name, image_url, format, hidden, size, updated_at. Required: campaign_message_id.
- **List all Klaviyo campaign campaign messages** (List). List all campaign messages belonging to a specific Klaviyo campaign. Returns: type, id, attributes, relationships, links. Required: campaign_id.
- **List all Klaviyo relationships campaign messages** (List). List all campaign message IDs associated with a specific Klaviyo campaign. Returns the type and id of each campaign-message relationship entry. Required: campaign_id.
- **List all Klaviyo relationships campaigns** (List). List campaign IDs associated with a Klaviyo tag. Returns resource linkage objects with type and id for each campaign. Required: tag_id.
- **Create a Klaviyo relationships campaign** (Create). Associate a Klaviyo tag with one or more campaigns by passing campaign IDs in the request body. Returns an empty 204 response on success. Required: tag_id. A campaign cannot be associated with more than 100 tags.
- **Klaviyo relationships campaigns bulk delete** (Delete). Remove a Klaviyo tag's association with one or more campaigns by passing campaign IDs in the request body. Returns an empty 204 response on success. Required: tag_id.
- **List all Klaviyo relationships campaigns campaign** (List). Get the campaign relationship (ID mapping) for a Klaviyo campaign message. Returns a JSON:API relationship object containing the related campaign's type and id, not the full campaign resource. Required: campaign_message_id.
- **List all Klaviyo relationships images** (List). Get the image relationship for a Klaviyo campaign message, returning the resource identifier (type and id) of the associated image. Required: campaign_message_id.
- **Klaviyo relationships images bulk update** (Update). Update the image relationship for a Klaviyo campaign message by specifying the image resource identifier in the request body. Returns an empty 204 response on success. Required: campaign_message_id, data (with type and id).
- **List all Klaviyo relationships tags** (List). List all tag IDs associated with a Klaviyo flow, returning JSON:API resource identifier objects. Returns: type, id. Required: flow_id.
- **List all Klaviyo relationships tags relationships** (List). List tag IDs associated with a Klaviyo list. Returns JSON:API resource identifier objects containing type and id for each tag linked to the list. Required: list_id.
- **List all Klaviyo relationships templates** (List). Get the template relationship for a Klaviyo flow message, returning only the related template's resource identifier linkage (type and id), not the full template attributes. Returns: type, id. Required: flow_message_id.
- **List all Klaviyo relationships templates template** (List). Get the template relationship for a specific Klaviyo campaign message, returning the related template's type and id. Required: campaign_message_id.
- **List all Klaviyo catalog items** (List). List all catalog items in a Klaviyo account. Returns each item with type, id, attributes (external_id, title, price, published, url, created, updated), relationships, and links. Max 100 per page.
- **Create a Klaviyo catalog item** (Create). Create a new catalog item in Klaviyo. Returns the created item with type, id, attributes (external_id, title, price, published, url), relationships, and links. Required: data.type and data.attributes.external_id.
- **Get single Klaviyo catalog item by ID** (Get). Get a specific Klaviyo catalog item by its compound id. Returns the item with type, id, attributes (external_id, title, price, published, url, created, updated), relationships, and links. Required: id.
- **Update a Klaviyo catalog item by ID** (Update). Update a Klaviyo catalog item by its compound id. Returns the updated item with type, id, attributes (external_id, title, price, published, url, created, updated), relationships, and links. Required: id.
- **Delete a Klaviyo catalog item by ID** (Delete). Delete a Klaviyo catalog item by its compound id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo catalog variants** (List). List all catalog variants in a Klaviyo account, sorted by creation date. Returns each variant's id, type, attributes (external_id, title, price, sku, etc.), and relationships. Max 100 per page.
- **Create a Klaviyo catalog variant** (Create). Create a new catalog variant for a related catalog item in Klaviyo. Returns the created variant including id, type, attributes, and relationships. Required: data (including type, attributes with external_id, and relationships.item referencing the catalog item).
- **Get single Klaviyo catalog variant by ID** (Get). Get a single Klaviyo catalog variant by its compound ID. Returns: type, id, attributes, relationships, links.), relationships, and links. Required: id.
- **Update a Klaviyo catalog variant by ID** (Update). Update a Klaviyo catalog variant by its compound ID. Returns the updated variant including id, type, attributes, and relationships. Required: id, data (including type and id).
- **Delete a Klaviyo catalog variant by ID** (Delete). Delete a Klaviyo catalog variant by its compound ID. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo catalog categories** (List). List all catalog categories in a Klaviyo account, sortable by created. Returns each category with its id, name, external_id, created, and updated. Max 100 per request.
- **Create a Klaviyo catalog category** (Create). Create a new catalog category in Klaviyo. Returns the created category with its type, id, attributes (external_id, name, updated), relationships, and links. Required: name, external_id.
- **Get single Klaviyo catalog category by ID** (Get). Get a single Klaviyo catalog category by its compound id (format: {integration}:::{catalog}:::{external_id}). Returns the category with its id, name, external_id, created, and updated. Required: id.
- **Update a Klaviyo catalog category by ID** (Update). Update a Klaviyo catalog category by id. Returns the updated category with its type, id, attributes (external_id, name, updated), relationships, and links. Required: id.
- **Delete a Klaviyo catalog category by ID** (Delete). Delete a Klaviyo catalog category by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo catalog item bulk create jobs** (List). List all catalog item bulk create jobs in Klaviyo. Returns: type, id, attributes, relationships, links. Max 100 jobs per request. Supports filtering by status using the equals operator (e.g. equals(status,'processing')).
- **Create a Klaviyo catalog item bulk create job** (Create). Create a catalog item bulk create job in Klaviyo to create a batch of catalog items. Returns: type, id, attributes, relationships, links, created_at. Accepts up to 100 catalog items per request (max 5MB payload, max 500 jobs in progress at once).
- **Get single Klaviyo catalog item bulk create job by ID** (Get). Get a single catalog item bulk create job by id in Klaviyo. Returns: type, id, attributes, relationships, links. Related catalog items can be included via the include parameter. Required: id.
- **Create a Klaviyo back in stock subscription** (Create). Create a back in stock subscription in Klaviyo, subscribing a profile to receive notifications when a catalog item is back in stock. This is a server-side endpoint; use the client-side equivalent for browser contexts. Returns an empty 202 response on success.
- **List all Klaviyo catalog categorie items** (List). List all catalog items in a Klaviyo catalog category. Returns each item with type, id, attributes (title, external_id, price, published, created, updated, url, images), relationships, and links. Required: catalog_category_id. Max 100 per page.
- **List all Klaviyo catalog category bulk create jobs** (List). List all catalog category bulk create jobs in Klaviyo. Returns: type, id, attributes, relationships, links, status, created_at, total_count, completed_count, failed_count, completed_at, errors, expires_at. Max 100 jobs per request.
- **Create a Klaviyo catalog category bulk create job** (Create). Create a catalog category bulk create job in Klaviyo to create a batch of catalog categories. Returns: type, id, attributes, relationships, links, created_at. Accepts up to 100 categories per request; 5MB max payload; 500 concurrent jobs max. A request body with category data is required.
- **Get single Klaviyo catalog category bulk create job by ID** (Get). Get a single catalog category bulk create job by id in Klaviyo. Returns: type, id, attributes, relationships, links, status, created_at, total_count, completed_count, failed_count, completed_at, errors, expires_at. Supports include=categories for related category data. Required: id.
- **List all Klaviyo catalog category bulk delete jobs** (List). List Klaviyo catalog category bulk delete jobs. Returns each job including id, type, attributes (status, counts, timestamps, errors), and links. Max 100 per page.
- **Create a Klaviyo catalog category bulk delete job** (Create). Create a Klaviyo catalog category bulk delete job to delete a batch of catalog categories. Returns the created job including id, type, attributes (status, counts, timestamps, errors), and links. Required: data. Max 100 categories per request, 5MB payload, 500 concurrent jobs.
- **Get single Klaviyo catalog category bulk delete job by ID** (Get). Get a Klaviyo catalog category bulk delete job by id. Returns the job including id, type, attributes (status, counts, timestamps, errors), and links. Required: id.
- **List all Klaviyo catalog category bulk update jobs** (List). List all klaviyo catalog category bulk update jobs. Returns: type, id, attributes, relationships, links, status, created_at, total_count, completed_count, failed_count, completed_at, errors, expires_at. Max 100 jobs per request. Optionally filter by status (queued, processing, complete, cancelled) using the `filter` parameter.
- **Create a Klaviyo catalog category bulk update job** (Create). Create a klaviyo catalog category bulk update job to update a batch of up to 100 catalog categories in a single request. Returns: type, id, attributes, relationships, links, created_at. Max 500 concurrent jobs in progress.
- **Get single Klaviyo catalog category bulk update job by ID** (Get). Get a Klaviyo catalog category bulk update job by id. Returns the job object including id, status, created_at, completed_at, expires_at, completed_count, failed_count, total_count, and errors. Optionally include related category data via the include parameter. Required: id.
- **List all Klaviyo catalog item bulk delete jobs** (List). List Klaviyo catalog item bulk delete jobs. Returns: type, id, attributes, relationships, links. Max 100 jobs per request.
- **Create a Klaviyo catalog item bulk delete job** (Create). Create a Klaviyo catalog item bulk delete job to delete a batch of up to 100 catalog items. Returns: type, id, attributes, relationships, links. Required: data. Max payload 5MB; max 500 concurrent jobs.
- **Get single Klaviyo catalog item bulk delete job by ID** (Get). Get a single Klaviyo catalog item bulk delete job by id. Returns: type, id, attributes, relationships, links. Required: id.
- **List all Klaviyo catalog item bulk update jobs** (List). List Klaviyo catalog item bulk update jobs, optionally filtered by status. Returns: type, id, attributes, relationships, links. Max 100 jobs per page.
- **Create a Klaviyo catalog item bulk update job** (Create). Create a Klaviyo catalog item bulk update job to asynchronously update a batch of up to 100 catalog items. Returns: type, id, attributes, relationships, links. Accepts up to 100 items per request; max payload size 5MB; max 500 jobs in progress at one time.
- **Get single Klaviyo catalog item bulk update job by ID** (Get). Get a single Klaviyo catalog item bulk update job by id, optionally including related catalog items. Returns: type, id, attributes, relationships, links. Required: id. Use the include parameter with 'items' to retrieve related catalog item data.
- **List all Klaviyo catalog item categories** (List). List all Klaviyo catalog categories that a given catalog item belongs to. Returns each category with id, external_id, name, and updated timestamp. Required: catalog_item_id. Max 100 categories per request; sortable by created.
- **List all Klaviyo catalog item variants** (List). List all variants for a specific Klaviyo catalog item. Returns each variant with type, id, attributes (title, sku, price, external_id, published, created, updated), relationships, and links. Required: catalog_item_id. Max 100 variants per request.
- **List all Klaviyo catalog variant bulk create jobs** (List). List Klaviyo catalog variant bulk create jobs. Returns each job with id, status, created_at, total_count, completed_count, failed_count, and errors. Max 100 per page. Filter by status using equals(status,'processing').
- **Create a Klaviyo catalog variant bulk create job** (Create). Create a Klaviyo catalog variant bulk create job to batch-create up to 100 catalog variants. Returns: type, id, attributes, relationships, links. Accepts up to 100 variants per request; max 5MB payload; max 500 concurrent jobs. Required: data (with nested variants array).
- **Get single Klaviyo catalog variant bulk create job by ID** (Get). Get a single Klaviyo catalog variant bulk create job by id. Returns: type, id, attributes, relationships, links. Use the include parameter to retrieve related variant resources. Required: id.
- **List all Klaviyo catalog variant bulk delete jobs** (List). List catalog variant bulk delete jobs in Klaviyo. Returns: type, id, attributes, relationships, links. Max 100 jobs per request.
- **Create a Klaviyo catalog variant bulk delete job** (Create). Create a catalog variant bulk delete job in Klaviyo to delete a batch of catalog variants. Returns: type, id, attributes, relationships, links, created_at. Required: type, attributes. Accepts up to 100 variants per request, max 5MB payload, 500 concurrent jobs.
- **Get single Klaviyo catalog variant bulk delete job by ID** (Get). Get a Klaviyo catalog variant bulk delete job by id. Returns the job resource including id, type, and attributes with status, created_at, completed_at, expires_at, total_count, completed_count, failed_count, and errors. Required: id.
- **List all Klaviyo catalog variant bulk update jobs** (List). List Klaviyo catalog variant bulk update jobs. Returns: type, id, attributes, relationships, links, status, created_at, total_count, completed_count, failed_count, completed_at, expires_at, errors. Max 100 per page. Filter by status using the equals operator.
- **Create a Klaviyo catalog variant bulk update job** (Create). Create a Klaviyo catalog variant bulk update job to update a batch of catalog variants asynchronously. Returns: type, id, attributes, relationships, links, created_at. Accepts up to 100 variants per request; max 5MB payload; max 500 concurrent jobs. Required: data.
- **Get single Klaviyo catalog variant bulk update job by ID** (Get). Get a single Klaviyo catalog variant bulk update job by id. Returns: type, id, attributes, relationships, links, status, created_at, total_count, completed_count, failed_count, completed_at, expires_at, errors. Use include to retrieve related variant data. Required: id.
- **Create a Klaviyo conversation message** (Create). Send an outbound message to a conversation in Klaviyo. Returns an empty 202 response on success. Requires account-level enablement. Required: data.
- **List all Klaviyo coupon code bulk create jobs** (List). List Klaviyo coupon code bulk create jobs. Returns: type, id, attributes, relationships, links. Max 100 per page. Filter by status using the equals operator.
- **Create a Klaviyo coupon code bulk create job** (Create). Create a Klaviyo coupon code bulk create job to bulk create coupon codes. Returns: type, id, attributes, relationships, links, created_at. Required: type, attributes (containing coupon-codes). Max 1000 coupon codes per job, max 100 jobs queued at once.
- **Get single Klaviyo coupon code bulk create job by ID** (Get). Get a single Klaviyo coupon code bulk create job by id. Returns: type, id, attributes, relationships, links. Use include=coupon-codes to retrieve the coupon codes created by this job. Required: id.
- **List all Klaviyo coupon codes** (List). List Klaviyo coupon codes associated with a coupon or profile. Returns each coupon code resource including id, type, attributes (unique_code, status, expires_at), and coupon relationship. Required: filter. A coupon or profile filter must be provided.
- **Create a Klaviyo coupon code** (Create). Create a Klaviyo coupon code for a given coupon synchronously. Returns the created coupon code with id, type, unique_code, status, and expires_at. Required: type, unique_code, coupon_id.
- **Get single Klaviyo coupon code by ID** (Get). Get a single Klaviyo coupon code by id. Returns the coupon code resource including id, type, attributes (unique_code, status, expires_at), and coupon relationship. Required: id.
- **Update a Klaviyo coupon code by ID** (Update). Update a Klaviyo coupon code's status and/or expires_at by id synchronously. Only 'status' and 'expires_at' are updatable. Returns the updated coupon code with id, type, unique_code, status, and expires_at. Required: id, type.
- **Delete a Klaviyo coupon code by ID** (Delete). Delete a Klaviyo coupon code by id synchronously. Returns an empty 204 response on success. Required: id. An exception is raised if a profile has been assigned to the coupon code.
- **List all Klaviyo coupons** (List). List all Klaviyo coupons in an account. Returns an array of coupons, each with type, id, attributes (external_id, description, monitor_configuration), and links.
- **Create a Klaviyo coupon** (Create). Create a new Klaviyo coupon. Returns the created coupon including type, id, attributes (external_id, description, monitor_configuration), and links. Required: external_id.
- **Get single Klaviyo coupon by ID** (Get). Get a single Klaviyo coupon by id. Returns the coupon including type, id, attributes (external_id, description, monitor_configuration), and links. Required: id.
- **Update a Klaviyo coupon by ID** (Update). Update a Klaviyo coupon by id. Returns the updated coupon including type, id, attributes (external_id, description, monitor_configuration), and links. Required: id.
- **Delete a Klaviyo coupon by ID** (Delete). Delete a Klaviyo coupon by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo relationships categories** (List). List catalog category relationship linkage objects for a Klaviyo catalog item. Returns: type, id. Required: catalog_item_id. Max 100 per page.
- **Create a Klaviyo relationships category** (Create). Add a catalog category relationship to a Klaviyo catalog item by specifying the category type and id. Returns an empty 204 response on success. Required: catalog_item_id, type, id.
- **Klaviyo relationships categories bulk update** (Update). Update (replace) catalog category relationships for a Klaviyo catalog item. Returns an empty 204 response on success. Required: catalog_item_id, data.
- **Klaviyo relationships categories bulk delete** (Delete). Remove catalog category relationships from a Klaviyo catalog item. Returns an empty 204 response on success. Required: catalog_item_id, data.
- **List all Klaviyo relationships items** (List). List catalog item relationships for a Klaviyo catalog category, returning resource identifiers (type and id) for each item in the category. Required: catalog_category_id. Max 100 per page.
- **Create a Klaviyo relationships item** (Create). Add catalog items to a catalog category in Klaviyo by creating item relationships. Returns an empty 204 response on success. Required: catalog_category_id, data.
- **Klaviyo relationships items bulk update** (Update). Replace all catalog item relationships for a category in Klaviyo. Returns an empty 204 response on success. Required: catalog_category_id, data.
- **Klaviyo relationships items bulk delete** (Delete). Remove catalog items from a category in Klaviyo. Returns an empty 204 response on success. Required: catalog_category_id, data.
- **List all Klaviyo relationships variants** (List). List Klaviyo catalog variant IDs related to a given catalog item. Returns: type, id. Required: catalog_item_id. Max 100 variants per request; sort by created.
- **List all Klaviyo coupon code coupons** (List). Get the Klaviyo coupon associated with a given coupon code. Returns the coupon resource including id, type, attributes (containing description, external_id, and monitor_configuration), and links. Required: coupon_code_id.
- **List all Klaviyo coupon coupon codes** (List). List coupon codes associated with a specific Klaviyo coupon. Returns each coupon code record including its id, status, unique_code, and expires_at. Required: coupon_id. Max 100 per page.
- **Create a Klaviyo data privacy deletion job** (Create). Request a profile deletion in Klaviyo by providing exactly one identifier (email, phone_number, or id). All profiles matching the identifier are deleted asynchronously. Returns an empty 202 response on success. Required: data.type, data.attributes. Exactly one of email, phone_number, or id must be provided; providing multiple returns an error.
- **Create a Klaviyo data source record bulk create job** (Create). Create a bulk data source record import job in Klaviyo to create a batch of up to 500 records. Maximum payload size is 4MB with 512KB per record. Required: data. Returns an empty 204 response on success.
- **Create a Klaviyo data source record create job** (Create). Create a data source record import job to create a single record in Klaviyo. Returns an empty 204 response on success. Requires a JSON:API request body. Maximum allowed payload size per-record is 512KB.
- **List all Klaviyo data sources** (List). List all data sources in a Klaviyo account. Returns each data source's type, id, and attributes including description, namespace, title, and visibility. Max 100 per page.
- **Get single Klaviyo data source by ID** (Get). Get a single Klaviyo data source by id. Returns the data source's type, id, and attributes including description, namespace, title, and visibility. Required: id.
- **Create a Klaviyo data source** (Create). Create a new data source in a Klaviyo account. Returns the created data source including its type, id, title, visibility, description, and namespace. Required: type, title.
- **Delete a Klaviyo data source by ID** (Delete). Delete a Klaviyo data source by id. Returns an empty 204 response on success. Required: id.
- **Create a Klaviyo event bulk create job** (Create). Create a batch of events for one or more profiles in Klaviyo, creating or updating profiles as needed. Returns an empty 202 response on success. Required: a request body containing event data where each event includes at least one profile identifier (id, email, or phone_number) and a metric name. Accepts up to 1,000 events per request with a 5MB maximum payload size.
- **List all Klaviyo events** (List). List all Klaviyo events in an account. Returns each event with type, id, attributes (timestamp, event_properties, datetime, uuid), relationships, and links. Custom metrics are not supported in the metric_id filter.
- **Get single Klaviyo event by ID** (Get). Get a single Klaviyo event by id. Returns the event with type, id, attributes (timestamp, event_properties, datetime, uuid), relationships, and links. Required: id.
- **Create a Klaviyo event** (Create). Create a new event in Klaviyo to track a profile's activity, also creating or updating the associated profile. Returns an empty 202 response on success. Required: data with a metric name and at least one profile identifier (email, phone_number, or id).
- **Create a Klaviyo object record bulk delete job** (Create). Create a bulk delete job to delete a batch of object records in Klaviyo. Accepts up to 500 object record IDs per request with a maximum payload size of 5MB. Returns an empty 202 Accepted response on success. Required: data.
- **Get single Klaviyo object record by ID** (Get). Get a single Klaviyo object record by its compound ID (formatted as object_type_id:::object_record_id). Returns: type, id, attributes, links. Required: id.
- **List all Klaviyo object schema source mappings** (List). Get the source mapping for a Klaviyo object schema. Returns the source mapping resource including its type, id, attributes (with property_mappings and relationship_mappings), and links. Required: object_schema_id.
- **Create a Klaviyo object schema** (Create). Create a new object schema in Klaviyo. Returns: type, id, attributes, relationships, links, title, description, properties, required, status, published_at, visibility, meta. Required: type.
- **Get single Klaviyo object schema by ID** (Get). Get a specific object schema in Klaviyo by its ULID ID. Returns: type, id, attributes, relationships, links, meta. Required: id.
- **Update a Klaviyo object schema by ID** (Update). Update a Klaviyo object schema by id. Returns: type, id, attributes, relationships, links, title, description, properties, required, status, published_at, visibility, meta. Required: id, type.
- **List all Klaviyo object type current schemas** (List). Get the current schema for a Klaviyo custom object type by its ULID ID. Returns: type, id, attributes, relationships, links. Required: object_type_id.
- **List all Klaviyo object type draft schemas** (List). Get the draft schema for a Klaviyo object type by its ULID ID. Returns the object-schema resource including its type, id, attributes, and links, where attributes contains the schema's properties, title, description, status, visibility, published_at, and required field list. Required: object_type_id.
- **List all Klaviyo object type object ingestion logs** (List). List ingestion logs for a Klaviyo object type. Only ingestion failures are logged. Returns each log entry including its id, type, attributes (errors, event_type, status, summary, timestamp), relationships, and links. Required: object_type_id. Logs are retained for 14 days; results are newest first with a fixed page size of 50.
- **List all Klaviyo object type object records** (List). List all object records for a given Klaviyo custom object type. Returns each record's type, id, attributes (including record_properties), and links. Required: object_type_id. Max 100 records per page.
- **List all Klaviyo object type schema versions** (List). List all schema versions for a Klaviyo object type. Returns: type, id, attributes, relationships, links. Required: object_type_id.
- **List all Klaviyo object types** (List). List all object types in a Klaviyo account, optionally filtered by namespace. Returns: type, id, attributes, relationships, links, meta.
- **Get single Klaviyo object type by ID** (Get). Get a single object type in Klaviyo by its ULID id. Returns: type, id, attributes, relationships, links, meta. Required: id.
- **Create a Klaviyo object type** (Create). Create a new object type in Klaviyo. Returns: type, id, attributes, relationships, links, meta. Required: title and namespace.
- **Delete a Klaviyo object type by ID** (Delete). Delete an object type in Klaviyo by its ULID id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo relationships coupon codes** (List). List the coupon code IDs associated with a Klaviyo coupon. Returns an array of resource identifier objects with type and id for each coupon code. Required: coupon_id.
- **List all Klaviyo relationships coupons** (List). Get the coupon relationship (resource linkage) for a Klaviyo coupon code, returning the related coupon's JSON:API resource type and id — not the full coupon resource. Returns: type, id. Required: coupon_code_id.
- **List all Klaviyo relationships current schemas** (List). Get the current schema ID relationship for a Klaviyo object type. Returns: type, id, attributes, relationships, links. Required: object_type_id.
- **List all Klaviyo relationships draft schemas** (List). Get the draft schema relationship for a Klaviyo object type, returning the related draft schema's resource identifier (type and id) rather than the full schema resource. Returns: type, id. Required: object_type_id.
- **List all Klaviyo relationships object ingestion logs** (List). List ingestion log relationship IDs for a Klaviyo custom object type. Only ingestion failures are logged; logs are retained for 14 days and returned newest first with a fixed page size of 50. Returns: type, id. Required: object_type_id.
- **List all Klaviyo relationships object records** (List). List all object record IDs for a given object type in Klaviyo. Returns relationship linkage objects with type and id for each object record. Required: object_type_id.
- **List all Klaviyo relationships object schemas** (List). List related object schemas for a Klaviyo object schema by its ULID ID. Returns: type, id, meta. Required: object_schema_id.
- **Create a Klaviyo relationships object schema** (Create). Create a relationship between object schemas in Klaviyo. Returns an empty 204 response on success. Required: object_schema_id, type, id. Flow filtering and segmentation are not supported for object-to-object relationships.
- **Klaviyo relationships object schemas bulk update** (Update). Update (replace) all relationships between object schemas in Klaviyo with the provided list of related object schemas. Returns an empty 204 response on success. Required: object_schema_id, data.
- **Klaviyo relationships object schemas bulk delete** (Delete). Delete relationships between object schemas in Klaviyo by removing the specified related object schemas. Returns an empty 204 response on success. Required: object_schema_id, data.
- **List all Klaviyo relationships object types** (List). List related object types for a Klaviyo object type by its ULID ID. Returns the JSON:API relationship identifier collection including type, id, and meta with description, name, and relationship_id for each related object type. Required: object_type_id.
- **List all Klaviyo relationships profile object schemas** (List). List profile object schema relationships for a Klaviyo object schema. Returns: type, id, links. Required: object_schema_id.
- **Create a Klaviyo relationships profile object schema** (Create). Create a relationship between a Klaviyo object schema and a profile by providing a type and id linkage object in the request body. Returns an empty 204 response on success. Required: object_schema_id, type, id.
- **Klaviyo relationships profile object schemas bulk update** (Update). Replace all profile object schema relationships for a Klaviyo object schema by providing a data array of type and id linkage objects. Returns an empty 204 response on success. Required: object_schema_id, data.
- **Klaviyo relationships profile object schemas bulk delete** (Delete). Remove profile object schema relationships from a Klaviyo object schema by providing a data array of type and id linkage objects. Returns an empty 204 response on success. Required: object_schema_id, data.
- **List all Klaviyo relationships profile object types** (List). List related profile object types for a Klaviyo object type, returning the relationship linkage (ID mappings only, not full resources). Returns: type, id. Required: object_type_id.
- **List all Klaviyo relationships schema versions** (List). List all schema version relationship linkage objects for a Klaviyo object type. Returns the resource identifier mapping (type, id) for each schema version. Required: object_type_id.
- **List all Klaviyo relationships source mappings** (List). Get the source mapping relationship (ID linkage) for a Klaviyo object schema. Returns the JSON:API linkage object containing the related source mapping's type and id. Required: object_schema_id.
- **Get single Klaviyo source mapping by ID** (Get). Get a Klaviyo source mapping by its ULID id. Returns the source-mapping resource including id, property_mappings, and relationship_mappings. Required: id.
- **Update a Klaviyo source mapping by ID** (Update). Update a Klaviyo source mapping by its ULID id with new property or relationship mappings. Returns the updated source-mapping resource including id, property_mappings, and relationship_mappings. Required: id.
- **List all Klaviyo event metrics** (List). Get the metric associated with a specific Klaviyo event by event ID. Returns the metric resource including id, attributes with name, integration, created and updated, and links. Required: event_id.
- **List all Klaviyo event profiles** (List). Get the Klaviyo profile associated with a specific event by event ID. Returns: type, attributes, id, relationships, links. Required: event_id.
- **List all Klaviyo flow action flow messages** (List). List all Klaviyo flow messages associated with a given flow action. Returns: type, id, attributes, relationships, links, channel, created, definition, updated. Required: flow_action_id. Max 50 per page.
- **List all Klaviyo flow action flows** (List). Get the Klaviyo flow associated with a specific flow action. Returns: type, id, attributes, relationships, links. Required: flow_action_id.
- **Delete a Klaviyo flow action by ID** (Delete). Delete a Klaviyo flow action by id. Returns an empty 204 response on success. Required: id.
- **Get single Klaviyo flow action by ID** (Get). Get a single Klaviyo flow action by id. Returns the flow action resource including type, id, attributes with created, updated, and definition, plus links and relationships to flow and flow-messages. Required: id.
- **Update a Klaviyo flow action by ID** (Update). Update a Klaviyo flow action by id with a new definition. Returns the updated flow action resource including type, id, attributes (created, definition, updated), and links. Required: id.
- **List all Klaviyo flow flow actions** (List). List all flow actions associated with a specific Klaviyo flow. Returns each flow action's id, type, status, action_type, created, updated, and definition. Required: flow_id. Max 50 results per page with cursor-based pagination.
- **List all Klaviyo flow message flow actions** (List). Get the flow action associated with a specific Klaviyo flow message by message ID. Returns: type, id, attributes, relationships, links. Required: flow_message_id.
- **List all Klaviyo flow message templates** (List). Get the email template associated with a specific flow message in Klaviyo. Returns: type, id, attributes, links. Required: flow_message_id.
- **Get single Klaviyo flow message by ID** (Get). Get a Klaviyo flow message by its flow message ID. Returns the flow-message resource object including its type, id, attributes (channel, created, definition, updated), relationships, and links. Required: id.
- **Create a Klaviyo flow** (Create). Create a new Klaviyo flow using an encoded flow definition. New objects within the definition use temporary_id for identification, replaced with real ids after creation. Returns the created flow with id, type, attributes (name, status, created, updated, archived, trigger_type, definition), and links. Required: data.
- **Delete a Klaviyo flow by ID** (Delete). Delete a Klaviyo flow by id. Returns an empty 204 response on success. Required: id.
- **Get single Klaviyo flow by ID** (Get). Get a single Klaviyo flow by id. Returns the flow resource with id, type, attributes (name, status, created, updated, archived, trigger_type, definition), relationships (flow-actions, tags), and links. Required: id.
- **List all Klaviyo flows** (List). List all flows in a Klaviyo account with cursor-based pagination. Returns flow resource objects including type, id, and attributes with name, status, archived, created, updated, and trigger_type. Max 50 per page.
- **Klaviyo flows list tags** (List). List all tags associated with a specific Klaviyo flow. Returns each tag with its type, id, attributes (including name), and links. Required: flow_id.
- **Update a Klaviyo flow by ID** (Update). Update the status of a Klaviyo flow and all actions within it. Returns the updated flow object including id, name, status, created, updated, archived, and trigger_type. Required: id, data.
- **List all Klaviyo form form versions** (List). List Klaviyo form versions for a specific form. Returns form version resource objects including type, id, attributes (form_type, status, created_at, updated_at, variation_name, ab_test), and links. Required: form_id. Max 100 per page.
- **List all Klaviyo form version forms** (List). Get the Klaviyo form associated with a specific form version. Returns the form resource object including its type, id, attributes (name, status, ab_test, created_at, updated_at), and links. Required: form_version_id.
- **Get single Klaviyo form version by ID** (Get). Get a Klaviyo form version by id. Returns the form-version resource object including id, type, attributes (form_type, status, created_at, updated_at, variation_name, ab_test), relationships, and links. Required: id.
- **Create a Klaviyo form** (Create). Create a new Klaviyo form (signup form, popup, embed, or flyout). Returns the created form's id and attributes: name, status, ab_test, definition, created_at, updated_at. Required: data.type ("form"), data.attributes.name, data.attributes.definition. The definition is the form's full visual builder configuration and is most reliably built by copying the structure from an existing form (GET /api/forms/{id}) rather than authored from scratch.
- **Delete a Klaviyo form by ID** (Delete). Delete a Klaviyo form by id. Returns an empty 204 response on success. Required: id.
- **Get single Klaviyo form by ID** (Get). Get a single Klaviyo form by id. Returns the form's id and attributes: name, status (draft or live), ab_test, definition (the full visual builder configuration), created_at, updated_at. Required: id.
- **List all Klaviyo forms** (List). List forms (signup forms, popups, embeds, and flyouts) in the Klaviyo account. Returns each form's id and attributes: name, status (draft or live), ab_test, definition (the form's visual builder configuration), created_at, updated_at. Supports filtering, sorting, and cursor pagination.
- **Create a Klaviyo image upload** (Create). Upload an image from a file to Klaviyo's image library. Returns the created image resource including type, id, attributes (name, image_url, format, size, hidden, updated_at), and links. Required: data and file. Use the Upload Image From URL endpoint to import from a URL or data URI instead.
- **Create a Klaviyo image** (Create). Upload an image to Klaviyo from a URL or data URI. Returns the created image object including id, name, image_url, format, size, hidden, and updated_at.
- **Get single Klaviyo image by ID** (Get). Get a single Klaviyo image by id. Returns the image object including id, name, image_url, format, size, hidden, and updated_at. Required: id.
- **List all Klaviyo images** (List). List all images in a Klaviyo account. Returns each image with id, name, image_url, format, size, hidden, and updated_at. Supports filtering by id, updated_at, format, name, size, and hidden, and sorting by format, id, name, size, or updated_at.
- **Update a Klaviyo image by ID** (Update). Update a Klaviyo image by id. Returns the updated image object including id, name, image_url, format, size, hidden, and updated_at. Required: id.
- **List all Klaviyo list flow triggers** (List). List all Klaviyo flows where the given list is used as the trigger. Returns flow objects including id, name, status, trigger_type, archived, created, and updated. Required: list_id.
- **List all Klaviyo relationships flow actions** (List). List flow action relationship linkage objects for a Klaviyo flow, returning only the type and id of each associated flow action. Required: flow_id. Max 50 results per page.
- **List all Klaviyo relationships flow actions flow action** (List). Get the flow action relationship for a specific flow message in Klaviyo. Returns the to-one relationship linkage object containing id and type. Required: flow_message_id.
- **List all Klaviyo relationships flow messages** (List). List flow message relationships for a Klaviyo flow action, returning the IDs of all associated flow messages. Returns: type, id, links. Required: flow_action_id. Max 50 results per page.
- **Klaviyo relationships flows bulk delete** (Delete). Remove a Klaviyo tag's association with one or more flows. Pass the flow resource identifier(s) in the request body whose association with the tag will be removed. Returns an empty 204 response on success. Required: tag_id.
- **Create a Klaviyo relationships flow** (Create). Associate a Klaviyo tag with one or more flows by passing a flow resource identifier in the request body. A flow cannot be associated with more than 100 tags. Returns an empty 204 response on success. Required: tag_id.
- **List all Klaviyo relationships flows** (List). List the flow resource identifiers associated with a given Klaviyo tag. Returns a collection of JSON:API relationship identifier objects, each containing the flow's type and id. Returns: type, id. Required: tag_id.
- **List all Klaviyo relationships flows flow** (List). Get the flow relationship (ID mapping) for a specific Klaviyo flow action. Returns the resource identifier object with type and id of the associated flow. Required: flow_action_id.
- **List all Klaviyo relationships form versions** (List). List form version resource identifiers (type and id only) for a Klaviyo form — this relationships endpoint returns ID mappings, not full form version attributes. Returns: type, id. Supports filtering by form_type, status, created_at, and updated_at, and sorting by created_at or updated_at. Required: form_id. Max 100 per page.
- **List all Klaviyo relationships forms** (List). Get the form relationship for a Klaviyo form version, returning the associated form's type and id. Required: form_version_id.
- **List all Klaviyo relationships metrics** (List). Get the metric ID for a Klaviyo event by event_id. Returns the related metric resource linkage including type and id. Required: event_id.
- **List all Klaviyo relationships metrics metric** (List). Get the metric resource identifier associated with a mapped metric in Klaviyo. This is a JSON:API to-one relationship endpoint returning only the related metric's type and id. Returns: type, id. Required: mapped_metric_id.
- **List all Klaviyo relationships metrics relationships** (List). List metric IDs associated with a custom metric in Klaviyo. Returns: type, id. Required: custom_metric_id.
- **Klaviyo relationships profiles bulk delete** (Delete). Remove one or more profiles from a Klaviyo list by list ID. Accepts up to 1000 profiles per call. Returns an empty 204 response on success. Required: list_id, data.
- **Create a Klaviyo relationships profile** (Create). Add one or more profiles to a Klaviyo list by list ID. Accepts up to 1000 profiles per call. Returns an empty 204 response on success. Required: list_id, data.
- **List all Klaviyo relationships profiles** (List). Get the profile relationship (ID mapping) for a specific Klaviyo event. This returns a JSON:API resource identifier containing the type and id of the profile associated with the event. Returns: type, id. Required: event_id.
- **List all Klaviyo relationships profiles profile** (List). Get the profile ID associated with a push token in Klaviyo. Returns a to-one relationship resource identifier object containing type and id. Required: push_token_id.
- **List all Klaviyo relationships profiles relationships** (List). List profile membership relationships (ID mappings) for a Klaviyo list, returning resource identifier objects for each profile in the list. Returns: type, id. Required: list_id. Supports filtering by email, phone_number, push_token, _kx, and joined_group_at, and sorting by joined_group_at. Max 100 per page.
- **List all Klaviyo custom metric metrics** (List). List all metrics associated with a specific custom metric in Klaviyo. Returns: type, id, attributes, relationships, links. Required: custom_metric_id.
- **List all Klaviyo custom metrics** (List). List all custom metrics in a Klaviyo account. Returns each custom metric resource with its id, type, and attributes including name, definition, created, and updated.
- **Create a Klaviyo custom metric** (Create). Create a new custom metric in Klaviyo. Returns the created custom metric with its id, type, name, definition, created, and updated. Required: name, definition.
- **Get single Klaviyo custom metric by ID** (Get). Get a single custom metric in Klaviyo by id. Returns the custom metric resource with its id, type, and attributes including name, definition, created, and updated. Required: id.
- **Update a Klaviyo custom metric by ID** (Update). Update a custom metric in Klaviyo by id. Returns the updated custom metric with its id, type, name, definition, created, and updated. Required: id.
- **Delete a Klaviyo custom metric by ID** (Delete). Delete a custom metric in Klaviyo by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo mapped metric custom metrics** (List). Get the custom metric associated with a mapped metric type in Klaviyo. Returns the custom-metric resource including its id, name, created, updated, and definition (with aggregation_method and metric_groups). Required: mapped_metric_id.
- **List all Klaviyo mapped metric metrics** (List). Get the Klaviyo metric associated with a mapped metric by mapping type. Returns the metric resource including type, id, attributes (name, created, updated, integration), and links. Required: mapped_metric_id.
- **List all Klaviyo mapped metrics** (List). List all mapped metrics in a Klaviyo account. Returns each mapped metric with its id and updated timestamp. Supports sparse fieldsets for mapped-metric, metric, and custom-metric resources, and including related metric or custom-metric resources.
- **Get single Klaviyo mapped metric by ID** (Get). Get a single mapped metric in Klaviyo by its mapping type id. Returns: type, id, attributes, relationships, links. Required: id.
- **Update a Klaviyo mapped metric by ID** (Update). Update a mapped metric in Klaviyo by its mapping type id. Returns the updated mapped metric with its id and updated timestamp. Required: id.
- **Create a Klaviyo metric aggregate** (Create). Query and aggregate Klaviyo metric event data—native metrics, integration-specific metrics, and custom events—via a required JSON request body. Results can be filtered and grouped by time, event, or profile dimensions. Returns: type, id, attributes, links.
- **List all Klaviyo metric flow triggers** (List). List all Klaviyo flows triggered by a given metric. Returns: type, id, attributes, relationships, links. Required: metric_id.
- **List all Klaviyo metric metric properties** (List). List metric properties for a specific Klaviyo metric. Returns each metric property's id, type, attributes (inferred_type, label, property), and links. Required: metric_id.
- **List all Klaviyo metric propertie metrics** (List). Get the Klaviyo metric associated with a specific metric property. Returns the metric resource including its type, id, attributes (name, created, updated, integration with name and category), and links. Required: metric_property_id.
- **Get single Klaviyo metric property by ID** (Get). Get a Klaviyo metric property by id. Returns: type, attributes, id, relationships, links, inferred_type, label, property, sample_values. Required: id.
- **List all Klaviyo metrics** (List). List all metrics in a Klaviyo account. Returns the metric object including id, name, integration, created, and updated for each result. Results can be filtered by integration name or category. Max 200 per page.
- **Get single Klaviyo metric by ID** (Get). Get a single Klaviyo metric by id. Returns the full metric object including id, name, integration, created, and updated. Required: id.
- **List all Klaviyo profile bulk import jobs** (List). List all bulk profile import jobs in Klaviyo. Returns each job resource including id, type, attributes (status, created_at, total_count, completed_count, failed_count, started_at, completed_at, expires_at), and links. Max 100 per page.
- **Create a Klaviyo profile bulk import job** (Create). Create a bulk profile import job in Klaviyo to asynchronously create or update a batch of profiles. Returns: type, id, attributes, relationships, links. The request body is required and the job is processed asynchronously, returning a 202 Accepted response. Accepts up to 10,000 profiles per request with a 5MB maximum payload size and 100KB per-profile limit.
- **Get single Klaviyo profile bulk import job by ID** (Get). Get a Klaviyo bulk profile import job by id. Returns: type, id, attributes, relationships, links. Required: id.
- **Create a Klaviyo profile import** (Create). Create or update a Klaviyo profile from a set of attributes and optionally an ID for upsert behavior. Returns the profile object including type, id, attributes (email, first_name, last_name, phone_number, created, updated, location, properties), and links. Setting a field to null clears it; omitting leaves it unchanged. Max payload 100KB. Required: data.type, data.attributes.
- **List all Klaviyo profile lists** (List). List Klaviyo list memberships for a given profile. Returns each list's type, id, attributes (including name, created, and updated), and links. Required: profile_id.
- **Create a Klaviyo profile merge** (Create). Merge a source Klaviyo profile into a destination profile by queuing an asynchronous task that merges data and deletes the source. Returns the destination profile including type, id, and links. Required: data.type, data.id (destination profile), and data.relationships.profiles with one source profile entry. Only one source profile accepted per request.
- **List all Klaviyo profile push tokens** (List). List all push tokens that belong to a specific Klaviyo profile. Returns each push token record with type, id, attributes (including token, platform, enablement_status, vendor, and created), and links. Required: profile_id.
- **List all Klaviyo profile segments** (List). List segment memberships for a Klaviyo profile by profile ID. Returns: type, id, attributes, relationships, links. Required: profile_id.
- **Create a Klaviyo profile subscription bulk create job** (Create). Create a bulk subscription job to subscribe one or more Klaviyo profiles to email, SMS, WhatsApp, or push marketing. Returns an empty 202 response on success. Required: data. Maximum 1000 profiles per call; either email or phone_number is required per profile; if historical_import is set to true, consented_at is required and must be in the past.
- **Create a Klaviyo profile subscription bulk delete job** (Create). Create a bulk unsubscribe job in Klaviyo to unsubscribe one or more profiles from email, SMS, WhatsApp, and push marketing channels. Push tokens in subscriptions.push.tokens will be removed for the specified profiles. Returns an empty 202 response on success. Required: a request body with profiles containing email or phone_number identifiers. Maximum 100 profiles per call; profiles not in the…
- **List all Klaviyo profile suppression bulk create jobs** (List). List all bulk profile suppression jobs in Klaviyo. Returns: type, id, attributes, relationships, links. Supports filtering by status, list_id, and segment_id, and sorting by created date.
- **Create a Klaviyo profile suppression bulk create job** (Create). Create a bulk profile suppression job in Klaviyo by email address (max 100 per request) or by segment/list ID. Returns: type, id, attributes, relationships, links. Required: data.
- **Get single Klaviyo profile suppression bulk create job by ID** (Get). Get a Klaviyo bulk profile suppression job by id. Returns the job resource including type, id, attributes (containing status, created_at, completed_at, total_count, completed_count, and skipped_count), and links. Required: id.
- **List all Klaviyo profile suppression bulk delete jobs** (List). List all bulk unsuppress profiles jobs in Klaviyo. Returns each job with id, status, created_at, completed_at, total_count, completed_count, and skipped_count. Filter by status, list_id, or segment_id; sort by created date ascending or descending.
- **Create a Klaviyo profile suppression bulk delete job** (Create). Create a bulk unsuppress profiles job in Klaviyo by email address or by specifying a segment or list whose members to unsuppress. Only removes USER_SUPPRESSED suppressions; max 100 email addresses per request. Returns: type, id, attributes, relationships, links, status, created_at, completed_at, total_count, completed_count, skipped_count.
- **Get single Klaviyo profile suppression bulk delete job by ID** (Get). Get a single bulk unsuppress profiles job in Klaviyo by id. Returns: type, id, attributes, relationships, links. Required: id.
- **List all Klaviyo push tokens** (List). List push tokens associated with the Klaviyo company. Returns each push token resource with id, attributes (token, platform, vendor, enablement_status, created, metadata), relationships (profile), and links. Filterable by id, profile.id, enablement_status, and platform.
- **Create a Klaviyo push token** (Create). Create or update a push token in Klaviyo. Useful for migrating push tokens from another platform. Returns an empty 202 response on success. Required: data.type, data.attributes.token, data.attributes.vendor, and data.attributes.platform. Maximum payload size is 100KB.
- **Get single Klaviyo push token by ID** (Get). Get a specific Klaviyo push token by id. Returns the push token resource with id, attributes (token, platform, vendor, enablement_status, created, metadata), relationships (profile), and links. Required: id.
- **Delete a Klaviyo push token by ID** (Delete). Delete a Klaviyo push token by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo relationships custom metrics** (List). Get the custom metric ID for a mapped metric in Klaviyo. Returns a JSON:API resource identifier object with the type and id of the linked custom metric. Required: mapped_metric_id.
- **List all Klaviyo relationships flow triggers** (List). Get the IDs of all Klaviyo flows where a given list is used as the trigger. Returns: type, id. Required: list_id.
- **List all Klaviyo relationships flow triggers flow triggers** (List). List the IDs of all Klaviyo flows where the given metric is used as the flow trigger. Returns: type, id. Required: metric_id.
- **List all Klaviyo relationships lists** (List). Get list memberships for a Klaviyo profile, returning resource linkage objects with the type and id of each associated list. Returns: type, id. Required: profile_id.
- **Create a Klaviyo relationships list** (Create). Associate a Klaviyo tag with one or more lists by passing a list resource linkage object in the request body. Returns an empty 204 response on success. Required: tag_id, type, id. A list cannot be associated with more than 100 tags.
- **Klaviyo relationships lists bulk delete** (Delete). Remove a Klaviyo tag's association with one or more lists by passing list resource linkage objects in the request body. Returns an empty 204 response on success. Required: tag_id, data.
- **List all Klaviyo relationships lists relationships** (List). List the list relationship identifiers (JSON:API resource linkage) for a Klaviyo profile bulk import job. Each item contains only the type and id of a related list — use the related-resource endpoint to retrieve full list attributes. Returns: type, id. Required: profile_bulk_import_job_id.
- **List all Klaviyo relationships metric properties** (List). List the IDs of metric properties for a given Klaviyo metric. Returns JSON:API resource-identifier objects, each containing a type and id for a metric property. Required: metric_id.
- **List all Klaviyo relationships push tokens** (List). List push token IDs associated with a Klaviyo profile. Returns: type, id, attributes, relationships, links. Required: profile_id.
- **Create a Klaviyo relationships segment** (Create). Associate a Klaviyo tag with one or more segments by passing segment resource identifiers in the request body. Returns an empty 204 response on success. Required: tag_id. Any single segment cannot be associated with more than 100 tags.
- **List all Klaviyo relationships segments** (List). List segment membership relationships for a Klaviyo profile. Returns: type, id, attributes, relationships, links. Required: profile_id.
- **Klaviyo relationships segments bulk delete** (Delete). Remove a Klaviyo tag's association with one or more segments by passing segment resource identifiers in the request body. Returns an empty 204 response on success. Required: tag_id.
- **Create a Klaviyo campaign values report** (Create). Query campaign analytics values in Klaviyo by submitting a JSON:API request body specifying the statistics, time frame, and conversion metric to analyse. Returns: type, attributes, relationships, id. Required: type, statistics, timeframe, conversion_metric_id.
- **Create a Klaviyo flow series report** (Create). Query flow analytics series data in Klaviyo by submitting a flow series report request. Returns the flow series report including type, id, attributes (containing date_times and results), and links. Required: data (request body with flow series query parameters including statistics, timeframe, interval, and conversion_metric_id).
- **Create a Klaviyo flow values report** (Create). Query flow analytics values data in Klaviyo by submitting a flow values query in the request body. Returns: type, attributes, relationships, id, results, links. Required: statistics, timeframe, and conversion_metric_id in the request body.
- **Create a Klaviyo form series report** (Create). Query Klaviyo form analytics series data by submitting a JSON:API request body with the query specification. Returns: type, attributes, id. Required: request body.
- **Create a Klaviyo form values report** (Create). Query form analytics values data in Klaviyo. Returns a form-values-report object including its id and results. Requires a JSON:API request body specifying the form analytics query criteria.
- **Create a Klaviyo segment series report** (Create). Query Klaviyo segment analytics series data by submitting a report request. Returns the segment series report including id, type, and attributes with date_times and results. Required: a request body specifying the segment analytics query.
- **Create a Klaviyo segment values report** (Create). Query segment analytics values in Klaviyo by submitting a JSON:API request body with the desired query specification. Returns: type, attributes, id, links, relationships. Required: data (including type and attributes).
- **List all Klaviyo profile bulk import job import errors** (List). List import errors for a Klaviyo profile bulk import job. Returns import-error records including id, code, title, detail, source, and original_payload. Required: profile_bulk_import_job_id.
- **List all Klaviyo profile bulk import job lists** (List). Get the Klaviyo list associated with a specific profile bulk import job. Returns a list resource including its type, id, attributes (name, created, updated, opt_in_process), and links. Required: profile_bulk_import_job_id.
- **List all Klaviyo profile bulk import job profiles** (List). List profiles for a specific Klaviyo bulk profile import job. Returns profile objects including id, attributes (email, first_name, last_name, created, updated), and links. Required: profile_bulk_import_job_id. Max 100 per page.
- **List all Klaviyo profile conversations** (List). Get the conversation for a Klaviyo profile by profile id. Returns the conversation object including its id, type, attributes (with channel), and links. Required: profile_id.
- **List all Klaviyo profile conversations profiles** (List). List all conversations for a Klaviyo profile across all channels. Returns each conversation with type, id, attributes (including channel), and links. Required: profile_id.
- **List all Klaviyo push token profiles** (List). Get the Klaviyo profile associated with a given push token. Returns: type, attributes, id, relationships, links. Required: push_token_id. Use the additional-fields parameter to include subscriptions or predictive_analytics data not returned by default.
- **List all Klaviyo relationships conversations** (List). Get the conversation relationship (ID mapping) for a Klaviyo profile, returning the to-one conversation resource identifier. Returns: type, id, links. Required: profile_id.
- **List all Klaviyo relationships conversations relationships** (List). List all conversation relationship IDs for a Klaviyo profile across all channels. Returns JSON:API resource identifier objects containing type and id for each conversation. Required: profile_id.
- **List all Klaviyo relationships tag groups** (List). Get the tag group relationship for a specific Klaviyo tag, returning only the related tag group's type and id (the JSON:API relationship object). Required: tag_id.
- **List all Klaviyo reviews** (List). List all Klaviyo reviews with optional filtering, sorting, and sparse fieldsets. Returns: type, id, attributes, relationships, links, author, content, created, email, images, product, public_reply, rating, review_type, smart_quote, status, title, updated, verified. Supports filtering by created, rating, id, item.id, content, status, review_type, and verified. Max 100 per page.
- **Get single Klaviyo review by ID** (Get). Get a single Klaviyo review by id. Returns: type, id, attributes, relationships, links, author, content, created, email, images, product, public_reply, rating, review_type, smart_quote, status, title, updated, verified. Required: id.
- **Update a Klaviyo review by ID** (Update). Update a Klaviyo review by id, including attributes such as status, public_reply, smart_quote, title, content, rating, and verified. Returns: type, id, attributes, relationships, links, content. Required: id.
- **List all Klaviyo segment flow triggers** (List). List all Klaviyo flows where the given segment is used as the trigger. Returns flow objects including id, name, status, archived, trigger_type, created, and updated. Required: segment_id.
- **List all Klaviyo tag group tags** (List). List all tags belonging to a specific Klaviyo tag group. Returns: type, id, attributes, relationships, links. Required: tag_group_id.
- **List all Klaviyo tag groups** (List). List all tag groups in a Klaviyo account. Returns: type, id, attributes, relationships, links. Max 25 per page; supports filtering by name, exclusive, and default, and sorting by name or id.
- **Create a Klaviyo tag group** (Create). Create a tag group in Klaviyo. Returns: type, id, attributes, relationships, links, name, exclusive. Required: name. An account cannot have more than 50 tag groups; exclusive defaults to false if omitted.
- **Get single Klaviyo tag group by ID** (Get). Get a single Klaviyo tag group by id. Returns: type, id, attributes, relationships, links. Required: id.
- **Update a Klaviyo tag group by ID** (Update). Update a Klaviyo tag group by id. Only the name can be changed; exclusive and default cannot be modified. Returns an empty 204 response on success. Required: id, name.
- **Delete a Klaviyo tag group by ID** (Delete). Delete a Klaviyo tag group by id. Any tags inside the group and their associations are also removed; the default tag group cannot be deleted. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo tag tag groups** (List). Get the Klaviyo tag group that a specific tag belongs to. Returns the tag-group resource including its type, id, attributes (name, exclusive, default), and links. Required: tag_id.
- **Create a Klaviyo template clone** (Create). Clone a Klaviyo email template from an existing template ID. Returns the new template object including id, name, html, text, amp, editor_type, created, and updated. Required: data.attributes.name, data.relationships.template.data.id. Cloning fails if the account already has 1,000 or more templates.
- **Create a Klaviyo template render** (Create). Render a Klaviyo email template by template ID and context, producing the AMP, HTML, and plain text versions. Returns the rendered template object including type, id, attributes (with html, text, and amp content), and links. Required: id, context.
- **List all Klaviyo template universal contents** (List). List all universal content blocks in a Klaviyo account. Returns each block as a resource object with id, type, attributes (name, definition, created, updated, screenshot_status, screenshot_url), and links. Filterable by id, name, created, updated, definition.content_type, and definition.type.
- **Create a Klaviyo template universal content** (Create). Create a new universal content block in Klaviyo. Supported block types: button, drop_shadow, horizontal_rule, html, image, spacer, and text. Returns the created resource object with id, type, attributes (name, definition, created, updated, screenshot_status, screenshot_url), and links. Required: name and definition.
- **Get single Klaviyo template universal content by ID** (Get). Get a single Klaviyo universal content block by id. Returns the resource object with id, type, attributes (name, definition, created, updated, screenshot_status, screenshot_url), and links. Required: id.
- **Update a Klaviyo template universal content by ID** (Update). Update a Klaviyo universal content block by id. The definition field can only be updated on button, drop_shadow, horizontal_rule, html, image, spacer, and text block types. Returns the updated resource object with id, type, attributes (name, definition, created, updated, screenshot_status, screenshot_url), and links. Required: id.
- **Delete a Klaviyo template universal content by ID** (Delete). Delete a Klaviyo universal content block by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo templates** (List). List all Klaviyo email templates in an account. Returns each template object with its id, type, and attributes (name, html, text, amp, editor_type, created, updated). Max 10 per page; use additional-fields[template]=definition to include DnD template definitions.
- **Create a Klaviyo template** (Create). Create a new HTML or drag-and-drop Klaviyo template. Returns the created template including its id, type, attributes (name, html, text, amp, editor_type, created, updated), and links. There is a limit of 1,000 templates per account via the API.
- **Get single Klaviyo template by ID** (Get). Get a single Klaviyo template by id. Returns the template object with its id, type, and attributes (name, html, text, amp, editor_type, created, updated). Required: id. Use additional-fields[template]=definition to include DnD template definitions.
- **Update a Klaviyo template by ID** (Update). Update a Klaviyo template by id. Returns the updated template including its id, type, attributes (name, html, text, amp, editor_type, created, updated), and links. Required: id. Use additional-fields[template]=definition to include DnD template definitions in the response.
- **Delete a Klaviyo template by ID** (Delete). Delete a Klaviyo template by id. Returns an empty 204 response on success. Required: id.
- **List all Klaviyo tracking settings** (List). List all UTM tracking settings in a Klaviyo account. Returns an array with a single tracking setting resource including type, id, attributes, and links. The attributes contain auto_add_parameters, custom_parameters, and UTM parameters (utm_campaign, utm_source, utm_medium, utm_term, utm_id). Max page size is 1.
- **Get single Klaviyo tracking setting by ID** (Get). Get a specific Klaviyo UTM tracking setting by account ID. Returns the tracking setting resource including type, id, attributes, and links. The attributes contain auto_add_parameters, custom_parameters, and UTM parameters (utm_campaign, utm_source, utm_medium, utm_term, utm_id). Required: id.
- **Update a Klaviyo tracking setting by ID** (Update). Update a Klaviyo UTM tracking setting by account ID. Returns the updated tracking setting resource including type, id, attributes, and links. The attributes contain auto_add_parameters, custom_parameters, and UTM parameters (utm_campaign, utm_source, utm_medium, utm_term, utm_id). Required: id.
- **Create a Klaviyo client back in stock subscription** (Create). Create a client-side back in stock subscription in Klaviyo, subscribing a profile to receive back-in-stock notifications. Returns an empty 202 Accepted response on success. Required: company_id.
- **Create a Klaviyo client event bulk create** (Create). Bulk create client events to track profile activity in Klaviyo from client-side environments using a public API key. Accepts a maximum of 1000 events per request. Returns an empty 202 response on success. Required: company_id.
- **Create a Klaviyo client event** (Create). Create a new client event in Klaviyo to track a profile's activity from client-side environments. Returns an empty 202 response on success. Required: company_id and a request body containing at least one profile identifier (email, phone_number, or id) and the metric name. Designed for client-side use only; do not use from server-side applications.
- **List all Klaviyo client geofences** (List). List all geofences in a Klaviyo account, designed for mobile SDK consumption. Returns: type, id, attributes, links, relationships. Required: company_id. Max 100 results per page.
- **Get single Klaviyo client IP allowlist by ID** (Get). Get the Klaviyo integration-egress IP allowlist by id. Returns: type, id, attributes, links, relationships. Required: id (must be 'integration-egress'; any other value returns 404).
- **Create a Klaviyo client profile** (Create). Create or update a client profile in Klaviyo from a client-side environment. Accepts profile attributes including email, phone_number, first_name, last_name, organization, title, image, location, and custom properties. Returns an empty 202 response on success. Existing profile identifiers such as email cannot be updated for existing profiles via this client-side endpoint; use a server-side…
- **Create a Klaviyo client push token unregister** (Create). Unregister a Klaviyo client push token from a mobile device. Returns an empty 202 response on success. Required: company_id.
- **Create a Klaviyo client push token** (Create). Create or update a client push token in Klaviyo, designed for mobile SDK use with a public API key. Returns an empty 202 response on success. Required: company_id, token, platform, vendor. Push notifications must be enabled.
- **List all Klaviyo client review values reports** (List). List all review values reports in a Klaviyo account grouped by company or product. Returns each report's type, id, and attributes containing computed statistics results. Required: group_by, statistics, timeframe.
- **Create a Klaviyo client subscription** (Create). Create a Klaviyo client subscription and consent record for email and/or SMS marketing channels. Returns an empty 202 response on success. At least one of email or phone_number must be provided in the request body. If no subscriptions object is included, subscriptions default to MARKETING.
- **Create a Klaviyo web feed** (Create). Create a web feed in Klaviyo. Returns: type, id, attributes, links, url. Required: name, url, content_type, request_method.
- **Delete a Klaviyo web feed by ID** (Delete). Delete a Klaviyo web feed by id. Returns an empty 204 response on success. Required: id.
- **Get single Klaviyo web feed by ID** (Get). Get a single Klaviyo web feed by id. Returns the web feed object including its type, id, attributes (name, url, content_type, request_method, status, created, updated), and links. Required: id.
- **List all Klaviyo web feeds** (List). List all web feeds for a Klaviyo account. Returns web feed objects with type, id, attributes (name, url, content_type, request_method, status, created, updated), and links. Supports filtering by name, created, and updated, and sorting by created, name, or updated.
- **Update a Klaviyo web feed by ID** (Update). Update a Klaviyo web feed by id. Returns: type, id, attributes, links, url. Required: id.
- **Get single Klaviyo webhook topic by ID** (Get). Get a single Klaviyo webhook topic by id. Returns the webhook topic resource including id, type, and links. Required: id.
- **List all Klaviyo webhook topics** (List). List all webhook topics in a Klaviyo account. Returns each topic resource including id, type, and links.
- **Create a Klaviyo webhook** (Create). Create a new webhook in Klaviyo. Returns the created webhook including type, id, attributes, relationships, and links. Required: data.
- **Delete a Klaviyo webhook by ID** (Delete). Delete a Klaviyo webhook by id. Returns an empty 204 response on success. Required: id.
- **Get single Klaviyo webhook by ID** (Get). Get a single Klaviyo webhook by id. Returns the webhook including id, name, endpoint_url, enabled, description, created_at, and updated_at. Required: id.
- **List all Klaviyo webhooks** (List). List all webhooks in a Klaviyo account. Returns each webhook with id, name, endpoint_url, enabled, description, created_at, and updated_at.
- **Update a Klaviyo webhook by ID** (Update). Update a Klaviyo webhook by id. Returns the updated webhook including type, id, attributes, relationships, and links. Required: id, data.
