- Retrieve All Klaviyo Accounts Associated With The Current API Key. Always Returns Exactly One Account Object Per Key.
- Retrieve Detailed Configuration For A Specific Klaviyo Account By Its Unique Account ID.
- List Email, SMS, Or Push Campaigns With Required Channel Filter And Optional Sorting And Pagination.
- Retrieve Complete Details For A Single Campaign By Its Unique ID, Including Status, Audiences, Send Strategy, And Tracking Options.
- Create A New Email, SMS, Or Mobile Push Campaign As A Draft. Requires Specifying The Channel, Audiences, And At Least One Campaign Message.
- Update Campaign Properties Such As Name, Target Audiences, Send Strategy, Or Tracking Options Before The Campaign Is Sent.
- Permanently Delete A Campaign By ID. This Action Cannot Be Undone. Only Draft Campaigns Can Be Deleted.
- Duplicate An Existing Campaign To Create A New Draft Campaign, Optionally Giving It A New Name.
- Get The Current Estimated Number Of Recipients For A Campaign Based On Its Configured Audiences.
- Retrieve All Tags Associated With A Specific Campaign For Organizational And Filtering Purposes.
- Retrieve All Campaign Messages (Email, SMS, Or Push Variants) That Belong To A Specific Campaign.
- Retrieve Full Details For A Specific Campaign Message By Its Unique ID, Including Channel-Specific Content And Render Options.
- Update The Content And Settings Of A Campaign Message, Including Channel-Specific Fields Such As Subject, Body, Sender Info, And Mobile Push Options.
- Assign An Email Template To A Campaign Message, Creating A Non-Reusable Snapshot Of The Template'S HTML For That Message.
- Trigger A Campaign To Send Immediately (Or At Its Configured Scheduled Time) By Creating An Asynchronous Send Job.
- Cancel An In-Progress Campaign Send Job Or Revert A Scheduled Campaign Back To Draft Status.
- List All Product Catalog Items In The Account With Filtering By Title, Category, Or IDs, Sorting By Creation Date, And Cursor-Based Pagination Up To 100 Items Per Page.
- Create A New Product Catalog Item With Title, Description, URL, Price, And Images, Optionally Assigning It To One Or More Catalog Categories.
- Retrieve The Full Details Of A Specific Catalog Item By Its Compound ID, With Optional Variant Inclusion And Sparse Fieldsets.
- Update An Existing Catalog Item'S Title, Description, URL, Price, Images, Or Published Status Using PATCH Semantics - Only Supplied Fields Are Changed.
- Permanently Delete A Catalog Item By Its Compound ID, Removing It From All Recommendation Feeds And Product Blocks.
- Submit An Asynchronous Bulk Job To Create Up To 100 Catalog Items In A Single Request, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Update Up To 100 Existing Catalog Items In A Single Request, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Permanently Delete Up To 100 Catalog Items In A Single Request, Returning A Job ID To Poll For Completion.
- List All Product Catalog Categories In The Account With Filtering By Name Or Item Membership, Sorting By Creation Date, And Cursor-Based Pagination Up To 100 Categories Per Page.
- Create A New Product Catalog Category With An External ID And Display Name, Optionally Assigning Catalog Items To It At Creation Time.
- Retrieve The Full Details Of A Specific Catalog Category By Its Compound ID, Including Its Name And External ID.
- Update An Existing Catalog Category'S Name Or Item Associations Using PATCH Semantics - Only Supplied Fields Are Changed.
- Permanently Delete A Catalog Category By Its Compound ID, Removing The Category Grouping Without Deleting The Items It Contained.
- Submit An Asynchronous Bulk Job To Create Up To 100 Catalog Categories In A Single Request, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Update Up To 100 Existing Catalog Categories In A Single Request, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Permanently Delete Up To 100 Catalog Categories In A Single Request, Returning A Job ID To Poll For Completion.
- List All Product Catalog Variants In The Account With Filtering By Item, SKU, Title, Or Published Status, Sorting By Creation Date, And Cursor-Based Pagination Up To 100 Variants Per Page.
- Create A New Catalog Variant (Size, Color, Or Style Variation) For An Existing Catalog Item, With SKU, Inventory, Price, And URL.
- Retrieve The Full Details Of A Specific Catalog Variant By Its Compound ID, Including SKU, Inventory Quantity, Price, And Published Status.
- Update An Existing Catalog Variant'S SKU, Price, Inventory Quantity, Title, Images, Or Published Status Using PATCH Semantics - Only Supplied Fields Are Changed.
- Permanently Delete A Catalog Variant By Its Compound ID, Removing It From Recommendation Feeds And Back-In-Stock Subscription Eligibility.
- Submit An Asynchronous Bulk Job To Create Up To 100 Catalog Variants In A Single Request, Each Linked To An Existing Parent Catalog Item, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Update Up To 100 Existing Catalog Variants In A Single Request, Returning A Job ID To Poll For Completion.
- Submit An Asynchronous Bulk Job To Permanently Delete Up To 100 Catalog Variants In A Single Request, Returning A Job ID To Poll For Completion.
- Additively Associate One Or More Catalog Items With A Specific Category Without Replacing Existing Item Memberships.
- Remove Specific Catalog Items From A Category'S Membership Without Affecting Other Items Already In The Category.
- Additively Assign One Or More Catalog Categories To A Specific Item Without Replacing Its Existing Category Memberships.
- Remove Specific Category Assignments From A Catalog Item Without Affecting The Item'S Other Category Memberships.
- Subscribe An Existing Profile To Back-In-Stock Notifications For A Specific Catalog Variant Via EMAIL, PUSH, Or SMS Channels, For Use In Server-Side Applications.
- Track A Client-Side Event From A Browser Or Mobile App Using The Public API Key. No Server-Side Credentials Required.
- Create Or Update A Klaviyo Profile From Client-Side Code Using The Public API Key. Safe For Use In Browser And Mobile Apps.
- List All Coupons In The Account With Optional Sparse Fieldsets And Cursor-Based Pagination.
- Create A New Coupon Container With A Unique External ID, Matching Your E-Commerce Platform'S Coupon Identifier.
- Retrieve Complete Details For A Specific Coupon By Its Unique Klaviyo Coupon ID.
- Update The Description Or Monitor Configuration Of An Existing Coupon. The External_id Cannot Be Changed After Creation.
- Permanently Delete A Coupon And All Its Associated Coupon Codes. This Action Is Irreversible.
- List Coupon Codes Filtered By Coupon ID Or Profile ID. A Filter Specifying Coupon.Id Or Profile.Id Is Required.
- Create A Single Unique Coupon Code And Associate It With An Existing Coupon. Use Bulk_create_coupon_codes For Creating Multiple Codes At Once.
- Retrieve Full Details For A Specific Coupon Code By Its Unique ID, Including Its Status, Unique Code Value, And Expiration Date.
- Update The Status Or Expiration Date Of An Existing Coupon Code. Useful For Manually Marking Codes As Used Or Extending Their Validity.
- Permanently Delete A Single Coupon Code By Its ID. This Action Is Irreversible.
- Create Up To 1000 Coupon Codes In A Single Bulk Job, Associating Each With An Existing Coupon.
- List Klaviyo Events (Customer Activity Records) With Optional Filtering By Metric, Profile, Or Date Range.
- Track A Server-Side Customer Activity Event For A Profile, Such As A Purchase, Page View, Or Custom Business Action.
- Retrieve Complete Details For A Specific Event By Its Unique ID, Including All Event Properties And Optional Metric And Profile Data.
- Efficiently Ingest Up To 1000 Events In A Single Asynchronous Bulk Job, Grouped By Profile For High-Volume Tracking Scenarios.
- List All Klaviyo Automation Flows With Optional Filtering By Name, Status, Trigger Type, And Date, Plus Pagination And Sorting.
- Retrieve The Full Configuration Of A Specific Klaviyo Flow By Its Unique ID, Including Trigger Definition And Optional Flow Actions.
- Retrieve Detailed Configuration For A Single Flow Action Step By Its Unique ID, Including Its Type, Branching Links, And Optional Message Content.
- Retrieve The Content And Configuration Of A Specific Flow Message By Its ID, Including Channel-Specific Content And Template Association.
- List All Action Steps For A Specific Flow With Pagination, Filtering By Action Type Or Status, And Sorting.
- Retrieve All Tags Associated With A Specific Flow For Organizational And Categorization Purposes.
- List All Message Variants Associated With A Specific Flow Action Step, With Pagination, Filtering, And Sorting Options.
- List All Signup Forms And Pop-Ups In The Account With Filtering, Sorting, And Cursor-Based Pagination Up To 100 Results Per Page.
- Retrieve The Full Configuration And Version History For A Specific Klaviyo Form By Its Unique ID.
- List All Images In The Klaviyo Asset Library With Filtering By Name, Format, Size, Or Visibility, Plus Sorting And Pagination.
- Import An Image Into The Klaviyo Asset Library From A Public URL Or A Base64-Encoded Data URI.
- Retrieve Complete Metadata For A Specific Image In The Klaviyo Asset Library By Its Unique ID.
- Update The Name Or Visibility (Hidden Status) Of An Existing Image In The Klaviyo Asset Library.
- List All Subscriber Lists In The Account With Filtering By Name Or Timestamps, Sorting, And Cursor-Based Pagination Up To 10 Results Per Page.
- Create A New Subscriber List With A Specified Name And Opt-In Process (Single Or Double Opt-In) For Managing Profile Subscriptions.
- Retrieve The Full Details Of A Specific Subscriber List By Its Unique ID, With Optional Profile Count, Tags, And Flow Trigger Inclusions.
- Update The Name Or Opt-In Process (Single Vs Double Opt-In) Of An Existing Subscriber List Using PATCH Semantics.
- Permanently Delete A Subscriber List From The Account - This Removes The List Definition But Does Not Delete The Profiles That Were In It.
- Retrieve All Tags That Have Been Applied To A Specific Subscriber List, Returning Full Tag Objects Including Their Names.
- Retrieve All Profile Members Of A Subscriber List With Filtering, Sorting By Join Date, And Cursor-Based Pagination Up To 100 Per Page.
- Add One Or More Existing Profiles To A Subscriber List By Their Profile IDs, Up To 1000 Profiles Per Call.
- Remove One Or More Profiles From A Subscriber List By Their Profile IDs, Up To 1000 Per Call, Without Affecting Their Subscription Or Consent Status.
- Retrieve All Automation Flows That Use A Specific Subscriber List As Their Trigger, Useful For Understanding Dependencies Before Modifying Or Deleting The List.
- List All Event Metric Types Tracked In The Klaviyo Account, Including Built-In And Integration-Specific Metrics, Up To 200 Per Page.
- Retrieve Complete Details For A Specific Event Metric Type By Its Unique ID, Including Integration Source And Optional Flow Trigger Relationships.
- Query Aggregated Event Data For A Metric Over A Date Range, With Grouping By Time Intervals, Campaign, Flow, Channel, Or Custom Dimensions.
- Retrieve The Definition And Inferred Data Type Of A Specific Metric Property, With Optional Sample Values For Reference.
- Retrieve All Automation Flows That Use A Specific Metric As Their Entry Trigger Event.
- List All Custom Composite Metrics In The Account That Combine Multiple Underlying Metrics Into A Single Unified Reporting And Attribution Metric.
- Create A New Custom Composite Metric That Aggregates Multiple Base Metrics Into A Single Unified Metric For Attribution And Reporting.
- Retrieve The Full Definition And Composition Details For A Specific Custom Composite Metric By Its Unique ID.
- Update The Name Or Definition Of An Existing Custom Composite Metric Using PATCH Semantics.
- Permanently Delete A Custom Composite Metric From The Account By Its Unique ID.
- List All Customer Profiles In The Account With Rich Filtering, Sorting, Subscription And Predictive Analytics Data, Up To 100 Per Page.
- Retrieve The Complete Data For A Specific Customer Profile By Its Klaviyo ID, Including Optional Subscription Consent, List/Segment Memberships, And Predictive Analytics.
- Create A New Customer Profile With Contact Details, Location, And Custom Properties; At Least One Of Email, Phone_number, Or External_id Must Be Provided To Uniquely Identify The Profile.
- Update An Existing Customer Profile'S Contact Details, Location, Or Custom Properties Using PATCH Semantics, With Support For Appending To Or Unsetting Specific Custom Property Keys.
- Retrieve All Subscriber Lists That A Specific Profile Is A Member Of, Returning Full List Objects With Name, Opt-In Process, And Timestamps.
- Retrieve All Dynamic And Static Segments That A Specific Profile Currently Qualifies For, Returning Full Segment Objects With Name, Status, And Definition Details.
- Permanently Merge One Or More Source Profiles Into A Destination Profile, Consolidating Their Event History, List Memberships, And Properties - Source Profiles Are Deleted After Merging.
- Submit An Asynchronous Bulk Import Job To Create Or Update Up To 10,000 Profiles In A Single Request, With Optional List Assignment For Imported Profiles.
- Retrieve The Subscriber List(S) That Profiles Were Added To During A Specific Bulk Profile Import Job, Useful For Verifying List Membership After Import Completion.
- Retrieve All Profiles That Were Successfully Created Or Updated By A Completed Bulk Profile Import Job, With Pagination And Optional Subscription Data.
- Submit A GDPR/CCPA-Compliant Data Deletion Request For A Profile Identified By Email, Phone Number, Or Klaviyo Profile ID - The Deletion Is Processed Asynchronously.
- Generate A Campaign Performance Report With Aggregate Statistics (Opens, Clicks, Revenue, Conversions) For A Given Timeframe And Optional Campaign Or Channel Filter.
- Generate A Flow Performance Report With Aggregate Statistics (Opens, Clicks, Revenue, Conversions) Broken Down By Flow, Message, Or Channel For A Given Timeframe.
- Generate A Time-Series Flow Performance Report With Statistics Aggregated Into Daily, Weekly, Monthly, Or Hourly Intervals For Trend Analysis.
- Generate A Segment Membership Report Showing How Many Profiles Were Added, Removed, Or Are Currently In A Segment Over A Given Timeframe.
- Generate A Time-Series Segment Membership Report With Statistics Aggregated Into Daily, Weekly, Monthly, Or Hourly Intervals For Growth Trend Analysis.
- List All Segments In The Account With Filtering By Name, Status, Or Timestamps, Sorting, And Cursor-Based Pagination, Including Optional Tags And Flow Trigger Inclusions.
- Create A New Segment With Complex Condition Groups
- Retrieve The Full Details Of A Specific Segment By Its Unique ID, Including Its Condition Definition, Active Status, And Optional Tags And Flow Trigger Inclusions.
- Update An Existing Segment With New Properties Or Definition
- Permanently Delete A Segment From The Account By Its Unique ID - This Removes The Segment Definition But Does Not Delete The Profiles That Were In It.
- Retrieve All Tags Applied To A Specific Segment, Returning Full Tag Objects With Their Names For Auditing And UI Display Purposes.
- Retrieve All Profiles Currently Matching A Segment'S Conditions, With Filtering By Contact Details Or Join Date, Sorting, And Pagination Up To 100 Per Page.
- Retrieve All Automation Flows That Use A Specific Segment As Their Trigger, Useful For Understanding Dependencies Before Modifying Or Deleting The Segment.
- List All Tags In The Account With Cursor-Based Pagination, Name Filtering, And Optional Tag Group Inclusion, Up To 50 Results Per Page.
- Create A New Tag, Optionally Associating It With A Specific Tag Group, Or It Defaults To The Account'S Default Tag Group.
- Retrieve Complete Details For A Specific Tag By Its Unique ID, Including Optional Tag Group Relationship.
- Update The Name Of An Existing Tag By Its Unique ID Using PATCH Semantics.
- Permanently Delete A Tag And Automatically Remove All Its Associations With Campaigns, Flows, Lists, And Segments.
- Retrieve The IDs Of All Automation Flows That Are Associated With A Specific Tag.
- Apply A Tag To One Or More Automation Flows To Organize And Categorize Them In The Klaviyo UI.
- Retrieve The IDs Of All Campaigns That Are Associated With A Specific Tag.
- Apply A Tag To One Or More Campaigns To Organize And Categorize Them In The Klaviyo UI.
- Retrieve The IDs Of All Subscriber Lists That Are Associated With A Specific Tag.
- Apply A Tag To One Or More Subscriber Lists To Organize And Categorize Them In The Klaviyo UI.
- Retrieve The IDs Of All Segments That Are Associated With A Specific Tag.
- Apply A Tag To One Or More Audience Segments To Organize And Categorize Them In The Klaviyo UI.
- List All Tag Groups In The Account With Filtering By Name, Exclusivity, Or Default Status, And Cursor-Based Pagination Up To 25 Results Per Page.
- Create A New Tag Group To Organize Related Tags Under A Shared Category, With Optional Exclusivity Enforcement Across The Account.
- Retrieve The Full Details Of A Specific Tag Group By Its Unique ID, Including Its Name, Exclusivity Setting, And Default Status.
- Update The Name Of An Existing Tag Group Using PATCH Semantics - Only The Name Can Be Changed, Not The Exclusivity Or Default Status.
- Permanently Delete A Tag Group And All Of Its Tags And Their Resource Associations - The Account'S Default Tag Group Cannot Be Deleted.
- Retrieve All Tags That Belong To A Specific Tag Group, Returning The Full Tag Objects Including Their Names.
- List All Email Templates In The Account With Filtering By Name Or Timestamps, Sorting, And Cursor-Based Pagination Up To 10 Results Per Page.
- Create A New Email Template With Custom HTML Content Or A Drag-And-Drop Structure, For Use In Campaigns And Automated Flows.
- Retrieve The Full HTML Content And Metadata For A Specific Email Template By Its Unique ID.
- Update The HTML Content, Plaintext Version, AMP Version, Or Name Of An Existing Email Template Using PATCH Semantics - Note That Drag-And-Drop (USER_DRAGGABLE) Templates Cannot Be Updated Via API.
- Permanently Delete An Email Template From The Account By Its Unique ID - This Action Cannot Be Undone.
- Render An Email Template With Sample Profile Context Data To Preview The Final HTML, Plaintext, And AMP Output Before Sending.
- Create A Duplicate Copy Of An Existing Email Template With An Optional New Name, Useful For Creating Variations Without Modifying The Original.
- List All Reusable Universal Content Blocks In The Account With Filtering By Name, Content Type, Or Timestamps, Sorting, And Pagination Up To 100 Per Page.
- Create A New Reusable Universal Content Block (Button, Image, Text, HTML, Spacer, Horizontal Rule, Or Drop Shadow) That Can Be Embedded Across Multiple Email Templates.
- Retrieve The Full Definition And Metadata Of A Specific Universal Content Block By Its Unique ID, Including Block Type, Content, Display Options, And Styles.
- Update The Name Or Block Definition Of An Existing Universal Content Block Using PATCH Semantics - Changes Propagate To All Templates That Embed This Block.
- Permanently Delete A Universal Content Block From The Account - Any Templates That Embed This Block Will Lose The Reference And May Display Broken Content.
- List All Webhook Subscriptions Configured In The Account, With Optional Inclusion Of Their Subscribed Topic Definitions.
- Retrieve The Full Configuration Details Of A Specific Webhook Subscription By Its Unique ID, Including Endpoint URL, Enabled Status, And Subscribed Topics.
- Create A New Webhook Subscription With An HTTPS Endpoint URL, Signing Secret, And One Or More Event Topic Subscriptions For Real-Time Event Notifications.
- Update A Webhook'S Name, Endpoint URL, Signing Secret, Enabled Status, Or Topic Subscriptions Using PATCH Semantics - Useful For Rotating Secrets Or Changing Event Subscriptions.
- Permanently Delete A Webhook Subscription From The Account, Stopping All Event Notifications To That Endpoint.
- Retrieve All Available Webhook Event Topics That Can Be Subscribed To, Returning Topic IDs And Descriptions For Use When Creating Or Updating Webhooks.
- Retrieve The Full Details Of A Specific Webhook Topic By Its ID, Including The Event Schema, Payload Structure, And Description For Integration Planning.