This endpoint is in beta and subject to change.
A beta revision header (2024-10-15.pre) is required to use our beta APIs. Klaviyo APIs in beta are not intended for use in production. See our versioning and deprecation policy for more information.
Creates a subscription and consent record for email and/or SMS channels based on the provided email
and phone_number
attributes, respectively. One of either email
or phone_number
must be provided.
This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a public API key (site ID). Never use a private API key with our client-side endpoints.
To subscribe profiles from server-side applications, please use POST /api/profile-subscription-bulk-create-jobs.
Profiles can be opted into multiple channels: email marketing, SMS marketing, and SMS transactional. You can specify the channel(s) to subscribe the profile to by providing a subscriptions object in the profile attributes.
If you include a subscriptions object, only channels in that object will be subscribed. You can use this to update email
or phone
on the profile without subscribing them, for example, by setting the profile property but omitting that channel in the subscriptions object. If a subscriptions object is not provided, subscriptions are defaulted to MARKETING
.
Rate limits:
Burst: 100/s
Steady: 700/m
Scopes:
subscriptions:write