> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Klaviyo with Private API Key – StackOne Hub

> Link a Klaviyo account in the StackOne Hub using Private API Key. End-user guide to authorize the integration and start using Klaviyo actions.

<Warning>Admin or Owner access to your Klaviyo account is required to create API keys.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;klaviyo_get_accounts&#x22;,&#x22;label&#x22;:&#x22;Get Accounts&#x22;,&#x22;scopes&#x22;:[&#x22;accounts:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_account&#x22;,&#x22;label&#x22;:&#x22;Get Account&#x22;,&#x22;scopes&#x22;:[&#x22;accounts:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_campaigns&#x22;,&#x22;label&#x22;:&#x22;List Campaigns&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_campaign&#x22;,&#x22;label&#x22;:&#x22;Get Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_campaign&#x22;,&#x22;label&#x22;:&#x22;Create Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_campaign&#x22;,&#x22;label&#x22;:&#x22;Update Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_campaign&#x22;,&#x22;label&#x22;:&#x22;Delete Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_clone_campaign&#x22;,&#x22;label&#x22;:&#x22;Clone Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_campaign_recipient_estimation&#x22;,&#x22;label&#x22;:&#x22;Get Campaign Recipient Estimation&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_refresh_campaign_recipient_estimation&#x22;,&#x22;label&#x22;:&#x22;Refresh Campaign Recipient Estimation&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_campaign_recipient_estimation_job&#x22;,&#x22;label&#x22;:&#x22;Get Campaign Recipient Estimation Job&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tags_for_campaign&#x22;,&#x22;label&#x22;:&#x22;Get Tags For Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_messages_for_campaign&#x22;,&#x22;label&#x22;:&#x22;Get Messages For Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_campaign_message&#x22;,&#x22;label&#x22;:&#x22;Get Campaign Message&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_campaign_message&#x22;,&#x22;label&#x22;:&#x22;Update Campaign Message&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_assign_template_to_campaign_message&#x22;,&#x22;label&#x22;:&#x22;Assign Template To Campaign Message&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_send_campaign&#x22;,&#x22;label&#x22;:&#x22;Send Campaign&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_cancel_campaign_send&#x22;,&#x22;label&#x22;:&#x22;Cancel Campaign Send&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Create Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Get Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Update Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Delete Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_create_catalog_items&#x22;,&#x22;label&#x22;:&#x22;Bulk Create Catalog Items&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_update_catalog_items&#x22;,&#x22;label&#x22;:&#x22;Bulk Update Catalog Items&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_delete_catalog_items&#x22;,&#x22;label&#x22;:&#x22;Bulk Delete Catalog Items&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_catalog_categories&#x22;,&#x22;label&#x22;:&#x22;List Catalog Categories&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Create Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Get Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Update Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Delete Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_create_catalog_categories&#x22;,&#x22;label&#x22;:&#x22;Bulk Create Catalog Categories&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_update_catalog_categories&#x22;,&#x22;label&#x22;:&#x22;Bulk Update Catalog Categories&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_delete_catalog_categories&#x22;,&#x22;label&#x22;:&#x22;Bulk Delete Catalog Categories&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_catalog_variants&#x22;,&#x22;label&#x22;:&#x22;List Catalog Variants&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_catalog_variant&#x22;,&#x22;label&#x22;:&#x22;Create Catalog Variant&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_catalog_variant&#x22;,&#x22;label&#x22;:&#x22;Get Catalog Variant&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_catalog_variant&#x22;,&#x22;label&#x22;:&#x22;Update Catalog Variant&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_catalog_variant&#x22;,&#x22;label&#x22;:&#x22;Delete Catalog Variant&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_create_catalog_variants&#x22;,&#x22;label&#x22;:&#x22;Bulk Create Catalog Variants&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_update_catalog_variants&#x22;,&#x22;label&#x22;:&#x22;Bulk Update Catalog Variants&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_delete_catalog_variants&#x22;,&#x22;label&#x22;:&#x22;Bulk Delete Catalog Variants&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_items_for_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Get Items For Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_add_items_to_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Add Items To Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_remove_items_from_catalog_category&#x22;,&#x22;label&#x22;:&#x22;Remove Items From Catalog Category&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_add_categories_to_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Add Categories To Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_remove_categories_from_catalog_item&#x22;,&#x22;label&#x22;:&#x22;Remove Categories From Catalog Item&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_back_in_stock_subscription&#x22;,&#x22;label&#x22;:&#x22;Create Back In Stock Subscription&#x22;,&#x22;scopes&#x22;:[&#x22;catalogs:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_client_event&#x22;,&#x22;label&#x22;:&#x22;Create Client Event&#x22;,&#x22;scopes&#x22;:[&#x22;events:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_client_profile&#x22;,&#x22;label&#x22;:&#x22;Create Client Profile&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_coupons&#x22;,&#x22;label&#x22;:&#x22;List Coupons&#x22;,&#x22;scopes&#x22;:[&#x22;coupons:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_coupon&#x22;,&#x22;label&#x22;:&#x22;Create Coupon&#x22;,&#x22;scopes&#x22;:[&#x22;coupons:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_coupon&#x22;,&#x22;label&#x22;:&#x22;Get Coupon&#x22;,&#x22;scopes&#x22;:[&#x22;coupons:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_coupon&#x22;,&#x22;label&#x22;:&#x22;Update Coupon&#x22;,&#x22;scopes&#x22;:[&#x22;coupons:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_coupon&#x22;,&#x22;label&#x22;:&#x22;Delete Coupon&#x22;,&#x22;scopes&#x22;:[&#x22;coupons:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_coupon_codes&#x22;,&#x22;label&#x22;:&#x22;List Coupon Codes&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_coupon_code&#x22;,&#x22;label&#x22;:&#x22;Create Coupon Code&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_coupon_code&#x22;,&#x22;label&#x22;:&#x22;Get Coupon Code&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_coupon_code&#x22;,&#x22;label&#x22;:&#x22;Update Coupon Code&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_coupon_code&#x22;,&#x22;label&#x22;:&#x22;Delete Coupon Code&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_create_coupon_codes&#x22;,&#x22;label&#x22;:&#x22;Bulk Create Coupon Codes&#x22;,&#x22;scopes&#x22;:[&#x22;coupon-codes:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_events&#x22;,&#x22;label&#x22;:&#x22;List Events&#x22;,&#x22;scopes&#x22;:[&#x22;events:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_event&#x22;,&#x22;label&#x22;:&#x22;Create Event&#x22;,&#x22;scopes&#x22;:[&#x22;events:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_event&#x22;,&#x22;label&#x22;:&#x22;Get Event&#x22;,&#x22;scopes&#x22;:[&#x22;events:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_create_events&#x22;,&#x22;label&#x22;:&#x22;Bulk Create Events&#x22;,&#x22;scopes&#x22;:[&#x22;events:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_flows&#x22;,&#x22;label&#x22;:&#x22;List Flows&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flow&#x22;,&#x22;label&#x22;:&#x22;Get Flow&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flow_action&#x22;,&#x22;label&#x22;:&#x22;Get Flow Action&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flow_message&#x22;,&#x22;label&#x22;:&#x22;Get Flow Message&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_actions_for_flow&#x22;,&#x22;label&#x22;:&#x22;List Flow Actions For Flow&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tags_for_flow&#x22;,&#x22;label&#x22;:&#x22;Get Tags For Flow&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flow_action_messages&#x22;,&#x22;label&#x22;:&#x22;Get Flow Action Messages&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_flow&#x22;,&#x22;label&#x22;:&#x22;Create Flow&#x22;,&#x22;scopes&#x22;:[&#x22;flows:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_flow&#x22;,&#x22;label&#x22;:&#x22;Delete Flow&#x22;,&#x22;scopes&#x22;:[&#x22;flows:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_flow_action&#x22;,&#x22;label&#x22;:&#x22;Update Flow Action&#x22;,&#x22;scopes&#x22;:[&#x22;flows:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_forms&#x22;,&#x22;label&#x22;:&#x22;List Forms&#x22;,&#x22;scopes&#x22;:[&#x22;forms:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_form&#x22;,&#x22;label&#x22;:&#x22;Get Form&#x22;,&#x22;scopes&#x22;:[&#x22;forms:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_form&#x22;,&#x22;label&#x22;:&#x22;Create Form&#x22;,&#x22;scopes&#x22;:[&#x22;forms:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_form&#x22;,&#x22;label&#x22;:&#x22;Delete Form&#x22;,&#x22;scopes&#x22;:[&#x22;forms:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_images&#x22;,&#x22;label&#x22;:&#x22;List Images&#x22;,&#x22;scopes&#x22;:[&#x22;images:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_upload_image_from_url&#x22;,&#x22;label&#x22;:&#x22;Upload Image From URL&#x22;,&#x22;scopes&#x22;:[&#x22;images:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_image&#x22;,&#x22;label&#x22;:&#x22;Get Image&#x22;,&#x22;scopes&#x22;:[&#x22;images:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_image&#x22;,&#x22;label&#x22;:&#x22;Update Image&#x22;,&#x22;scopes&#x22;:[&#x22;images:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_lists&#x22;,&#x22;label&#x22;:&#x22;List Lists&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_list&#x22;,&#x22;label&#x22;:&#x22;Create List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_list&#x22;,&#x22;label&#x22;:&#x22;Get List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_list&#x22;,&#x22;label&#x22;:&#x22;Update List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_list&#x22;,&#x22;label&#x22;:&#x22;Delete List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tags_for_list&#x22;,&#x22;label&#x22;:&#x22;Get Tags For List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;,&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_profiles_for_list&#x22;,&#x22;label&#x22;:&#x22;Get Profiles For List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;,&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_add_profiles_to_list&#x22;,&#x22;label&#x22;:&#x22;Add Profiles To List&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:write&#x22;,&#x22;lists:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_remove_profiles_from_list&#x22;,&#x22;label&#x22;:&#x22;Remove Profiles From List&#x22;,&#x22;scopes&#x22;:[&#x22;lists:write&#x22;,&#x22;profiles:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flows_triggered_by_list&#x22;,&#x22;label&#x22;:&#x22;Get Flows Triggered By List&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;,&#x22;lists:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_metrics&#x22;,&#x22;label&#x22;:&#x22;List Metrics&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_metric&#x22;,&#x22;label&#x22;:&#x22;Get Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_metric_aggregate&#x22;,&#x22;label&#x22;:&#x22;Query Metric Aggregates&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_metric_property&#x22;,&#x22;label&#x22;:&#x22;Get Metric Property&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flows_triggered_by_metric&#x22;,&#x22;label&#x22;:&#x22;Get Flows Triggered By Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_custom_metrics&#x22;,&#x22;label&#x22;:&#x22;List Custom Metrics&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_custom_metric&#x22;,&#x22;label&#x22;:&#x22;Create Custom Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_custom_metric&#x22;,&#x22;label&#x22;:&#x22;Get Custom Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_custom_metric&#x22;,&#x22;label&#x22;:&#x22;Update Custom Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_custom_metric&#x22;,&#x22;label&#x22;:&#x22;Delete Custom Metric&#x22;,&#x22;scopes&#x22;:[&#x22;metrics:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_profiles&#x22;,&#x22;label&#x22;:&#x22;List Profiles&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_profile&#x22;,&#x22;label&#x22;:&#x22;Get Profile&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_profile&#x22;,&#x22;label&#x22;:&#x22;Create Profile&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_profile&#x22;,&#x22;label&#x22;:&#x22;Update Profile&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_lists_for_profile&#x22;,&#x22;label&#x22;:&#x22;Get Lists For Profile&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_segments_for_profile&#x22;,&#x22;label&#x22;:&#x22;Get Segments For Profile&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;,&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_merge_profiles&#x22;,&#x22;label&#x22;:&#x22;Merge Profiles&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_bulk_import_profiles&#x22;,&#x22;label&#x22;:&#x22;Bulk Import Profiles&#x22;,&#x22;scopes&#x22;:[&#x22;profiles:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_list_for_bulk_import_profiles_job&#x22;,&#x22;label&#x22;:&#x22;Get List For Bulk Import Profiles Job&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_profiles_for_bulk_import_profiles_job&#x22;,&#x22;label&#x22;:&#x22;Get Profiles For Bulk Import Profiles Job&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_request_profile_deletion&#x22;,&#x22;label&#x22;:&#x22;Request Profile Deletion&#x22;,&#x22;scopes&#x22;:[&#x22;data-privacy:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_campaign_values&#x22;,&#x22;label&#x22;:&#x22;Query Campaign Values&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;,&#x22;flows:read&#x22;,&#x22;forms:read&#x22;,&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_flow_values&#x22;,&#x22;label&#x22;:&#x22;Query Flow Values&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_flow_series&#x22;,&#x22;label&#x22;:&#x22;Query Flow Series&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_segment_values&#x22;,&#x22;label&#x22;:&#x22;Query Segment Values&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_query_segment_series&#x22;,&#x22;label&#x22;:&#x22;Query Segment Series&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_segments&#x22;,&#x22;label&#x22;:&#x22;List Segments&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_segment&#x22;,&#x22;label&#x22;:&#x22;Create Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_segment&#x22;,&#x22;label&#x22;:&#x22;Get Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_segment&#x22;,&#x22;label&#x22;:&#x22;Update Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_segment&#x22;,&#x22;label&#x22;:&#x22;Delete Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tags_for_segment&#x22;,&#x22;label&#x22;:&#x22;Get Tags For Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_profiles_for_segment&#x22;,&#x22;label&#x22;:&#x22;Get Profiles For Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flows_triggered_by_segment&#x22;,&#x22;label&#x22;:&#x22;Get Flows Triggered By Segment&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_tags&#x22;,&#x22;label&#x22;:&#x22;List Tags&#x22;,&#x22;scopes&#x22;:[&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_tag&#x22;,&#x22;label&#x22;:&#x22;Create Tag&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tag&#x22;,&#x22;label&#x22;:&#x22;Get Tag&#x22;,&#x22;scopes&#x22;:[&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_tag&#x22;,&#x22;label&#x22;:&#x22;Update Tag&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_tag&#x22;,&#x22;label&#x22;:&#x22;Delete Tag&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_flow_ids_for_tag&#x22;,&#x22;label&#x22;:&#x22;Get Flow IDs For Tag&#x22;,&#x22;scopes&#x22;:[&#x22;flows:read&#x22;,&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_tag_flows&#x22;,&#x22;label&#x22;:&#x22;Tag Flows&#x22;,&#x22;scopes&#x22;:[&#x22;flows:write&#x22;,&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_campaign_ids_for_tag&#x22;,&#x22;label&#x22;:&#x22;Get Campaign IDs For Tag&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:read&#x22;,&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_tag_campaigns&#x22;,&#x22;label&#x22;:&#x22;Tag Campaigns&#x22;,&#x22;scopes&#x22;:[&#x22;campaigns:write&#x22;,&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_list_ids_for_tag&#x22;,&#x22;label&#x22;:&#x22;Get List IDs For Tag&#x22;,&#x22;scopes&#x22;:[&#x22;lists:read&#x22;,&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_tag_lists&#x22;,&#x22;label&#x22;:&#x22;Tag Lists&#x22;,&#x22;scopes&#x22;:[&#x22;lists:write&#x22;,&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_segment_ids_for_tag&#x22;,&#x22;label&#x22;:&#x22;Get Segment IDs For Tag&#x22;,&#x22;scopes&#x22;:[&#x22;segments:read&#x22;,&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_tag_segments&#x22;,&#x22;label&#x22;:&#x22;Tag Segments&#x22;,&#x22;scopes&#x22;:[&#x22;segments:write&#x22;,&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_tag_groups&#x22;,&#x22;label&#x22;:&#x22;List Tag Groups&#x22;,&#x22;scopes&#x22;:[&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_tag_group&#x22;,&#x22;label&#x22;:&#x22;Create Tag Group&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tag_group&#x22;,&#x22;label&#x22;:&#x22;Get Tag Group&#x22;,&#x22;scopes&#x22;:[&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_tag_group&#x22;,&#x22;label&#x22;:&#x22;Update Tag Group&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_tag_group&#x22;,&#x22;label&#x22;:&#x22;Delete Tag Group&#x22;,&#x22;scopes&#x22;:[&#x22;tags:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_tags_for_tag_group&#x22;,&#x22;label&#x22;:&#x22;Get Tags For Tag Group&#x22;,&#x22;scopes&#x22;:[&#x22;tags:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_templates&#x22;,&#x22;label&#x22;:&#x22;List Templates&#x22;,&#x22;scopes&#x22;:[&#x22;templates:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_template&#x22;,&#x22;label&#x22;:&#x22;Create Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_template&#x22;,&#x22;label&#x22;:&#x22;Get Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_template&#x22;,&#x22;label&#x22;:&#x22;Update Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_template&#x22;,&#x22;label&#x22;:&#x22;Delete Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_render_template&#x22;,&#x22;label&#x22;:&#x22;Render Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_clone_template&#x22;,&#x22;label&#x22;:&#x22;Clone Template&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_universal_content&#x22;,&#x22;label&#x22;:&#x22;List Universal Content&#x22;,&#x22;scopes&#x22;:[&#x22;templates:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_universal_content&#x22;,&#x22;label&#x22;:&#x22;Create Universal Content&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_universal_content&#x22;,&#x22;label&#x22;:&#x22;Get Universal Content&#x22;,&#x22;scopes&#x22;:[&#x22;templates:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_universal_content&#x22;,&#x22;label&#x22;:&#x22;Update Universal Content&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_universal_content&#x22;,&#x22;label&#x22;:&#x22;Delete Universal Content&#x22;,&#x22;scopes&#x22;:[&#x22;templates:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_webhooks&#x22;,&#x22;label&#x22;:&#x22;List Webhooks&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_webhook&#x22;,&#x22;label&#x22;:&#x22;Get Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_create_webhook&#x22;,&#x22;label&#x22;:&#x22;Create Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_update_webhook&#x22;,&#x22;label&#x22;:&#x22;Update Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_delete_webhook&#x22;,&#x22;label&#x22;:&#x22;Delete Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:write&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_list_webhook_topics&#x22;,&#x22;label&#x22;:&#x22;List Webhook Topics&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:read&#x22;]},{&#x22;id&#x22;:&#x22;klaviyo_get_webhook_topic&#x22;,&#x22;label&#x22;:&#x22;Get Webhook Topic&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks:read&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Generating a Private API Key</h2>

  <p>Generate a Private API Key from your Klaviyo account to authenticate server-side API requests.</p>

  <Steps>
    <Step title="Navigate to API Keys">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://www.klaviyo.com/login" target="_blank" rel="noopener noreferrer">Klaviyo account</a>, click your account name in the lower left corner, select <strong>Settings</strong>.<br />Under the Accounts tab, click <strong>API Keys</strong>.</p>
      </div>
    </Step>

    <Step title="Create the key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Create Private API Key</strong>, enter a name (e.g., StackOne), then choose <strong>Custom Key</strong> to select specific scopes for the key.</p>
      </div>
    </Step>

    <Step title="Select API scopes">
      <div data-guide-step data-guide-scopes="accounts:read,campaigns:read,campaigns:write,catalogs:read,catalogs:write,coupon-codes:read,coupon-codes:write,coupons:read,coupons:write,data-privacy:write,events:read,events:write,flows:read,flows:write,forms:read,images:read,images:write,lists:read,lists:write,metrics:read,metrics:write,profiles:read,profiles:write,segments:read,segments:write,tags:read,tags:write,templates:read,templates:write,webhooks:read,webhooks:write" data-guide-display-scopes-list="accounts:read,campaigns:read,campaigns:write,catalogs:read,catalogs:write,coupon-codes:read,coupon-codes:write,coupons:read,coupons:write,data-privacy:write,events:read,events:write,flows:read,flows:write,forms:read,images:read,images:write,lists:read,lists:write,metrics:read,metrics:write,profiles:read,profiles:write,segments:read,segments:write,tags:read,tags:write,templates:read,templates:write,webhooks:read,webhooks:write">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="accounts:read,campaigns:read,campaigns:write,catalogs:read,catalogs:write,coupon-codes:read,coupon-codes:write,coupons:read,coupons:write,data-privacy:write,events:read,events:write,flows:read,flows:write,forms:read,images:read,images:write,lists:read,lists:write,metrics:read,metrics:write,profiles:read,profiles:write,segments:read,segments:write,tags:read,tags:write,templates:read,templates:write,webhooks:read,webhooks:write" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Add Categories To Catalog Item, Add Items To Catalog Category, Add Profiles To List, Assign Template To Campaign Message, Bulk Create Catalog Categories, Bulk Create Catalog Items, Bulk Create Catalog Variants, Bulk Create Coupon Codes, Bulk Create Events, Bulk Delete Catalog Categories, Bulk Delete Catalog Items, Bulk Delete Catalog Variants, Bulk Import Profiles, Bulk Update Catalog Categories, Bulk Update Catalog Items, Bulk Update Catalog Variants, Cancel Campaign Send, Clone Campaign, Clone Template, Create Back In Stock Subscription, Create Campaign, Create Catalog Category, Create Catalog Item, Create Catalog Variant, Create Client Event, Create Client Profile, Create Coupon, Create Coupon Code, Create Custom Metric, Create Event, Create Flow, Create List, Create Profile, Create Segment, Create Tag, Create Tag Group, Create Template, Create Universal Content, Create Webhook, Delete Campaign, Delete Catalog Category, Delete Catalog Item, Delete Catalog Variant, Delete Coupon, Delete Coupon Code, Delete Custom Metric, Delete Flow, Delete List, Delete Segment, Delete Tag, Delete Tag Group, Delete Template, Delete Universal Content, Delete Webhook, Get Account, Get Accounts, Get Campaign, Get Campaign IDs For Tag, Get Campaign Message, Get Campaign Recipient Estimation, Get Campaign Recipient Estimation Job, Get Catalog Category, Get Catalog Item, Get Catalog Variant, Get Coupon, Get Coupon Code, Get Custom Metric, Get Event, Get Flow, Get Flow Action, Get Flow Action Messages, Get Flow IDs For Tag, Get Flow Message, Get Flows Triggered By List, Get Flows Triggered By Metric, Get Flows Triggered By Segment, Get Form, Get Image, Get Items For Catalog Category, Get List, Get List For Bulk Import Profiles Job, Get List IDs For Tag, Get Lists For Profile, Get Messages For Campaign, Get Metric, Get Metric Property, Get Profile, Get Profiles For Bulk Import Profiles Job, Get Profiles For List, Get Profiles For Segment, Get Segment, Get Segment IDs For Tag, Get Segments For Profile, Get Tag, Get Tag Group, Get Tags For Campaign, Get Tags For Flow, Get Tags For List, Get Tags For Segment, Get Tags For Tag Group, Get Template, Get Universal Content, Get Webhook, Get Webhook Topic, List Campaigns, List Catalog Categories, List Catalog Variants, List Coupon Codes, List Coupons, List Custom Metrics, List Events, List Flow Actions For Flow, List Flows, List Forms, List Images, List Lists, List Metrics, List Profiles, List Segments, List Tag Groups, List Tags, List Templates, List Universal Content, List Webhook Topics, List Webhooks, Merge Profiles, Query Campaign Values, Query Flow Series, Query Flow Values, Query Metric Aggregates, Query Segment Series, Query Segment Values, Refresh Campaign Recipient Estimation, Remove Categories From Catalog Item, Remove Items From Catalog Category, Remove Profiles From List, Render Template, Request Profile Deletion, Send Campaign, Tag Campaigns, Tag Flows, Tag Lists, Tag Segments, Update Campaign, Update Campaign Message, Update Catalog Category, Update Catalog Item, Update Catalog Variant, Update Coupon, Update Coupon Code, Update Custom Metric, Update Flow Action, Update Image, Update List, Update Profile, Update Segment, Update Tag, Update Tag Group, Update Template, Update Universal Content, Update Webhook, Upload Image From URL</span>
        </div>

        <p>Select the required scopes for your use case.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="accounts:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy accounts:read" title="Copy scope" data-copy="accounts:read">
                  <span className="connector-guide-scope-copy__label">accounts:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="campaigns:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy campaigns:read" title="Copy scope" data-copy="campaigns:read">
                  <span className="connector-guide-scope-copy__label">campaigns:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="campaigns:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy campaigns:write" title="Copy scope" data-copy="campaigns:write">
                  <span className="connector-guide-scope-copy__label">campaigns:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="catalogs:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy catalogs:read" title="Copy scope" data-copy="catalogs:read">
                  <span className="connector-guide-scope-copy__label">catalogs:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="catalogs:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy catalogs:write" title="Copy scope" data-copy="catalogs:write">
                  <span className="connector-guide-scope-copy__label">catalogs:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="coupon-codes:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy coupon-codes:read" title="Copy scope" data-copy="coupon-codes:read">
                  <span className="connector-guide-scope-copy__label">coupon-codes:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="coupon-codes:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy coupon-codes:write" title="Copy scope" data-copy="coupon-codes:write">
                  <span className="connector-guide-scope-copy__label">coupon-codes:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="coupons:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy coupons:read" title="Copy scope" data-copy="coupons:read">
                  <span className="connector-guide-scope-copy__label">coupons:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="coupons:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy coupons:write" title="Copy scope" data-copy="coupons:write">
                  <span className="connector-guide-scope-copy__label">coupons:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="data-privacy:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy data-privacy:write" title="Copy scope" data-copy="data-privacy:write">
                  <span className="connector-guide-scope-copy__label">data-privacy:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="events:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy events:read" title="Copy scope" data-copy="events:read">
                  <span className="connector-guide-scope-copy__label">events:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="events:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy events:write" title="Copy scope" data-copy="events:write">
                  <span className="connector-guide-scope-copy__label">events:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="flows:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy flows:read" title="Copy scope" data-copy="flows:read">
                  <span className="connector-guide-scope-copy__label">flows:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="flows:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy flows:write" title="Copy scope" data-copy="flows:write">
                  <span className="connector-guide-scope-copy__label">flows:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="forms:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy forms:read" title="Copy scope" data-copy="forms:read">
                  <span className="connector-guide-scope-copy__label">forms:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="images:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy images:read" title="Copy scope" data-copy="images:read">
                  <span className="connector-guide-scope-copy__label">images:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="images:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy images:write" title="Copy scope" data-copy="images:write">
                  <span className="connector-guide-scope-copy__label">images:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="lists:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy lists:read" title="Copy scope" data-copy="lists:read">
                  <span className="connector-guide-scope-copy__label">lists:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="lists:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy lists:write" title="Copy scope" data-copy="lists:write">
                  <span className="connector-guide-scope-copy__label">lists:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="metrics:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy metrics:read" title="Copy scope" data-copy="metrics:read">
                  <span className="connector-guide-scope-copy__label">metrics:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="metrics:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy metrics:write" title="Copy scope" data-copy="metrics:write">
                  <span className="connector-guide-scope-copy__label">metrics:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="profiles:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy profiles:read" title="Copy scope" data-copy="profiles:read">
                  <span className="connector-guide-scope-copy__label">profiles:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="profiles:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy profiles:write" title="Copy scope" data-copy="profiles:write">
                  <span className="connector-guide-scope-copy__label">profiles:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="segments:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy segments:read" title="Copy scope" data-copy="segments:read">
                  <span className="connector-guide-scope-copy__label">segments:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="segments:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy segments:write" title="Copy scope" data-copy="segments:write">
                  <span className="connector-guide-scope-copy__label">segments:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="tags:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy tags:read" title="Copy scope" data-copy="tags:read">
                  <span className="connector-guide-scope-copy__label">tags:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="tags:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy tags:write" title="Copy scope" data-copy="tags:write">
                  <span className="connector-guide-scope-copy__label">tags:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="templates:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy templates:read" title="Copy scope" data-copy="templates:read">
                  <span className="connector-guide-scope-copy__label">templates:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="templates:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy templates:write" title="Copy scope" data-copy="templates:write">
                  <span className="connector-guide-scope-copy__label">templates:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="webhooks:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhooks:read" title="Copy scope" data-copy="webhooks:read">
                  <span className="connector-guide-scope-copy__label">webhooks:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="webhooks:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhooks:write" title="Copy scope" data-copy="webhooks:write">
                  <span className="connector-guide-scope-copy__label">webhooks:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Copy and save the key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Create</strong>, then copy the generated key immediately and store it securely for use later.</p>

        <ul>
          <li>The key is shown only once — if lost, you must create a new one.</li>
          <li>Format: `pk_cb18d136f356aa8d88d3475fg4fdf1ca9g`</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Finding Your Public API Key (Site ID)</h2>

  <p>Only required for client-side operations such as back-in-stock subscriptions and push tokens.</p>

  <Steps>
    <Step title="Copy the Site ID">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On the same <a href="https://www.klaviyo.com/settings/account/api-keys" target="_blank" rel="noopener noreferrer">API Keys</a> page, find the <strong>Public API Key</strong> section at the top. Copy the <strong>Public API Key</strong> value and store it securely for use later.</p>
      </div>
    </Step>
  </Steps>
</section>

<div data-whitelabel-hide>
  <h2>Linking the Account from the Hub</h2>

  <Steps>
    <Step title="Navigate to the Hub">
      Use one of the three <a href="/guides/accounts-section#linking-accounts">Linking Account Methods</a> to access the Hub.
    </Step>

    <Step title="Fill out the fields">
      Fill out the following fields using details from your provider:

      <ul>
        <li><strong>Private API Key</strong></li>
        <li><strong>Public API Key (Site ID)</strong> (Optional)</li>
      </ul>
    </Step>

    <Step title="Connect">
      <ul>
        <li>Click <strong>Connect</strong></li>
        <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
        <li>Once authorization is successful, you will see a confirmation popup</li>
      </ul>
    </Step>
  </Steps>

  <p>If the account linking is successful, you will see the newly linked account in your <a href="/guides/accounts-section">Accounts</a> page.</p>
</div>
