/**
* Klaviyo API
* The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
*
* Contact: developers@klaviyo.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { AxiosResponse } from "axios";
import { GetBulkProfileSuppressionsCreateJobResponse } from '../model/getBulkProfileSuppressionsCreateJobResponse';
import { GetBulkProfileSuppressionsCreateJobResponseCollection } from '../model/getBulkProfileSuppressionsCreateJobResponseCollection';
import { GetBulkProfileSuppressionsRemoveJobResponse } from '../model/getBulkProfileSuppressionsRemoveJobResponse';
import { GetBulkProfileSuppressionsRemoveJobResponseCollection } from '../model/getBulkProfileSuppressionsRemoveJobResponseCollection';
import { GetConversationResponse } from '../model/getConversationResponse';
import { GetImportErrorResponseCollection } from '../model/getImportErrorResponseCollection';
import { GetListResponseCollection } from '../model/getListResponseCollection';
import { GetProfileBulkImportJobListsRelationshipsResponseCollection } from '../model/getProfileBulkImportJobListsRelationshipsResponseCollection';
import { GetProfileBulkImportJobProfilesRelationshipsResponseCollection } from '../model/getProfileBulkImportJobProfilesRelationshipsResponseCollection';
import { GetProfileConversationRelationshipResponse } from '../model/getProfileConversationRelationshipResponse';
import { GetProfileImportJobResponseCollectionCompoundDocument } from '../model/getProfileImportJobResponseCollectionCompoundDocument';
import { GetProfileImportJobResponseCompoundDocument } from '../model/getProfileImportJobResponseCompoundDocument';
import { GetProfileListsRelationshipsResponseCollection } from '../model/getProfileListsRelationshipsResponseCollection';
import { GetProfilePushTokensRelationshipsResponseCollection } from '../model/getProfilePushTokensRelationshipsResponseCollection';
import { GetProfileResponse } from '../model/getProfileResponse';
import { GetProfileResponseCollection } from '../model/getProfileResponseCollection';
import { GetProfileResponseCollectionCompoundDocument } from '../model/getProfileResponseCollectionCompoundDocument';
import { GetProfileResponseCompoundDocument } from '../model/getProfileResponseCompoundDocument';
import { GetProfileSegmentsRelationshipsResponseCollection } from '../model/getProfileSegmentsRelationshipsResponseCollection';
import { GetPushTokenProfileRelationshipResponse } from '../model/getPushTokenProfileRelationshipResponse';
import { GetPushTokenResponseCollection } from '../model/getPushTokenResponseCollection';
import { GetPushTokenResponseCollectionCompoundDocument } from '../model/getPushTokenResponseCollectionCompoundDocument';
import { GetPushTokenResponseCompoundDocument } from '../model/getPushTokenResponseCompoundDocument';
import { GetSegmentResponseCollection } from '../model/getSegmentResponseCollection';
import { PatchProfileResponse } from '../model/patchProfileResponse';
import { PostBulkProfileSuppressionsCreateJobResponse } from '../model/postBulkProfileSuppressionsCreateJobResponse';
import { PostBulkProfileSuppressionsRemoveJobResponse } from '../model/postBulkProfileSuppressionsRemoveJobResponse';
import { PostProfileImportJobResponse } from '../model/postProfileImportJobResponse';
import { PostProfileMergeResponse } from '../model/postProfileMergeResponse';
import { PostProfileResponse } from '../model/postProfileResponse';
import { ProfileCreateQuery } from '../model/profileCreateQuery';
import { ProfileImportJobCreateQuery } from '../model/profileImportJobCreateQuery';
import { ProfileMergeQuery } from '../model/profileMergeQuery';
import { ProfilePartialUpdateQuery } from '../model/profilePartialUpdateQuery';
import { ProfileUpsertQuery } from '../model/profileUpsertQuery';
import { PushTokenCreateQuery } from '../model/pushTokenCreateQuery';
import { SubscriptionCreateJobCreateQuery } from '../model/subscriptionCreateJobCreateQuery';
import { SubscriptionDeleteJobCreateQuery } from '../model/subscriptionDeleteJobCreateQuery';
import { SuppressionCreateJobCreateQuery } from '../model/suppressionCreateJobCreateQuery';
import { SuppressionDeleteJobCreateQuery } from '../model/suppressionDeleteJobCreateQuery';
import { Session } from './apis';
export declare class ProfilesApi {
session: Session;
protected _basePath: string;
protected _defaultHeaders: any;
protected _useQuerystring: boolean;
constructor(session: Session);
set useQuerystring(value: boolean);
set basePath(basePath: string);
set defaultHeaders(defaultHeaders: any);
get defaultHeaders(): any;
get basePath(): string;
/**
* Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:write` `profiles:write`
* @summary Bulk Import Profiles
* @param profileImportJobCreateQuery
*/
bulkImportProfiles(profileImportJobCreateQuery: ProfileImportJobCreateQuery): Promise<{
response: AxiosResponse;
body: PostProfileImportJobResponse;
}>;
/**
* Subscribe one or more profiles to email marketing, SMS marketing, WhatsApp, or push. If the provided list has double opt-in enabled, profiles will receive a message requiring their confirmation before subscribing. Otherwise, profiles will be immediately subscribed without receiving a confirmation message. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any `UNSUBSCRIBE`, `SPAM_REPORT` or `USER_SUPPRESSED` suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a `historical_import` flag. If this flag is set `true`, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \"Added to list\" flows. This is useful for importing historical data where you have already collected consent. If `historical_import` is set to true, the `consented_at` field is required and must be in the past. Push tokens provided in `push_tokens` will be registered for each profile as long as push subscriptions are consented to.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
* @summary Bulk Subscribe Profiles
* @param subscriptionCreateJobCreateQuery Subscribes one or more profiles to marketing, with support for push channel and push tokens. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
*/
bulkSubscribeProfiles(subscriptionCreateJobCreateQuery: SubscriptionCreateJobCreateQuery): Promise<{
response: AxiosResponse;
body?: any;
}>;
/**
* Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write` `subscriptions:write`
* @summary Bulk Suppress Profiles
* @param suppressionCreateJobCreateQuery Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
*/
bulkSuppressProfiles(suppressionCreateJobCreateQuery: SuppressionCreateJobCreateQuery): Promise<{
response: AxiosResponse;
body: PostBulkProfileSuppressionsCreateJobResponse;
}>;
/**
* > 🚧 > > Profiles not in the specified list will be globally unsubscribed. Always verify profile list membership before calling this endpoint to avoid unintended global unsubscribes. Unsubscribe one or more profiles from email marketing, SMS marketing, push marketing, or a combination. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Push tokens provided in `subscriptions.push.tokens` will be removed for the specified profiles. To remove someone from a list without changing their subscription status, use [Remove Profiles from List](https://developers.klaviyo.com/en/reference/remove_profiles_from_list). Maximum number of profiles per call: 100
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
* @summary Bulk Unsubscribe Profiles
* @param subscriptionDeleteJobCreateQuery Unsubscribes one or more profiles from marketing. Supports email, SMS, WhatsApp, and push channels. All profiles will be removed from the provided list. Either email or phone number is required for email/SMS/WhatsApp channels. Push tokens can be removed by providing token strings directly. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
*/
bulkUnsubscribeProfiles(subscriptionDeleteJobCreateQuery: SubscriptionDeleteJobCreateQuery): Promise<{
response: AxiosResponse;
body?: any;
}>;
/**
* Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:write`
* @summary Bulk Unsuppress Profiles
* @param suppressionDeleteJobCreateQuery Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
*/
bulkUnsuppressProfiles(suppressionDeleteJobCreateQuery: SuppressionDeleteJobCreateQuery): Promise<{
response: AxiosResponse;
body: PostBulkProfileSuppressionsRemoveJobResponse;
}>;
/**
* Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`
* @summary Create or Update Profile
* @param profileUpsertQuery
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'
*/
createOrUpdateProfile(profileUpsertQuery: ProfileUpsertQuery, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
}): Promise<{
response: AxiosResponse;
body: PostProfileResponse;
}>;
/**
* Create a new profile. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. The maximum allowed payload size is 100KB.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`
* @summary Create Profile
* @param profileCreateQuery
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'
*/
createProfile(profileCreateQuery: ProfileCreateQuery, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
}): Promise<{
response: AxiosResponse;
body: PostProfileResponse;
}>;
/**
* Create or update a push token. This endpoint can be used to migrate push tokens from another platform to Klaviyo. Please use our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) to create push tokens from users\' devices. The maximum allowed payload size is 100KB.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write` `push-tokens:write`
* @summary Create or Update Push Token
* @param pushTokenCreateQuery
*/
createPushToken(pushTokenCreateQuery: PushTokenCreateQuery): Promise<{
response: AxiosResponse;
body?: any;
}>;
/**
* Delete a specific push token based on its ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `push-tokens:write`
* @summary Delete Push Token
* @param id The value of the push token to delete
*/
deletePushToken(id: string): Promise<{
response: AxiosResponse;
body?: any;
}>;
/**
* Get a bulk profile import job with the given job ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
* @summary Get Bulk Import Profiles Job
* @param jobId ID of the job to retrieve.
* @param fieldsList For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsProfileBulkImportJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
*/
getBulkImportProfilesJob(jobId: string, options?: {
fieldsList?: Array<'created' | 'name' | 'opt_in_process' | 'updated'>;
fieldsProfileBulkImportJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'expires_at' | 'failed_count' | 'started_at' | 'status' | 'total_count'>;
include?: Array<'lists'>;
}): Promise<{
response: AxiosResponse;
body: GetProfileImportJobResponseCompoundDocument;
}>;
/**
* Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
* @summary Get Bulk Import Profiles Jobs
* @param fieldsProfileBulkImportJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`status`: `any`, `equals`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
*/
getBulkImportProfilesJobs(options?: {
fieldsProfileBulkImportJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'expires_at' | 'failed_count' | 'started_at' | 'status' | 'total_count'>;
filter?: string;
pageCursor?: string;
pageSize?: number;
sort?: 'created_at' | '-created_at';
}): Promise<{
response: AxiosResponse;
body: GetProfileImportJobResponseCollectionCompoundDocument;
}>;
/**
* Get the bulk suppress profiles job with the given job ID.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`
* @summary Get Bulk Suppress Profiles Job
* @param jobId ID of the job to retrieve.
* @param fieldsProfileSuppressionBulkCreateJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getBulkSuppressProfilesJob(jobId: string, options?: {
fieldsProfileSuppressionBulkCreateJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'skipped_count' | 'status' | 'total_count'>;
}): Promise<{
response: AxiosResponse;
body: GetBulkProfileSuppressionsCreateJobResponse;
}>;
/**
* Get the status of all bulk profile suppression jobs.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`
* @summary Get Bulk Suppress Profiles Jobs
* @param fieldsProfileSuppressionBulkCreateJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`status`: `equals`<br>`list_id`: `equals`<br>`segment_id`: `equals`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
*/
getBulkSuppressProfilesJobs(options?: {
fieldsProfileSuppressionBulkCreateJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'skipped_count' | 'status' | 'total_count'>;
filter?: string;
pageCursor?: string;
sort?: 'created' | '-created';
}): Promise<{
response: AxiosResponse;
body: GetBulkProfileSuppressionsCreateJobResponseCollection;
}>;
/**
* Get the bulk unsuppress profiles job with the given job ID.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`
* @summary Get Bulk Unsuppress Profiles Job
* @param jobId ID of the job to retrieve.
* @param fieldsProfileSuppressionBulkDeleteJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getBulkUnsuppressProfilesJob(jobId: string, options?: {
fieldsProfileSuppressionBulkDeleteJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'skipped_count' | 'status' | 'total_count'>;
}): Promise<{
response: AxiosResponse;
body: GetBulkProfileSuppressionsRemoveJobResponse;
}>;
/**
* Get all bulk unsuppress profiles jobs.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`
* @summary Get Bulk Unsuppress Profiles Jobs
* @param fieldsProfileSuppressionBulkDeleteJob For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`status`: `equals`<br>`list_id`: `equals`<br>`segment_id`: `equals`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
*/
getBulkUnsuppressProfilesJobs(options?: {
fieldsProfileSuppressionBulkDeleteJob?: Array<'completed_at' | 'completed_count' | 'created_at' | 'skipped_count' | 'status' | 'total_count'>;
filter?: string;
pageCursor?: string;
sort?: 'created' | '-created';
}): Promise<{
response: AxiosResponse;
body: GetBulkProfileSuppressionsRemoveJobResponseCollection;
}>;
/**
* Get the conversation for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `conversations:read` `profiles:read`
* @summary Get Conversation for Profile
* @param id
*/
getConversationForProfile(id: string): Promise<{
response: AxiosResponse;
body: GetConversationResponse;
}>;
/**
* Get the conversation relationship for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `conversations:read` `profiles:read`
* @summary Get Conversation ID for Profile
* @param id
*/
getConversationIdForProfile(id: string): Promise<{
response: AxiosResponse;
body: GetProfileConversationRelationshipResponse;
}>;
/**
* Get import errors for the bulk profile import job with the given ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`
* @summary Get Errors for Bulk Import Profiles Job
* @param id
* @param fieldsImportError For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.
*/
getErrorsForBulkImportProfilesJob(id: string, options?: {
fieldsImportError?: Array<'code' | 'detail' | 'original_payload' | 'source' | 'source.pointer' | 'title'>;
pageCursor?: string;
pageSize?: number;
}): Promise<{
response: AxiosResponse;
body: GetImportErrorResponseCollection;
}>;
/**
* Get list for the bulk profile import job with the given ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read`
* @summary Get List for Bulk Import Profiles Job
* @param id
* @param fieldsList For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getListForBulkImportProfilesJob(id: string, options?: {
fieldsList?: Array<'created' | 'name' | 'opt_in_process' | 'updated'>;
}): Promise<{
response: AxiosResponse;
body: GetListResponseCollection;
}>;
/**
* Get list relationship for the bulk profile import job with the given ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read`
* @summary Get List IDs for Bulk Import Profiles Job
* @param id
*/
getListIdsForBulkImportProfilesJob(id: string): Promise<{
response: AxiosResponse;
body: GetProfileBulkImportJobListsRelationshipsResponseCollection;
}>;
/**
* Get list memberships for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `lists:read` `profiles:read`
* @summary Get List IDs for Profile
* @param id
*/
getListIdsForProfile(id: string): Promise<{
response: AxiosResponse;
body: GetProfileListsRelationshipsResponseCollection;
}>;
/**
* Get list memberships for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `lists:read` `profiles:read`
* @summary Get Lists for Profile
* @param id
* @param fieldsList For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getListsForProfile(id: string, options?: {
fieldsList?: Array<'created' | 'name' | 'opt_in_process' | 'updated'>;
}): Promise<{
response: AxiosResponse;
body: GetListResponseCollection;
}>;
/**
* Get the profile with the given profile ID. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
Rate limits when using the `include=list` parameter in your API request:
Burst: `1/s`
Steady: `15/m`
Rate limits when using the `include=segment` parameter in your API request:
Burst: `1/s`
Steady: `15/m`
To learn more about how the `include` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`
* @summary Get Profile
* @param id
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'* @param fieldsList For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsPushToken For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsSegment For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
*/
getProfile(id: string, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
fieldsList?: Array<'created' | 'name' | 'opt_in_process' | 'updated'>;
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'predictive_analytics' | 'predictive_analytics.average_days_between_orders' | 'predictive_analytics.average_order_value' | 'predictive_analytics.churn_probability' | 'predictive_analytics.expected_date_of_next_order' | 'predictive_analytics.historic_clv' | 'predictive_analytics.historic_number_of_orders' | 'predictive_analytics.predicted_clv' | 'predictive_analytics.predicted_number_of_orders' | 'predictive_analytics.ranked_channel_affinity' | 'predictive_analytics.total_clv' | 'properties' | 'subscriptions' | 'subscriptions.email' | 'subscriptions.email.marketing' | 'subscriptions.email.marketing.can_receive_email_marketing' | 'subscriptions.email.marketing.consent' | 'subscriptions.email.marketing.consent_timestamp' | 'subscriptions.email.marketing.custom_method_detail' | 'subscriptions.email.marketing.double_optin' | 'subscriptions.email.marketing.last_updated' | 'subscriptions.email.marketing.list_suppressions' | 'subscriptions.email.marketing.method' | 'subscriptions.email.marketing.method_detail' | 'subscriptions.email.marketing.suppression' | 'subscriptions.mobile_push' | 'subscriptions.mobile_push.marketing' | 'subscriptions.mobile_push.marketing.can_receive_push_marketing' | 'subscriptions.mobile_push.marketing.consent' | 'subscriptions.mobile_push.marketing.consent_timestamp' | 'subscriptions.sms' | 'subscriptions.sms.marketing' | 'subscriptions.sms.marketing.can_receive_sms_marketing' | 'subscriptions.sms.marketing.consent' | 'subscriptions.sms.marketing.consent_timestamp' | 'subscriptions.sms.marketing.last_updated' | 'subscriptions.sms.marketing.method' | 'subscriptions.sms.marketing.method_detail' | 'subscriptions.sms.transactional' | 'subscriptions.sms.transactional.can_receive_sms_transactional' | 'subscriptions.sms.transactional.consent' | 'subscriptions.sms.transactional.consent_timestamp' | 'subscriptions.sms.transactional.last_updated' | 'subscriptions.sms.transactional.method' | 'subscriptions.sms.transactional.method_detail' | 'subscriptions.whatsapp' | 'subscriptions.whatsapp.conversational' | 'subscriptions.whatsapp.conversational.can_receive' | 'subscriptions.whatsapp.conversational.consent' | 'subscriptions.whatsapp.conversational.consent_timestamp' | 'subscriptions.whatsapp.conversational.created_timestamp' | 'subscriptions.whatsapp.conversational.last_updated' | 'subscriptions.whatsapp.conversational.metadata' | 'subscriptions.whatsapp.conversational.phone_number' | 'subscriptions.whatsapp.conversational.valid_until' | 'subscriptions.whatsapp.marketing' | 'subscriptions.whatsapp.marketing.can_receive' | 'subscriptions.whatsapp.marketing.consent' | 'subscriptions.whatsapp.marketing.consent_timestamp' | 'subscriptions.whatsapp.marketing.created_timestamp' | 'subscriptions.whatsapp.marketing.last_updated' | 'subscriptions.whatsapp.marketing.metadata' | 'subscriptions.whatsapp.marketing.phone_number' | 'subscriptions.whatsapp.marketing.valid_until' | 'subscriptions.whatsapp.transactional' | 'subscriptions.whatsapp.transactional.can_receive' | 'subscriptions.whatsapp.transactional.consent' | 'subscriptions.whatsapp.transactional.consent_timestamp' | 'subscriptions.whatsapp.transactional.created_timestamp' | 'subscriptions.whatsapp.transactional.last_updated' | 'subscriptions.whatsapp.transactional.metadata' | 'subscriptions.whatsapp.transactional.phone_number' | 'subscriptions.whatsapp.transactional.valid_until' | 'title' | 'updated'>;
fieldsPushToken?: Array<'background' | 'created' | 'enablement_status' | 'metadata' | 'metadata.app_build' | 'metadata.app_id' | 'metadata.app_name' | 'metadata.app_version' | 'metadata.device_id' | 'metadata.device_model' | 'metadata.environment' | 'metadata.klaviyo_sdk' | 'metadata.manufacturer' | 'metadata.os_name' | 'metadata.os_version' | 'metadata.sdk_version' | 'platform' | 'recorded_date' | 'token' | 'vendor'>;
fieldsSegment?: Array<'created' | 'definition' | 'definition.condition_groups' | 'is_active' | 'is_processing' | 'is_starred' | 'name' | 'updated'>;
include?: Array<'conversation' | 'lists' | 'push-tokens' | 'segments'>;
}): Promise<{
response: AxiosResponse;
body: GetProfileResponseCompoundDocument;
}>;
/**
* Return the profile associated with the given push token.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`
* @summary Get Profile for Push Token
* @param id The value of the push token
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getProfileForPushToken(id: string, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'predictive_analytics' | 'predictive_analytics.average_days_between_orders' | 'predictive_analytics.average_order_value' | 'predictive_analytics.churn_probability' | 'predictive_analytics.expected_date_of_next_order' | 'predictive_analytics.historic_clv' | 'predictive_analytics.historic_number_of_orders' | 'predictive_analytics.predicted_clv' | 'predictive_analytics.predicted_number_of_orders' | 'predictive_analytics.ranked_channel_affinity' | 'predictive_analytics.total_clv' | 'properties' | 'subscriptions' | 'subscriptions.email' | 'subscriptions.email.marketing' | 'subscriptions.email.marketing.can_receive_email_marketing' | 'subscriptions.email.marketing.consent' | 'subscriptions.email.marketing.consent_timestamp' | 'subscriptions.email.marketing.custom_method_detail' | 'subscriptions.email.marketing.double_optin' | 'subscriptions.email.marketing.last_updated' | 'subscriptions.email.marketing.list_suppressions' | 'subscriptions.email.marketing.method' | 'subscriptions.email.marketing.method_detail' | 'subscriptions.email.marketing.suppression' | 'subscriptions.mobile_push' | 'subscriptions.mobile_push.marketing' | 'subscriptions.mobile_push.marketing.can_receive_push_marketing' | 'subscriptions.mobile_push.marketing.consent' | 'subscriptions.mobile_push.marketing.consent_timestamp' | 'subscriptions.sms' | 'subscriptions.sms.marketing' | 'subscriptions.sms.marketing.can_receive_sms_marketing' | 'subscriptions.sms.marketing.consent' | 'subscriptions.sms.marketing.consent_timestamp' | 'subscriptions.sms.marketing.last_updated' | 'subscriptions.sms.marketing.method' | 'subscriptions.sms.marketing.method_detail' | 'subscriptions.sms.transactional' | 'subscriptions.sms.transactional.can_receive_sms_transactional' | 'subscriptions.sms.transactional.consent' | 'subscriptions.sms.transactional.consent_timestamp' | 'subscriptions.sms.transactional.last_updated' | 'subscriptions.sms.transactional.method' | 'subscriptions.sms.transactional.method_detail' | 'subscriptions.whatsapp' | 'subscriptions.whatsapp.conversational' | 'subscriptions.whatsapp.conversational.can_receive' | 'subscriptions.whatsapp.conversational.consent' | 'subscriptions.whatsapp.conversational.consent_timestamp' | 'subscriptions.whatsapp.conversational.created_timestamp' | 'subscriptions.whatsapp.conversational.last_updated' | 'subscriptions.whatsapp.conversational.metadata' | 'subscriptions.whatsapp.conversational.phone_number' | 'subscriptions.whatsapp.conversational.valid_until' | 'subscriptions.whatsapp.marketing' | 'subscriptions.whatsapp.marketing.can_receive' | 'subscriptions.whatsapp.marketing.consent' | 'subscriptions.whatsapp.marketing.consent_timestamp' | 'subscriptions.whatsapp.marketing.created_timestamp' | 'subscriptions.whatsapp.marketing.last_updated' | 'subscriptions.whatsapp.marketing.metadata' | 'subscriptions.whatsapp.marketing.phone_number' | 'subscriptions.whatsapp.marketing.valid_until' | 'subscriptions.whatsapp.transactional' | 'subscriptions.whatsapp.transactional.can_receive' | 'subscriptions.whatsapp.transactional.consent' | 'subscriptions.whatsapp.transactional.consent_timestamp' | 'subscriptions.whatsapp.transactional.created_timestamp' | 'subscriptions.whatsapp.transactional.last_updated' | 'subscriptions.whatsapp.transactional.metadata' | 'subscriptions.whatsapp.transactional.phone_number' | 'subscriptions.whatsapp.transactional.valid_until' | 'title' | 'updated'>;
}): Promise<{
response: AxiosResponse;
body: GetProfileResponse;
}>;
/**
* Return the ID of the profile associated with the given push token.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`
* @summary Get Profile ID for Push Token
* @param id The value of the push token
*/
getProfileIdForPushToken(id: string): Promise<{
response: AxiosResponse;
body: GetPushTokenProfileRelationshipResponse;
}>;
/**
* Get profile relationships for the bulk profile import job with the given ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`
* @summary Get Profile IDs for Bulk Import Profiles Job
* @param id
* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.
*/
getProfileIdsForBulkImportProfilesJob(id: string, options?: {
pageCursor?: string;
pageSize?: number;
}): Promise<{
response: AxiosResponse;
body: GetProfileBulkImportJobProfilesRelationshipsResponseCollection;
}>;
/**
* Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: `id`, `created`, `updated`, `email`, `subscriptions.email.marketing.suppression.timestamp`, `subscriptions.email.marketing.list_suppressions.timestamp` Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.
*Rate limits*:
Burst: `75/s`
Steady: `750/m`
Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:
Burst: `10/s`
Steady: `150/m`
To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`
* @summary Get Profiles
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsPushToken For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`id`: `any`, `equals`<br>`email`: `any`, `equals`<br>`phone_number`: `any`, `equals`<br>`external_id`: `any`, `equals`<br>`_kx`: `equals`<br>`created`: `greater-than`, `less-than`<br>`updated`: `greater-than`, `less-than`<br>`subscriptions.email.marketing.list_suppressions.reason`: `equals`<br>`subscriptions.email.marketing.list_suppressions.timestamp`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`subscriptions.email.marketing.list_suppressions.list_id`: `equals`<br>`subscriptions.email.marketing.suppression.reason`: `equals`<br>`subscriptions.email.marketing.suppression.timestamp`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`* @param include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
*/
getProfiles(options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'predictive_analytics' | 'predictive_analytics.average_days_between_orders' | 'predictive_analytics.average_order_value' | 'predictive_analytics.churn_probability' | 'predictive_analytics.expected_date_of_next_order' | 'predictive_analytics.historic_clv' | 'predictive_analytics.historic_number_of_orders' | 'predictive_analytics.predicted_clv' | 'predictive_analytics.predicted_number_of_orders' | 'predictive_analytics.ranked_channel_affinity' | 'predictive_analytics.total_clv' | 'properties' | 'subscriptions' | 'subscriptions.email' | 'subscriptions.email.marketing' | 'subscriptions.email.marketing.can_receive_email_marketing' | 'subscriptions.email.marketing.consent' | 'subscriptions.email.marketing.consent_timestamp' | 'subscriptions.email.marketing.custom_method_detail' | 'subscriptions.email.marketing.double_optin' | 'subscriptions.email.marketing.last_updated' | 'subscriptions.email.marketing.list_suppressions' | 'subscriptions.email.marketing.method' | 'subscriptions.email.marketing.method_detail' | 'subscriptions.email.marketing.suppression' | 'subscriptions.mobile_push' | 'subscriptions.mobile_push.marketing' | 'subscriptions.mobile_push.marketing.can_receive_push_marketing' | 'subscriptions.mobile_push.marketing.consent' | 'subscriptions.mobile_push.marketing.consent_timestamp' | 'subscriptions.sms' | 'subscriptions.sms.marketing' | 'subscriptions.sms.marketing.can_receive_sms_marketing' | 'subscriptions.sms.marketing.consent' | 'subscriptions.sms.marketing.consent_timestamp' | 'subscriptions.sms.marketing.last_updated' | 'subscriptions.sms.marketing.method' | 'subscriptions.sms.marketing.method_detail' | 'subscriptions.sms.transactional' | 'subscriptions.sms.transactional.can_receive_sms_transactional' | 'subscriptions.sms.transactional.consent' | 'subscriptions.sms.transactional.consent_timestamp' | 'subscriptions.sms.transactional.last_updated' | 'subscriptions.sms.transactional.method' | 'subscriptions.sms.transactional.method_detail' | 'subscriptions.whatsapp' | 'subscriptions.whatsapp.conversational' | 'subscriptions.whatsapp.conversational.can_receive' | 'subscriptions.whatsapp.conversational.consent' | 'subscriptions.whatsapp.conversational.consent_timestamp' | 'subscriptions.whatsapp.conversational.created_timestamp' | 'subscriptions.whatsapp.conversational.last_updated' | 'subscriptions.whatsapp.conversational.metadata' | 'subscriptions.whatsapp.conversational.phone_number' | 'subscriptions.whatsapp.conversational.valid_until' | 'subscriptions.whatsapp.marketing' | 'subscriptions.whatsapp.marketing.can_receive' | 'subscriptions.whatsapp.marketing.consent' | 'subscriptions.whatsapp.marketing.consent_timestamp' | 'subscriptions.whatsapp.marketing.created_timestamp' | 'subscriptions.whatsapp.marketing.last_updated' | 'subscriptions.whatsapp.marketing.metadata' | 'subscriptions.whatsapp.marketing.phone_number' | 'subscriptions.whatsapp.marketing.valid_until' | 'subscriptions.whatsapp.transactional' | 'subscriptions.whatsapp.transactional.can_receive' | 'subscriptions.whatsapp.transactional.consent' | 'subscriptions.whatsapp.transactional.consent_timestamp' | 'subscriptions.whatsapp.transactional.created_timestamp' | 'subscriptions.whatsapp.transactional.last_updated' | 'subscriptions.whatsapp.transactional.metadata' | 'subscriptions.whatsapp.transactional.phone_number' | 'subscriptions.whatsapp.transactional.valid_until' | 'title' | 'updated'>;
fieldsPushToken?: Array<'background' | 'created' | 'enablement_status' | 'metadata' | 'metadata.app_build' | 'metadata.app_id' | 'metadata.app_name' | 'metadata.app_version' | 'metadata.device_id' | 'metadata.device_model' | 'metadata.environment' | 'metadata.klaviyo_sdk' | 'metadata.manufacturer' | 'metadata.os_name' | 'metadata.os_version' | 'metadata.sdk_version' | 'platform' | 'recorded_date' | 'token' | 'vendor'>;
filter?: string;
include?: Array<'conversation' | 'push-tokens'>;
pageCursor?: string;
pageSize?: number;
sort?: 'created' | '-created' | 'email' | '-email' | 'id' | '-id' | 'subscriptions.email.marketing.list_suppressions.timestamp' | '-subscriptions.email.marketing.list_suppressions.timestamp' | 'subscriptions.email.marketing.suppression.timestamp' | '-subscriptions.email.marketing.suppression.timestamp' | 'updated' | '-updated';
}): Promise<{
response: AxiosResponse;
body: GetProfileResponseCollectionCompoundDocument;
}>;
/**
* Get profiles for the bulk profile import job with the given ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`
* @summary Get Profiles for Bulk Import Profiles Job
* @param id
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.
*/
getProfilesForBulkImportProfilesJob(id: string, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'predictive_analytics' | 'predictive_analytics.average_days_between_orders' | 'predictive_analytics.average_order_value' | 'predictive_analytics.churn_probability' | 'predictive_analytics.expected_date_of_next_order' | 'predictive_analytics.historic_clv' | 'predictive_analytics.historic_number_of_orders' | 'predictive_analytics.predicted_clv' | 'predictive_analytics.predicted_number_of_orders' | 'predictive_analytics.ranked_channel_affinity' | 'predictive_analytics.total_clv' | 'properties' | 'subscriptions' | 'subscriptions.email' | 'subscriptions.email.marketing' | 'subscriptions.email.marketing.can_receive_email_marketing' | 'subscriptions.email.marketing.consent' | 'subscriptions.email.marketing.consent_timestamp' | 'subscriptions.email.marketing.custom_method_detail' | 'subscriptions.email.marketing.double_optin' | 'subscriptions.email.marketing.last_updated' | 'subscriptions.email.marketing.list_suppressions' | 'subscriptions.email.marketing.method' | 'subscriptions.email.marketing.method_detail' | 'subscriptions.email.marketing.suppression' | 'subscriptions.mobile_push' | 'subscriptions.mobile_push.marketing' | 'subscriptions.mobile_push.marketing.can_receive_push_marketing' | 'subscriptions.mobile_push.marketing.consent' | 'subscriptions.mobile_push.marketing.consent_timestamp' | 'subscriptions.sms' | 'subscriptions.sms.marketing' | 'subscriptions.sms.marketing.can_receive_sms_marketing' | 'subscriptions.sms.marketing.consent' | 'subscriptions.sms.marketing.consent_timestamp' | 'subscriptions.sms.marketing.last_updated' | 'subscriptions.sms.marketing.method' | 'subscriptions.sms.marketing.method_detail' | 'subscriptions.sms.transactional' | 'subscriptions.sms.transactional.can_receive_sms_transactional' | 'subscriptions.sms.transactional.consent' | 'subscriptions.sms.transactional.consent_timestamp' | 'subscriptions.sms.transactional.last_updated' | 'subscriptions.sms.transactional.method' | 'subscriptions.sms.transactional.method_detail' | 'subscriptions.whatsapp' | 'subscriptions.whatsapp.conversational' | 'subscriptions.whatsapp.conversational.can_receive' | 'subscriptions.whatsapp.conversational.consent' | 'subscriptions.whatsapp.conversational.consent_timestamp' | 'subscriptions.whatsapp.conversational.created_timestamp' | 'subscriptions.whatsapp.conversational.last_updated' | 'subscriptions.whatsapp.conversational.metadata' | 'subscriptions.whatsapp.conversational.phone_number' | 'subscriptions.whatsapp.conversational.valid_until' | 'subscriptions.whatsapp.marketing' | 'subscriptions.whatsapp.marketing.can_receive' | 'subscriptions.whatsapp.marketing.consent' | 'subscriptions.whatsapp.marketing.consent_timestamp' | 'subscriptions.whatsapp.marketing.created_timestamp' | 'subscriptions.whatsapp.marketing.last_updated' | 'subscriptions.whatsapp.marketing.metadata' | 'subscriptions.whatsapp.marketing.phone_number' | 'subscriptions.whatsapp.marketing.valid_until' | 'subscriptions.whatsapp.transactional' | 'subscriptions.whatsapp.transactional.can_receive' | 'subscriptions.whatsapp.transactional.consent' | 'subscriptions.whatsapp.transactional.consent_timestamp' | 'subscriptions.whatsapp.transactional.created_timestamp' | 'subscriptions.whatsapp.transactional.last_updated' | 'subscriptions.whatsapp.transactional.metadata' | 'subscriptions.whatsapp.transactional.phone_number' | 'subscriptions.whatsapp.transactional.valid_until' | 'title' | 'updated'>;
pageCursor?: string;
pageSize?: number;
}): Promise<{
response: AxiosResponse;
body: GetProfileResponseCollection;
}>;
/**
* Return a specific push token based on its ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`
* @summary Get Push Token
* @param id The value of the push token
* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsPushToken For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
*/
getPushToken(id: string, options?: {
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'properties' | 'title' | 'updated'>;
fieldsPushToken?: Array<'background' | 'created' | 'enablement_status' | 'metadata' | 'metadata.app_build' | 'metadata.app_id' | 'metadata.app_name' | 'metadata.app_version' | 'metadata.device_id' | 'metadata.device_model' | 'metadata.environment' | 'metadata.klaviyo_sdk' | 'metadata.manufacturer' | 'metadata.os_name' | 'metadata.os_version' | 'metadata.sdk_version' | 'platform' | 'recorded_date' | 'token' | 'vendor'>;
include?: Array<'profile'>;
}): Promise<{
response: AxiosResponse;
body: GetPushTokenResponseCompoundDocument;
}>;
/**
* Return the IDs of all push tokens associated with the given profile.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`
* @summary Get Push Token IDs for Profile
* @param id
*/
getPushTokenIdsForProfile(id: string): Promise<{
response: AxiosResponse;
body: GetProfilePushTokensRelationshipsResponseCollection;
}>;
/**
* Return push tokens associated with company.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`
* @summary Get Push Tokens
* @param fieldsProfile For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param fieldsPushToken For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`id`: `equals`<br>`profile.id`: `equals`<br>`enablement_status`: `equals`<br>`platform`: `equals`* @param include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.
*/
getPushTokens(options?: {
fieldsProfile?: Array<'created' | 'email' | 'external_id' | 'first_name' | 'image' | 'last_event_date' | 'last_name' | 'locale' | 'location' | 'location.address1' | 'location.address2' | 'location.city' | 'location.country' | 'location.ip' | 'location.latitude' | 'location.longitude' | 'location.region' | 'location.timezone' | 'location.zip' | 'organization' | 'phone_number' | 'properties' | 'title' | 'updated'>;
fieldsPushToken?: Array<'background' | 'created' | 'enablement_status' | 'metadata' | 'metadata.app_build' | 'metadata.app_id' | 'metadata.app_name' | 'metadata.app_version' | 'metadata.device_id' | 'metadata.device_model' | 'metadata.environment' | 'metadata.klaviyo_sdk' | 'metadata.manufacturer' | 'metadata.os_name' | 'metadata.os_version' | 'metadata.sdk_version' | 'platform' | 'recorded_date' | 'token' | 'vendor'>;
filter?: string;
include?: Array<'profile'>;
pageCursor?: string;
pageSize?: number;
}): Promise<{
response: AxiosResponse;
body: GetPushTokenResponseCollectionCompoundDocument;
}>;
/**
* Return all push tokens that belong to the given profile.
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`
* @summary Get Push Tokens for Profile
* @param id
* @param fieldsPushToken For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getPushTokensForProfile(id: string, options?: {
fieldsPushToken?: Array<'background' | 'created' | 'enablement_status' | 'metadata' | 'metadata.app_build' | 'metadata.app_id' | 'metadata.app_name' | 'metadata.app_version' | 'metadata.device_id' | 'metadata.device_model' | 'metadata.environment' | 'metadata.klaviyo_sdk' | 'metadata.manufacturer' | 'metadata.os_name' | 'metadata.os_version' | 'metadata.sdk_version' | 'platform' | 'recorded_date' | 'token' | 'vendor'>;
}): Promise<{
response: AxiosResponse;
body: GetPushTokenResponseCollection;
}>;
/**
* Get segment membership relationships for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
* @summary Get Segment IDs for Profile
* @param id
*/
getSegmentIdsForProfile(id: string): Promise<{
response: AxiosResponse;
body: GetProfileSegmentsRelationshipsResponseCollection;
}>;
/**
* Get segment memberships for a profile with the given profile ID.
*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
* @summary Get Segments for Profile
* @param id
* @param fieldsSegment For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
*/
getSegmentsForProfile(id: string, options?: {
fieldsSegment?: Array<'created' | 'definition' | 'definition.condition_groups' | 'is_active' | 'is_processing' | 'is_starred' | 'name' | 'updated'>;
}): Promise<{
response: AxiosResponse;
body: GetSegmentResponseCollection;
}>;
/**
* Merge a given related profile into a profile with the given profile ID. The profile provided under `relationships` (the \"source\" profile) will be merged into the profile provided by the ID in the base data object (the \"destination\" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).
*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:write`
* @summary Merge Profiles
* @param profileMergeQuery
*/
mergeProfiles(profileMergeQuery: ProfileMergeQuery): Promise<{
response: AxiosResponse;
body: PostProfileMergeResponse;
}>;
/**
* Update the profile with the given profile ID. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.
*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`
* @summary Update Profile
* @param id Primary key that uniquely identifies this profile. Generated by Klaviyo.* @param profilePartialUpdateQuery
* @param additionalFieldsProfile Request additional fields not included by default in the response. Supported values: \'subscriptions\', \'predictive_analytics\'
*/
updateProfile(id: string, profilePartialUpdateQuery: ProfilePartialUpdateQuery, options?: {
additionalFieldsProfile?: Array<'subscriptions' | 'predictive_analytics'>;
}): Promise<{
response: AxiosResponse;
body: PatchProfileResponse;
}>;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkImportProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkImportProfiles} instead
*/
spawnBulkProfileImportJob: typeof ProfilesApi.prototype.bulkImportProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkImportProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkImportProfiles} instead
*/
createProfileBulkImportJob: typeof ProfilesApi.prototype.bulkImportProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkSubscribeProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkSubscribeProfiles} instead
*/
subscribeProfiles: typeof ProfilesApi.prototype.bulkSubscribeProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkSubscribeProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkSubscribeProfiles} instead
*/
createProfileSubscriptionBulkCreateJob: typeof ProfilesApi.prototype.bulkSubscribeProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkSuppressProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkSuppressProfiles} instead
*/
suppressProfiles: typeof ProfilesApi.prototype.bulkSuppressProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkSuppressProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkSuppressProfiles} instead
*/
createProfileSuppressionBulkCreateJob: typeof ProfilesApi.prototype.bulkSuppressProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkUnsubscribeProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkUnsubscribeProfiles} instead
*/
unsubscribeProfiles: typeof ProfilesApi.prototype.bulkUnsubscribeProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkUnsubscribeProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkUnsubscribeProfiles} instead
*/
createProfileSubscriptionBulkDeleteJob: typeof ProfilesApi.prototype.bulkUnsubscribeProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkUnsuppressProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkUnsuppressProfiles} instead
*/
unsuppressProfiles: typeof ProfilesApi.prototype.bulkUnsuppressProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.bulkUnsuppressProfiles}
*
* @deprecated Use {@link ProfilesApi.bulkUnsuppressProfiles} instead
*/
createProfileSuppressionBulkDeleteJob: typeof ProfilesApi.prototype.bulkUnsuppressProfiles;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.createOrUpdateProfile}
*
* @deprecated Use {@link ProfilesApi.createOrUpdateProfile} instead
*/
createProfileImport: typeof ProfilesApi.prototype.createOrUpdateProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getBulkImportProfilesJob} instead
*/
getBulkProfileImportJob: typeof ProfilesApi.prototype.getBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getBulkImportProfilesJob} instead
*/
getProfileBulkImportJob: typeof ProfilesApi.prototype.getBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkImportProfilesJobs}
*
* @deprecated Use {@link ProfilesApi.getBulkImportProfilesJobs} instead
*/
getBulkProfileImportJobs: typeof ProfilesApi.prototype.getBulkImportProfilesJobs;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkImportProfilesJobs}
*
* @deprecated Use {@link ProfilesApi.getBulkImportProfilesJobs} instead
*/
getProfileBulkImportJobs: typeof ProfilesApi.prototype.getBulkImportProfilesJobs;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkSuppressProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getBulkSuppressProfilesJob} instead
*/
getProfileSuppressionBulkCreateJob: typeof ProfilesApi.prototype.getBulkSuppressProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkSuppressProfilesJobs}
*
* @deprecated Use {@link ProfilesApi.getBulkSuppressProfilesJobs} instead
*/
getProfileSuppressionBulkCreateJobs: typeof ProfilesApi.prototype.getBulkSuppressProfilesJobs;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkUnsuppressProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getBulkUnsuppressProfilesJob} instead
*/
getProfileSuppressionBulkDeleteJob: typeof ProfilesApi.prototype.getBulkUnsuppressProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getBulkUnsuppressProfilesJobs}
*
* @deprecated Use {@link ProfilesApi.getBulkUnsuppressProfilesJobs} instead
*/
getProfileSuppressionBulkDeleteJobs: typeof ProfilesApi.prototype.getBulkUnsuppressProfilesJobs;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getConversationForProfile}
*
* @deprecated Use {@link ProfilesApi.getConversationForProfile} instead
*/
getProfileConversation: typeof ProfilesApi.prototype.getConversationForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getConversationIdForProfile}
*
* @deprecated Use {@link ProfilesApi.getConversationIdForProfile} instead
*/
getProfileRelationshipsConversation: typeof ProfilesApi.prototype.getConversationIdForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getErrorsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getErrorsForBulkImportProfilesJob} instead
*/
getBulkProfileImportJobImportErrors: typeof ProfilesApi.prototype.getErrorsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getErrorsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getErrorsForBulkImportProfilesJob} instead
*/
getImportErrorsForProfileBulkImportJob: typeof ProfilesApi.prototype.getErrorsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getErrorsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getErrorsForBulkImportProfilesJob} instead
*/
getProfileBulkImportJobImportErrors: typeof ProfilesApi.prototype.getErrorsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListForBulkImportProfilesJob} instead
*/
getBulkProfileImportJobLists: typeof ProfilesApi.prototype.getListForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListForBulkImportProfilesJob} instead
*/
getListsForProfileBulkImportJob: typeof ProfilesApi.prototype.getListForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListForBulkImportProfilesJob} instead
*/
getProfileBulkImportJobLists: typeof ProfilesApi.prototype.getListForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListIdsForBulkImportProfilesJob} instead
*/
getBulkProfileImportJobRelationshipsLists: typeof ProfilesApi.prototype.getListIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListIdsForBulkImportProfilesJob} instead
*/
getListIdsForProfileBulkImportJob: typeof ProfilesApi.prototype.getListIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getListIdsForBulkImportProfilesJob} instead
*/
getProfileBulkImportJobRelationshipsLists: typeof ProfilesApi.prototype.getListIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListIdsForProfile}
*
* @deprecated Use {@link ProfilesApi.getListIdsForProfile} instead
*/
getProfileRelationshipsLists: typeof ProfilesApi.prototype.getListIdsForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getListsForProfile}
*
* @deprecated Use {@link ProfilesApi.getListsForProfile} instead
*/
getProfileLists: typeof ProfilesApi.prototype.getListsForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfileForPushToken}
*
* @deprecated Use {@link ProfilesApi.getProfileForPushToken} instead
*/
getPushTokenProfile: typeof ProfilesApi.prototype.getProfileForPushToken;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfileIdForPushToken}
*
* @deprecated Use {@link ProfilesApi.getProfileIdForPushToken} instead
*/
getPushTokenRelationshipsProfile: typeof ProfilesApi.prototype.getProfileIdForPushToken;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob} instead
*/
getBulkProfileImportJobRelationshipsProfiles: typeof ProfilesApi.prototype.getProfileIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob} instead
*/
getProfileBulkImportJobRelationshipsProfiles: typeof ProfilesApi.prototype.getProfileIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfileIdsForBulkImportProfilesJob} instead
*/
getProfileIdsForProfileBulkImportJob: typeof ProfilesApi.prototype.getProfileIdsForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfilesForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfilesForBulkImportProfilesJob} instead
*/
getBulkProfileImportJobProfiles: typeof ProfilesApi.prototype.getProfilesForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfilesForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfilesForBulkImportProfilesJob} instead
*/
getProfileBulkImportJobProfiles: typeof ProfilesApi.prototype.getProfilesForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getProfilesForBulkImportProfilesJob}
*
* @deprecated Use {@link ProfilesApi.getProfilesForBulkImportProfilesJob} instead
*/
getProfilesForProfileBulkImportJob: typeof ProfilesApi.prototype.getProfilesForBulkImportProfilesJob;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getPushTokenIdsForProfile}
*
* @deprecated Use {@link ProfilesApi.getPushTokenIdsForProfile} instead
*/
getProfileRelationshipsPushTokens: typeof ProfilesApi.prototype.getPushTokenIdsForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getPushTokensForProfile}
*
* @deprecated Use {@link ProfilesApi.getPushTokensForProfile} instead
*/
getProfilePushTokens: typeof ProfilesApi.prototype.getPushTokensForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getSegmentIdsForProfile}
*
* @deprecated Use {@link ProfilesApi.getSegmentIdsForProfile} instead
*/
getProfileRelationshipsSegments: typeof ProfilesApi.prototype.getSegmentIdsForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.getSegmentsForProfile}
*
* @deprecated Use {@link ProfilesApi.getSegmentsForProfile} instead
*/
getProfileSegments: typeof ProfilesApi.prototype.getSegmentsForProfile;
}
export interface ProfilesApi {
/**
* Alias of {@link ProfilesApi.mergeProfiles}
*
* @deprecated Use {@link ProfilesApi.mergeProfiles} instead
*/
createProfileMerge: typeof ProfilesApi.prototype.mergeProfiles;
}