Skip to content

Reference

Klaviyo

Set up Klaviyo OAuth for email marketing, SMS, and customer data

Connect your users to Klaviyo for email marketing, SMS, and customer data.

PropertyValue
Provider IDklaviyo
CategoryMarketing
PKCERequired (S256)
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to Klaviyo Manage Apps

Sign in to Klaviyo as an owner, admin, or manager and open Settings > Manage Apps.

Create an app

Click Create App and enter the app name.

Configure the redirect URL

Add the Alter callback URL (from the Developer Portal) to the app’s redirect URL allowlist.

Set scopes

Set the app’s scopes as a space-separated list. The scopes requested at authorization time must be part of the app’s configured scope set — scopes not configured on the app are ignored.

Get credentials

Copy the Client ID and Client Secret.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Klaviyo provider

Go to OAuth Providers > Add Provider > Klaviyo.

Enter credentials

  • Client ID: Paste your Klaviyo Client ID
  • Client Secret: Paste your Klaviyo Client Secret

Select scopes

Choose the scopes the application needs. accounts:read is required and selected by default.

Save

Click Save. The provider is now active.

accounts:read is required and selected by default.

ScopeDescription
accounts:readRead account information such as the account ID and name
campaigns:readRead campaigns and campaign performance data
campaigns:writeCreate and update campaigns
catalogs:readRead catalog items, categories, and variants
catalogs:writeCreate and update catalog items, categories, and variants
conversations:readRead conversations
conversations:writeCreate and update conversations
coupons:readRead coupons
coupons:writeCreate and update coupons
coupon-codes:readRead coupon codes
coupon-codes:writeCreate and update coupon codes
data-privacy:readRead data privacy requests
data-privacy:writeCreate data privacy deletion requests
events:readRead events and event metrics
events:writeCreate events
flows:readRead flows and flow performance data
flows:writeCreate and update flows
forms:readRead forms and form performance data
images:readRead images
images:writeUpload and update images
lists:readRead lists and list memberships
lists:writeCreate and update lists and list memberships
metrics:readRead metrics and metric aggregates
metrics:writeCreate and update metrics
profiles:readRead profiles, profile properties, and consent status
profiles:writeCreate and update profiles and suppress or subscribe profiles
push-tokens:readRead push tokens
push-tokens:writeCreate and update push tokens
reviews:readRead product reviews
segments:readRead segments and segment memberships
segments:writeCreate and update segments
subscriptions:readRead subscription status
subscriptions:writeSubscribe and unsubscribe profiles
tags:readRead tags and tag groups
tags:writeCreate and update tags and tag groups
templates:readRead email templates
tracking-settings:readRead tracking settings
tracking-settings:writeUpdate tracking settings
web-feeds:readRead web feeds
webhooks:readRead webhook subscriptions
webhooks:writeCreate and update webhook subscriptions
  • Klaviyo requires PKCE (S256) for all OAuth clients, including confidential ones. Alter Vault handles PKCE automatically.
  • Tokens grant access to the Klaviyo account, not an individual user. Only owner, admin, and manager roles can authorize apps.
  • Access tokens expire after 1 hour. The refresh token persists until the app is uninstalled, revoked, or unused for 90 days.
  • Request the least permissive scope set — Klaviyo rejects Marketplace listings that request more permissions than necessary.
  • See the Klaviyo OAuth documentation for more details.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
assign_template_to_campaign_messagesendPOST/api/campaign-message-assign-template
cancel_campaign_senddelete, sendPATCH/api/campaign-send-jobs/{id}
create_campaignsendPOST/api/campaigns
create_campaign_clonesendPOST/api/campaign-clone
send_campaignsendPOST/api/campaign-send-jobs
update_campaignsendPATCH/api/campaigns/{id}
update_campaign_messagesendPATCH/api/campaign-messages/{id}
update_image_for_campaign_messagesendPATCH/api/campaign-messages/{id}/relationships/image
bulk_create_coupon_codespaymentPOST/api/coupon-code-bulk-create-jobs
create_couponpaymentPOST/api/coupons
create_coupon_codepaymentPOST/api/coupon-codes
delete_coupondelete, paymentDELETE/api/coupons/{id}
delete_coupon_codedelete, paymentDELETE/api/coupon-codes/{id}
update_couponpaymentPATCH/api/coupons/{id}
update_coupon_codepaymentPATCH/api/coupon-codes/{id}
delete_campaigndeleteDELETE/api/campaigns/{id}
delete_catalog_categorydeleteDELETE/api/catalog-categories/{id}
delete_catalog_itemdeleteDELETE/api/catalog-items/{id}
delete_catalog_variantdeleteDELETE/api/catalog-variants/{id}
delete_custom_metricdeleteDELETE/api/custom-metrics/{id}
delete_data_sourcedeleteDELETE/api/data-sources/{id}
delete_flowdeleteDELETE/api/flows/{id}
delete_flow_actiondeleteDELETE/api/flow-actions/{id}
delete_formdeleteDELETE/api/forms/{id}
delete_listdeleteDELETE/api/lists/{id}
create_client_push_tokenadmin, writePOST/client/push-tokens
create_push_tokenadmin, writePOST/api/push-tokens
create_tag_groupadmin, writePOST/api/tag-groups
create_webhookadmin, writePOST/api/webhooks
update_tag_groupadmin, writePATCH/api/tag-groups/{id}
add_profiles_to_listwritePOST/api/lists/{id}/relationships/profiles
bulk_create_catalog_categorieswritePOST/api/catalog-category-bulk-create-jobs
bulk_create_catalog_itemswritePOST/api/catalog-item-bulk-create-jobs
bulk_create_catalog_variantswritePOST/api/catalog-variant-bulk-create-jobs
bulk_create_client_eventswritePOST/client/event-bulk-create
bulk_create_data_source_recordswritePOST/api/data-source-record-bulk-create-jobs
bulk_create_eventswritePOST/api/event-bulk-create-jobs
update_profilewritePATCH/api/profiles/{id}
get_action_for_flow_messagereadGET/api/flow-messages/{id}/flow-action
get_action_id_for_flow_messagereadGET/api/flow-messages/{id}/relationships/flow-action
get_bulk_create_catalog_items_jobreadGET/api/catalog-item-bulk-create-jobs/{job_id}
get_bulk_create_categories_jobreadGET/api/catalog-category-bulk-create-jobs/{job_id}
get_bulk_create_coupon_codes_jobreadGET/api/coupon-code-bulk-create-jobs/{job_id}
get_bulk_create_variants_jobreadGET/api/catalog-variant-bulk-create-jobs/{job_id}

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.