klaviyo-api-fetch 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/index.d.mts +2794 -1417
- package/dist/index.d.ts +2794 -1417
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/client.gen.ts +1 -1
- package/src/index.ts +2 -2
- package/src/sdk.gen.ts +313 -15
- package/src/types.gen.ts +2823 -1446
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sdk.gen.ts","../src/client.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch';\nimport type { GetAccountsData, GetAccountsResponse, GetAccountsError, GetAccountData, GetAccountResponse2, GetAccountError, GetCampaignsData, GetCampaignsResponse, GetCampaignsError, CreateCampaignData, CreateCampaignResponse, CreateCampaignError, DeleteCampaignData, DeleteCampaignResponse, DeleteCampaignError, GetCampaignData, GetCampaignResponse2, GetCampaignError, UpdateCampaignData, UpdateCampaignResponse, UpdateCampaignError, GetCampaignMessageData, GetCampaignMessageResponse, GetCampaignMessageError, UpdateCampaignMessageData, UpdateCampaignMessageResponse, UpdateCampaignMessageError, GetCampaignSendJobData, GetCampaignSendJobResponse2, GetCampaignSendJobError, CancelCampaignSendData, CancelCampaignSendResponse, CancelCampaignSendError, GetCampaignRecipientEstimationJobData, GetCampaignRecipientEstimationJobResponse2, GetCampaignRecipientEstimationJobError, GetCampaignRecipientEstimationData, GetCampaignRecipientEstimationResponse2, GetCampaignRecipientEstimationError, CreateCampaignCloneData, CreateCampaignCloneResponse, CreateCampaignCloneError, AssignTemplateToCampaignMessageData, AssignTemplateToCampaignMessageResponse, AssignTemplateToCampaignMessageError, SendCampaignData, SendCampaignResponse, SendCampaignError, RefreshCampaignRecipientEstimationData, RefreshCampaignRecipientEstimationResponse, RefreshCampaignRecipientEstimationError, GetCampaignForCampaignMessageData, GetCampaignForCampaignMessageResponse, GetCampaignForCampaignMessageError, GetCampaignIdForCampaignMessageData, GetCampaignIdForCampaignMessageResponse, GetCampaignIdForCampaignMessageError, GetTemplateForCampaignMessageData, GetTemplateForCampaignMessageResponse, GetTemplateForCampaignMessageError, GetTemplateIdForCampaignMessageData, GetTemplateIdForCampaignMessageResponse, GetTemplateIdForCampaignMessageError, GetImageForCampaignMessageData, GetImageForCampaignMessageResponse, GetImageForCampaignMessageError, GetImageIdForCampaignMessageData, GetImageIdForCampaignMessageResponse, GetImageIdForCampaignMessageError, UpdateImageForCampaignMessageData, UpdateImageForCampaignMessageResponse, UpdateImageForCampaignMessageError, GetTagsForCampaignData, GetTagsForCampaignResponse, GetTagsForCampaignError, GetTagIdsForCampaignData, GetTagIdsForCampaignResponse, GetTagIdsForCampaignError, GetMessagesForCampaignData, GetMessagesForCampaignResponse, GetMessagesForCampaignError, GetMessageIdsForCampaignData, GetMessageIdsForCampaignResponse, GetMessageIdsForCampaignError, GetCatalogItemsData, GetCatalogItemsResponse, GetCatalogItemsError, CreateCatalogItemData, CreateCatalogItemResponse, CreateCatalogItemError, DeleteCatalogItemData, DeleteCatalogItemResponse, DeleteCatalogItemError, GetCatalogItemData, GetCatalogItemResponse, GetCatalogItemError, UpdateCatalogItemData, UpdateCatalogItemResponse, UpdateCatalogItemError, GetCatalogVariantsData, GetCatalogVariantsResponse, GetCatalogVariantsError, CreateCatalogVariantData, CreateCatalogVariantResponse, CreateCatalogVariantError, DeleteCatalogVariantData, DeleteCatalogVariantResponse, DeleteCatalogVariantError, GetCatalogVariantData, GetCatalogVariantResponse2, GetCatalogVariantError, UpdateCatalogVariantData, UpdateCatalogVariantResponse, UpdateCatalogVariantError, GetCatalogCategoriesData, GetCatalogCategoriesResponse, GetCatalogCategoriesError, CreateCatalogCategoryData, CreateCatalogCategoryResponse, CreateCatalogCategoryError, DeleteCatalogCategoryData, DeleteCatalogCategoryResponse, DeleteCatalogCategoryError, GetCatalogCategoryData, GetCatalogCategoryResponse2, GetCatalogCategoryError, UpdateCatalogCategoryData, UpdateCatalogCategoryResponse, UpdateCatalogCategoryError, GetBulkCreateCatalogItemsJobsData, GetBulkCreateCatalogItemsJobsResponse, GetBulkCreateCatalogItemsJobsError, BulkCreateCatalogItemsData, BulkCreateCatalogItemsResponse, BulkCreateCatalogItemsError, GetBulkCreateCatalogItemsJobData, GetBulkCreateCatalogItemsJobResponse, GetBulkCreateCatalogItemsJobError, GetBulkUpdateCatalogItemsJobsData, GetBulkUpdateCatalogItemsJobsResponse, GetBulkUpdateCatalogItemsJobsError, BulkUpdateCatalogItemsData, BulkUpdateCatalogItemsResponse, BulkUpdateCatalogItemsError, GetBulkUpdateCatalogItemsJobData, GetBulkUpdateCatalogItemsJobResponse, GetBulkUpdateCatalogItemsJobError, GetBulkDeleteCatalogItemsJobsData, GetBulkDeleteCatalogItemsJobsResponse, GetBulkDeleteCatalogItemsJobsError, BulkDeleteCatalogItemsData, BulkDeleteCatalogItemsResponse, BulkDeleteCatalogItemsError, GetBulkDeleteCatalogItemsJobData, GetBulkDeleteCatalogItemsJobResponse, GetBulkDeleteCatalogItemsJobError, GetBulkCreateVariantsJobsData, GetBulkCreateVariantsJobsResponse, GetBulkCreateVariantsJobsError, BulkCreateCatalogVariantsData, BulkCreateCatalogVariantsResponse, BulkCreateCatalogVariantsError, GetBulkCreateVariantsJobData, GetBulkCreateVariantsJobResponse, GetBulkCreateVariantsJobError, GetBulkUpdateVariantsJobsData, GetBulkUpdateVariantsJobsResponse, GetBulkUpdateVariantsJobsError, BulkUpdateCatalogVariantsData, BulkUpdateCatalogVariantsResponse, BulkUpdateCatalogVariantsError, GetBulkUpdateVariantsJobData, GetBulkUpdateVariantsJobResponse, GetBulkUpdateVariantsJobError, GetBulkDeleteVariantsJobsData, GetBulkDeleteVariantsJobsResponse, GetBulkDeleteVariantsJobsError, BulkDeleteCatalogVariantsData, BulkDeleteCatalogVariantsResponse, BulkDeleteCatalogVariantsError, GetBulkDeleteVariantsJobData, GetBulkDeleteVariantsJobResponse, GetBulkDeleteVariantsJobError, GetBulkCreateCategoriesJobsData, GetBulkCreateCategoriesJobsResponse, GetBulkCreateCategoriesJobsError, BulkCreateCatalogCategoriesData, BulkCreateCatalogCategoriesResponse, BulkCreateCatalogCategoriesError, GetBulkCreateCategoriesJobData, GetBulkCreateCategoriesJobResponse, GetBulkCreateCategoriesJobError, GetBulkUpdateCategoriesJobsData, GetBulkUpdateCategoriesJobsResponse, GetBulkUpdateCategoriesJobsError, BulkUpdateCatalogCategoriesData, BulkUpdateCatalogCategoriesResponse, BulkUpdateCatalogCategoriesError, GetBulkUpdateCategoriesJobData, GetBulkUpdateCategoriesJobResponse, GetBulkUpdateCategoriesJobError, GetBulkDeleteCategoriesJobsData, GetBulkDeleteCategoriesJobsResponse, GetBulkDeleteCategoriesJobsError, BulkDeleteCatalogCategoriesData, BulkDeleteCatalogCategoriesResponse, BulkDeleteCatalogCategoriesError, GetBulkDeleteCategoriesJobData, GetBulkDeleteCategoriesJobResponse, GetBulkDeleteCategoriesJobError, CreateBackInStockSubscriptionData, CreateBackInStockSubscriptionError, GetItemsForCatalogCategoryData, GetItemsForCatalogCategoryResponse, GetItemsForCatalogCategoryError, RemoveItemsFromCatalogCategoryData, RemoveItemsFromCatalogCategoryResponse, RemoveItemsFromCatalogCategoryError, GetItemIdsForCatalogCategoryData, GetItemIdsForCatalogCategoryResponse, GetItemIdsForCatalogCategoryError, UpdateItemsForCatalogCategoryData, UpdateItemsForCatalogCategoryResponse, UpdateItemsForCatalogCategoryError, AddItemsToCatalogCategoryData, AddItemsToCatalogCategoryResponse, AddItemsToCatalogCategoryError, GetVariantsForCatalogItemData, GetVariantsForCatalogItemResponse, GetVariantsForCatalogItemError, GetVariantIdsForCatalogItemData, GetVariantIdsForCatalogItemResponse, GetVariantIdsForCatalogItemError, GetCategoriesForCatalogItemData, GetCategoriesForCatalogItemResponse, GetCategoriesForCatalogItemError, RemoveCategoriesFromCatalogItemData, RemoveCategoriesFromCatalogItemResponse, RemoveCategoriesFromCatalogItemError, GetCategoryIdsForCatalogItemData, GetCategoryIdsForCatalogItemResponse, GetCategoryIdsForCatalogItemError, UpdateCategoriesForCatalogItemData, UpdateCategoriesForCatalogItemResponse, UpdateCategoriesForCatalogItemError, AddCategoriesToCatalogItemData, AddCategoriesToCatalogItemResponse, AddCategoriesToCatalogItemError, GetCouponsData, GetCouponsResponse, GetCouponsError, CreateCouponData, CreateCouponResponse, CreateCouponError, DeleteCouponData, DeleteCouponResponse, DeleteCouponError, GetCouponData, GetCouponResponse2, GetCouponError, UpdateCouponData, UpdateCouponResponse, UpdateCouponError, GetCouponCodesData, GetCouponCodesResponse, GetCouponCodesError, CreateCouponCodeData, CreateCouponCodeResponse, CreateCouponCodeError, DeleteCouponCodeData, DeleteCouponCodeResponse, DeleteCouponCodeError, GetCouponCodeData, GetCouponCodeResponse, GetCouponCodeError, UpdateCouponCodeData, UpdateCouponCodeResponse, UpdateCouponCodeError, GetBulkCreateCouponCodeJobsData, GetBulkCreateCouponCodeJobsResponse, GetBulkCreateCouponCodeJobsError, BulkCreateCouponCodesData, BulkCreateCouponCodesResponse, BulkCreateCouponCodesError, GetBulkCreateCouponCodesJobData, GetBulkCreateCouponCodesJobResponse, GetBulkCreateCouponCodesJobError, GetCouponForCouponCodeData, GetCouponForCouponCodeResponse, GetCouponForCouponCodeError, GetCouponIdForCouponCodeData, GetCouponIdForCouponCodeResponse, GetCouponIdForCouponCodeError, GetCouponCodesForCouponData, GetCouponCodesForCouponResponse, GetCouponCodesForCouponError, GetCouponCodeIdsForCouponData, GetCouponCodeIdsForCouponResponse, GetCouponCodeIdsForCouponError, RequestProfileDeletionData, RequestProfileDeletionError, GetEventsData, GetEventsResponse, GetEventsError, CreateEventData, CreateEventError, GetEventData, GetEventResponse, GetEventError, BulkCreateEventsData, BulkCreateEventsError, GetMetricForEventData, GetMetricForEventResponse, GetMetricForEventError, GetMetricIdForEventData, GetMetricIdForEventResponse, GetMetricIdForEventError, GetProfileForEventData, GetProfileForEventResponse, GetProfileForEventError, GetProfileIdForEventData, GetProfileIdForEventResponse, GetProfileIdForEventError, GetFlowsData, GetFlowsResponse, GetFlowsError, CreateFlowData, CreateFlowResponse, CreateFlowError, DeleteFlowData, DeleteFlowResponse, DeleteFlowError, GetFlowData, GetFlowResponse2, GetFlowError, UpdateFlowData, UpdateFlowResponse, UpdateFlowError, GetFlowActionData, GetFlowActionResponse2, GetFlowActionError, GetFlowMessageData, GetFlowMessageResponse, GetFlowMessageError, GetActionsForFlowData, GetActionsForFlowResponse, GetActionsForFlowError, GetActionIdsForFlowData, GetActionIdsForFlowResponse, GetActionIdsForFlowError, GetTagsForFlowData, GetTagsForFlowResponse, GetTagsForFlowError, GetTagIdsForFlowData, GetTagIdsForFlowResponse, GetTagIdsForFlowError, GetFlowForFlowActionData, GetFlowForFlowActionResponse, GetFlowForFlowActionError, GetFlowIdForFlowActionData, GetFlowIdForFlowActionResponse, GetFlowIdForFlowActionError, GetFlowActionMessagesData, GetFlowActionMessagesResponse, GetFlowActionMessagesError, GetMessageIdsForFlowActionData, GetMessageIdsForFlowActionResponse, GetMessageIdsForFlowActionError, GetActionForFlowMessageData, GetActionForFlowMessageResponse, GetActionForFlowMessageError, GetActionIdForFlowMessageData, GetActionIdForFlowMessageResponse, GetActionIdForFlowMessageError, GetTemplateForFlowMessageData, GetTemplateForFlowMessageResponse, GetTemplateForFlowMessageError, GetTemplateIdForFlowMessageData, GetTemplateIdForFlowMessageResponse, GetTemplateIdForFlowMessageError, GetFormsData, GetFormsResponse, GetFormsError, DeleteFormData, DeleteFormResponse, DeleteFormError, GetFormData, GetFormResponse2, GetFormError, GetFormVersionData, GetFormVersionResponse2, GetFormVersionError, GetVersionsForFormData, GetVersionsForFormResponse, GetVersionsForFormError, GetVersionIdsForFormData, GetVersionIdsForFormResponse, GetVersionIdsForFormError, GetFormForFormVersionData, GetFormForFormVersionResponse, GetFormForFormVersionError, GetFormIdForFormVersionData, GetFormIdForFormVersionResponse, GetFormIdForFormVersionError, GetImagesData, GetImagesResponse, GetImagesError, UploadImageFromUrlData, UploadImageFromUrlResponse, UploadImageFromUrlError, GetImageData, GetImageResponse2, GetImageError, UpdateImageData, UpdateImageResponse, UpdateImageError, UploadImageFromFileData, UploadImageFromFileResponse, UploadImageFromFileError, GetListsData, GetListsResponse, GetListsError, CreateListData, CreateListResponse, CreateListError, DeleteListData, DeleteListResponse, DeleteListError, GetListData, GetListResponse, GetListError, UpdateListData, UpdateListResponse, UpdateListError, GetTagsForListData, GetTagsForListResponse, GetTagsForListError, GetTagIdsForListData, GetTagIdsForListResponse, GetTagIdsForListError, GetProfilesForListData, GetProfilesForListResponse, GetProfilesForListError, RemoveProfilesFromListData, RemoveProfilesFromListResponse, RemoveProfilesFromListError, GetProfileIdsForListData, GetProfileIdsForListResponse, GetProfileIdsForListError, AddProfilesToListData, AddProfilesToListResponse, AddProfilesToListError, GetFlowsTriggeredByListData, GetFlowsTriggeredByListResponse, GetFlowsTriggeredByListError, GetIdsForFlowsTriggeredByListData, GetIdsForFlowsTriggeredByListResponse, GetIdsForFlowsTriggeredByListError, GetMetricsData, GetMetricsResponse, GetMetricsError, GetMetricData, GetMetricResponse2, GetMetricError, GetMetricPropertyData, GetMetricPropertyResponse, GetMetricPropertyError, GetCustomMetricsData, GetCustomMetricsResponse, GetCustomMetricsError, CreateCustomMetricData, CreateCustomMetricResponse, CreateCustomMetricError, DeleteCustomMetricData, DeleteCustomMetricResponse, DeleteCustomMetricError, GetCustomMetricData, GetCustomMetricResponse, GetCustomMetricError, UpdateCustomMetricData, UpdateCustomMetricResponse, UpdateCustomMetricError, QueryMetricAggregatesData, QueryMetricAggregatesResponse, QueryMetricAggregatesError, GetFlowsTriggeredByMetricData, GetFlowsTriggeredByMetricResponse, GetFlowsTriggeredByMetricError, GetIdsForFlowsTriggeredByMetricData, GetIdsForFlowsTriggeredByMetricResponse, GetIdsForFlowsTriggeredByMetricError, GetPropertiesForMetricData, GetPropertiesForMetricResponse, GetPropertiesForMetricError, GetPropertyIdsForMetricData, GetPropertyIdsForMetricResponse, GetPropertyIdsForMetricError, GetMetricForMetricPropertyData, GetMetricForMetricPropertyResponse, GetMetricForMetricPropertyError, GetMetricIdForMetricPropertyData, GetMetricIdForMetricPropertyResponse, GetMetricIdForMetricPropertyError, GetMetricsForCustomMetricData, GetMetricsForCustomMetricResponse, GetMetricsForCustomMetricError, GetMetricIdsForCustomMetricData, GetMetricIdsForCustomMetricResponse, GetMetricIdsForCustomMetricError, GetProfilesData, GetProfilesResponse, GetProfilesError, CreateProfileData, CreateProfileResponse, CreateProfileError, GetProfileData, GetProfileResponse2, GetProfileError, UpdateProfileData, UpdateProfileResponse, UpdateProfileError, GetBulkImportProfilesJobsData, GetBulkImportProfilesJobsResponse, GetBulkImportProfilesJobsError, BulkImportProfilesData, BulkImportProfilesResponse, BulkImportProfilesError, GetBulkImportProfilesJobData, GetBulkImportProfilesJobResponse, GetBulkImportProfilesJobError, GetBulkSuppressProfilesJobsData, GetBulkSuppressProfilesJobsResponse, GetBulkSuppressProfilesJobsError, BulkSuppressProfilesData, BulkSuppressProfilesResponse, BulkSuppressProfilesError, GetBulkSuppressProfilesJobData, GetBulkSuppressProfilesJobResponse, GetBulkSuppressProfilesJobError, GetBulkUnsuppressProfilesJobsData, GetBulkUnsuppressProfilesJobsResponse, GetBulkUnsuppressProfilesJobsError, BulkUnsuppressProfilesData, BulkUnsuppressProfilesResponse, BulkUnsuppressProfilesError, GetBulkUnsuppressProfilesJobData, GetBulkUnsuppressProfilesJobResponse, GetBulkUnsuppressProfilesJobError, GetPushTokensData, GetPushTokensResponse, GetPushTokensError, CreatePushTokenData, CreatePushTokenError, DeletePushTokenData, DeletePushTokenResponse, DeletePushTokenError, GetPushTokenData, GetPushTokenResponse, GetPushTokenError, CreateOrUpdateProfileData, CreateOrUpdateProfileResponse, CreateOrUpdateProfileError, MergeProfilesData, MergeProfilesResponse, MergeProfilesError, BulkSubscribeProfilesData, BulkSubscribeProfilesError, BulkUnsubscribeProfilesData, BulkUnsubscribeProfilesError, GetPushTokensForProfileData, GetPushTokensForProfileResponse, GetPushTokensForProfileError, GetPushTokenIdsForProfileData, GetPushTokenIdsForProfileResponse, GetPushTokenIdsForProfileError, GetListsForProfileData, GetListsForProfileResponse, GetListsForProfileError, GetListIdsForProfileData, GetListIdsForProfileResponse, GetListIdsForProfileError, GetSegmentsForProfileData, GetSegmentsForProfileResponse, GetSegmentsForProfileError, GetSegmentIdsForProfileData, GetSegmentIdsForProfileResponse, GetSegmentIdsForProfileError, GetListForBulkImportProfilesJobData, GetListForBulkImportProfilesJobResponse, GetListForBulkImportProfilesJobError, GetListIdsForBulkImportProfilesJobData, GetListIdsForBulkImportProfilesJobResponse, GetListIdsForBulkImportProfilesJobError, GetProfilesForBulkImportProfilesJobData, GetProfilesForBulkImportProfilesJobResponse, GetProfilesForBulkImportProfilesJobError, GetProfileIdsForBulkImportProfilesJobData, GetProfileIdsForBulkImportProfilesJobResponse, GetProfileIdsForBulkImportProfilesJobError, GetErrorsForBulkImportProfilesJobData, GetErrorsForBulkImportProfilesJobResponse, GetErrorsForBulkImportProfilesJobError, GetProfileForPushTokenData, GetProfileForPushTokenResponse, GetProfileForPushTokenError, GetProfileIdForPushTokenData, GetProfileIdForPushTokenResponse, GetProfileIdForPushTokenError, QueryCampaignValuesData, QueryCampaignValuesResponse, QueryCampaignValuesError, QueryFlowValuesData, QueryFlowValuesResponse, QueryFlowValuesError, QueryFlowSeriesData, QueryFlowSeriesResponse, QueryFlowSeriesError, QueryFormValuesData, QueryFormValuesResponse, QueryFormValuesError, QueryFormSeriesData, QueryFormSeriesResponse, QueryFormSeriesError, QuerySegmentValuesData, QuerySegmentValuesResponse, QuerySegmentValuesError, QuerySegmentSeriesData, QuerySegmentSeriesResponse, QuerySegmentSeriesError, GetReviewsData, GetReviewsResponse, GetReviewsError, GetReviewData, GetReviewResponse, GetReviewError, UpdateReviewData, UpdateReviewResponse, UpdateReviewError, GetSegmentsData, GetSegmentsResponse, GetSegmentsError, CreateSegmentData, CreateSegmentResponse, CreateSegmentError, DeleteSegmentData, DeleteSegmentResponse, DeleteSegmentError, GetSegmentData, GetSegmentResponse, GetSegmentError, UpdateSegmentData, UpdateSegmentResponse, UpdateSegmentError, GetTagsForSegmentData, GetTagsForSegmentResponse, GetTagsForSegmentError, GetTagIdsForSegmentData, GetTagIdsForSegmentResponse, GetTagIdsForSegmentError, GetProfilesForSegmentData, GetProfilesForSegmentResponse, GetProfilesForSegmentError, GetProfileIdsForSegmentData, GetProfileIdsForSegmentResponse, GetProfileIdsForSegmentError, GetFlowsTriggeredBySegmentData, GetFlowsTriggeredBySegmentResponse, GetFlowsTriggeredBySegmentError, GetIdsForFlowsTriggeredBySegmentData, GetIdsForFlowsTriggeredBySegmentResponse, GetIdsForFlowsTriggeredBySegmentError, GetTagsData, GetTagsResponse, GetTagsError, CreateTagData, CreateTagResponse, CreateTagError, DeleteTagData, DeleteTagResponse, DeleteTagError, GetTagData, GetTagResponse, GetTagError, UpdateTagData, UpdateTagResponse, UpdateTagError, GetTagGroupsData, GetTagGroupsResponse, GetTagGroupsError, CreateTagGroupData, CreateTagGroupResponse, CreateTagGroupError, DeleteTagGroupData, DeleteTagGroupResponse2, DeleteTagGroupError, GetTagGroupData, GetTagGroupResponse2, GetTagGroupError, UpdateTagGroupData, UpdateTagGroupResponse, UpdateTagGroupError, RemoveTagFromFlowsData, RemoveTagFromFlowsResponse, RemoveTagFromFlowsError, GetFlowIdsForTagData, GetFlowIdsForTagResponse, GetFlowIdsForTagError, TagFlowsData, TagFlowsResponse, TagFlowsError, RemoveTagFromCampaignsData, RemoveTagFromCampaignsResponse, RemoveTagFromCampaignsError, GetCampaignIdsForTagData, GetCampaignIdsForTagResponse, GetCampaignIdsForTagError, TagCampaignsData, TagCampaignsResponse, TagCampaignsError, RemoveTagFromListsData, RemoveTagFromListsResponse, RemoveTagFromListsError, GetListIdsForTagData, GetListIdsForTagResponse, GetListIdsForTagError, TagListsData, TagListsResponse, TagListsError, RemoveTagFromSegmentsData, RemoveTagFromSegmentsResponse, RemoveTagFromSegmentsError, GetSegmentIdsForTagData, GetSegmentIdsForTagResponse, GetSegmentIdsForTagError, TagSegmentsData, TagSegmentsResponse, TagSegmentsError, GetTagGroupForTagData, GetTagGroupForTagResponse, GetTagGroupForTagError, GetTagGroupIdForTagData, GetTagGroupIdForTagResponse, GetTagGroupIdForTagError, GetTagsForTagGroupData, GetTagsForTagGroupResponse, GetTagsForTagGroupError, GetTagIdsForTagGroupData, GetTagIdsForTagGroupResponse, GetTagIdsForTagGroupError, GetTemplatesData, GetTemplatesResponse, GetTemplatesError, CreateTemplateData, CreateTemplateResponse, CreateTemplateError, DeleteTemplateData, DeleteTemplateResponse, DeleteTemplateError, GetTemplateData, GetTemplateResponse2, GetTemplateError, UpdateTemplateData, UpdateTemplateResponse, UpdateTemplateError, GetAllUniversalContentData, GetAllUniversalContentResponse, GetAllUniversalContentError, CreateUniversalContentData, CreateUniversalContentResponse, CreateUniversalContentError, DeleteUniversalContentData, DeleteUniversalContentResponse, DeleteUniversalContentError, GetUniversalContentData, GetUniversalContentResponse2, GetUniversalContentError, UpdateUniversalContentData, UpdateUniversalContentResponse, UpdateUniversalContentError, RenderTemplateData, RenderTemplateResponse, RenderTemplateError, CloneTemplateData, CloneTemplateResponse, CloneTemplateError, GetTrackingSettingsData, GetTrackingSettingsResponse, GetTrackingSettingsError, GetTrackingSettingData, GetTrackingSettingResponse2, GetTrackingSettingError, UpdateTrackingSettingData, UpdateTrackingSettingResponse, UpdateTrackingSettingError, GetWebFeedsData, GetWebFeedsResponse, GetWebFeedsError, CreateWebFeedData, CreateWebFeedResponse, CreateWebFeedError, DeleteWebFeedData, DeleteWebFeedResponse, DeleteWebFeedError, GetWebFeedData, GetWebFeedResponse2, GetWebFeedError, UpdateWebFeedData, UpdateWebFeedResponse, UpdateWebFeedError, GetWebhooksData, GetWebhooksResponse, GetWebhooksError, CreateWebhookData, CreateWebhookResponse, CreateWebhookError, DeleteWebhookData, DeleteWebhookResponse, DeleteWebhookError, GetWebhookData, GetWebhookResponse, GetWebhookError, UpdateWebhookData, UpdateWebhookResponse, UpdateWebhookError, GetWebhookTopicsData, GetWebhookTopicsResponse, GetWebhookTopicsError, GetWebhookTopicData, GetWebhookTopicResponse2, GetWebhookTopicError, GetClientReviewValuesReportsData, GetClientReviewValuesReportsResponse, GetClientReviewValuesReportsError, GetClientReviewsData, GetClientReviewsResponse, GetClientReviewsError, CreateClientReviewData, CreateClientReviewError, CreateClientSubscriptionData, CreateClientSubscriptionError, CreateClientPushTokenData, CreateClientPushTokenError, UnregisterClientPushTokenData, UnregisterClientPushTokenError, CreateClientEventData, CreateClientEventError, CreateClientProfileData, CreateClientProfileError, BulkCreateClientEventsData, BulkCreateClientEventsError, CreateClientBackInStockSubscriptionData, CreateClientBackInStockSubscriptionError } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Get Accounts\n * Retrieve the account(s) associated with a given private API key. This will return 1 account object within the array.\n *\n * You can use this to retrieve account-specific data (contact information, timezone, currency, Public API key, etc.) or test if a Private API Key belongs to the correct account prior to performing subsequent actions with the API.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `accounts:read`\n */\nexport const getAccounts = <ThrowOnError extends boolean = false>(options: Options<GetAccountsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAccountsResponse, GetAccountsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/accounts',\n ...options\n });\n};\n\n/**\n * Get Account\n * Retrieve a single account object by its account ID. You can only request the account by which the private API key was generated.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `accounts:read`\n */\nexport const getAccount = <ThrowOnError extends boolean = false>(options: Options<GetAccountData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAccountResponse2, GetAccountError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/accounts/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaigns\n * Returns some or all campaigns based on filters.\n *\n * A channel filter is required to list campaigns. Please provide either:\n * `?filter=equals(messages.channel,'email')` to list email campaigns, or\n * `?filter=equals(messages.channel,'sms')` to list SMS campaigns.\n * `?filter=equals(messages.channel,'mobile_push')` to list mobile push campaigns.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaigns = <ThrowOnError extends boolean = false>(options: Options<GetCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignsResponse, GetCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns',\n ...options\n });\n};\n\n/**\n * Create Campaign\n * Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const createCampaign = <ThrowOnError extends boolean = false>(options: Options<CreateCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCampaignResponse, CreateCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Campaign\n * Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const deleteCampaign = <ThrowOnError extends boolean = false>(options: Options<DeleteCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCampaignResponse, DeleteCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaign\n * Returns a specific campaign based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaign = <ThrowOnError extends boolean = false>(options: Options<GetCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignResponse2, GetCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}',\n ...options\n });\n};\n\n/**\n * Update Campaign\n * Update a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const updateCampaign = <ThrowOnError extends boolean = false>(options: Options<UpdateCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCampaignResponse, UpdateCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Message\n * Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignMessageResponse, GetCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}',\n ...options\n });\n};\n\n/**\n * Update Campaign Message\n * Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const updateCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<UpdateCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCampaignMessageResponse, UpdateCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Send Job\n * Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignSendJob = <ThrowOnError extends boolean = false>(options: Options<GetCampaignSendJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignSendJobResponse2, GetCampaignSendJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-send-jobs/{id}',\n ...options\n });\n};\n\n/**\n * Cancel Campaign Send\n * Permanently cancel the campaign, setting the status to CANCELED or\n * revert the campaign, setting the status back to DRAFT<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const cancelCampaignSend = <ThrowOnError extends boolean = false>(options: Options<CancelCampaignSendData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CancelCampaignSendResponse, CancelCampaignSendError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-send-jobs/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Recipient Estimation Job\n * Retrieve the status of a recipient estimation job triggered\n * with the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignRecipientEstimationJob = <ThrowOnError extends boolean = false>(options: Options<GetCampaignRecipientEstimationJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignRecipientEstimationJobResponse2, GetCampaignRecipientEstimationJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-recipient-estimation-jobs/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaign Recipient Estimation\n * Get the estimated recipient count for a campaign with the provided campaign ID.\n * You can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignRecipientEstimation = <ThrowOnError extends boolean = false>(options: Options<GetCampaignRecipientEstimationData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignRecipientEstimationResponse2, GetCampaignRecipientEstimationError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-recipient-estimations/{id}',\n ...options\n });\n};\n\n/**\n * Create Campaign Clone\n * Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const createCampaignClone = <ThrowOnError extends boolean = false>(options: Options<CreateCampaignCloneData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCampaignCloneResponse, CreateCampaignCloneError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-clone',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Assign Template to Campaign Message\n * Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const assignTemplateToCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<AssignTemplateToCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssignTemplateToCampaignMessageResponse, AssignTemplateToCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-message-assign-template',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Send Campaign\n * Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const sendCampaign = <ThrowOnError extends boolean = false>(options: Options<SendCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SendCampaignResponse, SendCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-send-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Refresh Campaign Recipient Estimation\n * Trigger an asynchronous job to update the estimated number of recipients\n * for the given campaign ID. Use the `Get Campaign Recipient Estimation\n * Job` endpoint to retrieve the status of this estimation job. Use the\n * `Get Campaign Recipient Estimation` endpoint to retrieve the estimated\n * recipient count for a given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const refreshCampaignRecipientEstimation = <ThrowOnError extends boolean = false>(options: Options<RefreshCampaignRecipientEstimationData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<RefreshCampaignRecipientEstimationResponse, RefreshCampaignRecipientEstimationError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-recipient-estimation-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign for Campaign Message\n * Return the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignForCampaignMessageResponse, GetCampaignForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/campaign',\n ...options\n });\n};\n\n/**\n * Get Campaign ID for Campaign Message\n * Returns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignIdForCampaignMessageResponse, GetCampaignIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/campaign',\n ...options\n });\n};\n\n/**\n * Get Template for Campaign Message\n * Return the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `templates:read`\n */\nexport const getTemplateForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateForCampaignMessageResponse, GetTemplateForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/template',\n ...options\n });\n};\n\n/**\n * Get Template ID for Campaign Message\n * Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `templates:read`\n */\nexport const getTemplateIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateIdForCampaignMessageResponse, GetTemplateIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/template',\n ...options\n });\n};\n\n/**\n * Get Image for Campaign Message\n * Return the related image for a given campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `images:read`\n */\nexport const getImageForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetImageForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageForCampaignMessageResponse, GetImageForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/image',\n ...options\n });\n};\n\n/**\n * Get Image ID for Campaign Message\n * Returns the ID of the related image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `images:read`\n */\nexport const getImageIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetImageIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageIdForCampaignMessageResponse, GetImageIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/image',\n ...options\n });\n};\n\n/**\n * Update Image for Campaign Message\n * Update a campaign message image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `images:read`\n */\nexport const updateImageForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<UpdateImageForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateImageForCampaignMessageResponse, UpdateImageForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/image',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for Campaign\n * Return all tags that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getTagsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetTagsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForCampaignResponse, GetTagsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Campaign\n * Returns the IDs of all tags associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getTagIdsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForCampaignResponse, GetTagIdsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Messages for Campaign\n * Return all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getMessagesForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetMessagesForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessagesForCampaignResponse, GetMessagesForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}/campaign-messages',\n ...options\n });\n};\n\n/**\n * Get Message IDs for Campaign\n * Returns the IDs of all messages associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getMessageIdsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetMessageIdsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessageIdsForCampaignResponse, GetMessageIdsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}/relationships/campaign-messages',\n ...options\n });\n};\n\n/**\n * Get Catalog Items\n * Get all catalog items in an account.\n *\n * Catalog items can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogItems = <ThrowOnError extends boolean = false>(options: Options<GetCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogItemsResponse, GetCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items',\n ...options\n });\n};\n\n/**\n * Create Catalog Item\n * Create a new catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogItem = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogItemResponse, CreateCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Item\n * Delete a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogItem = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogItemResponse, DeleteCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Item\n * Get a specific catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogItemResponse, GetCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Item\n * Update a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogItem = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogItemResponse, UpdateCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Catalog Variants\n * Get all variants in an account.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<GetCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogVariantsResponse, GetCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variants',\n ...options\n });\n};\n\n/**\n * Create Catalog Variant\n * Create a new variant for a related catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogVariantResponse, CreateCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Variant\n * Delete a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogVariantResponse, DeleteCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Variant\n * Get a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<GetCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogVariantResponse2, GetCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variants/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Variant\n * Update a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogVariantResponse, UpdateCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Catalog Categories\n * Get all catalog categories in an account.\n *\n * Catalog categories can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<GetCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogCategoriesResponse, GetCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories',\n ...options\n });\n};\n\n/**\n * Create Catalog Category\n * Create a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogCategoryResponse, CreateCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Category\n * Delete a catalog category using the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogCategoryResponse, DeleteCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Category\n * Get a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogCategoryResponse2, GetCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Category\n * Update a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogCategoryResponse, UpdateCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Catalog Items Jobs\n * Get all catalog item bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCatalogItemsJobsResponse, GetBulkCreateCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Items\n * Create a catalog item bulk create job to create a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogItemsResponse, BulkCreateCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Catalog Items Job\n * Get a catalog item bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `items`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCatalogItemsJobResponse, GetBulkCreateCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Catalog Items Jobs\n * Get all catalog item bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCatalogItemsJobsResponse, GetBulkUpdateCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Items\n * Create a catalog item bulk update job to update a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogItemsResponse, BulkUpdateCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Catalog Items Job\n * Get a catalog item bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `items`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCatalogItemsJobResponse, GetBulkUpdateCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Catalog Items Jobs\n * Get all catalog item bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCatalogItemsJobsResponse, GetBulkDeleteCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Items\n * Create a catalog item bulk delete job to delete a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogItemsResponse, BulkDeleteCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Catalog Items Job\n * Get a catalog item bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCatalogItemsJobResponse, GetBulkDeleteCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Create Variants Jobs\n * Get all catalog variant bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateVariantsJobsResponse, GetBulkCreateVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Variants\n * Create a catalog variant bulk create job to create a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogVariantsResponse, BulkCreateCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Variants Job\n * Get a catalog variant bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateVariantsJobResponse, GetBulkCreateVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Variants Jobs\n * Get all catalog variant bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateVariantsJobsResponse, GetBulkUpdateVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Variants\n * Create a catalog variant bulk update job to update a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogVariantsResponse, BulkUpdateCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Variants Job\n * Get a catalog variate bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateVariantsJobResponse, GetBulkUpdateVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Variants Jobs\n * Get all catalog variant bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteVariantsJobsResponse, GetBulkDeleteVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Variants\n * Create a catalog variant bulk delete job to delete a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogVariantsResponse, BulkDeleteCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Variants Job\n * Get a catalog variant bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteVariantsJobResponse, GetBulkDeleteVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Create Categories Jobs\n * Get all catalog category bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCategoriesJobsResponse, GetBulkCreateCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Categories\n * Create a catalog category bulk create job to create a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogCategoriesResponse, BulkCreateCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Categories Job\n * Get a catalog category bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCategoriesJobResponse, GetBulkCreateCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Categories Jobs\n * Get all catalog category bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCategoriesJobsResponse, GetBulkUpdateCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Categories\n * Create a catalog category bulk update job to update a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogCategoriesResponse, BulkUpdateCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Categories Job\n * Get a catalog category bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCategoriesJobResponse, GetBulkUpdateCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Categories Jobs\n * Get all catalog category bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCategoriesJobsResponse, GetBulkDeleteCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Categories\n * Create a catalog category bulk delete job to delete a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogCategoriesResponse, BulkDeleteCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Categories Job\n * Get a catalog category bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCategoriesJobResponse, GetBulkDeleteCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Create Back In Stock Subscription\n * Subscribe a profile to receive back in stock notifications. Check out [our Back in Stock API guide](https://developers.klaviyo.com/en/docs/how_to_set_up_custom_back_in_stock) for more details.\n *\n * This endpoint is specifically designed to be called from server-side applications. To create subscriptions from client-side contexts, use [POST /client/back-in-stock-subscriptions](https://developers.klaviyo.com/en/reference/create_client_back_in_stock_subscription).<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:write`\n * `profiles:write`\n */\nexport const createBackInStockSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateBackInStockSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateBackInStockSubscriptionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/back-in-stock-subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Items for Catalog Category\n * Get all items in a category with the given category ID.\n *\n * Items can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getItemsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetItemsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetItemsForCatalogCategoryResponse, GetItemsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories/{id}/items',\n ...options\n });\n};\n\n/**\n * Remove Items from Catalog Category\n * Delete item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const removeItemsFromCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<RemoveItemsFromCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveItemsFromCatalogCategoryResponse, RemoveItemsFromCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Item IDs for Catalog Category\n * Get all items in the given category ID. Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getItemIdsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetItemIdsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetItemIdsForCatalogCategoryResponse, GetItemIdsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options\n });\n};\n\n/**\n * Update Items for Catalog Category\n * Update item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateItemsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<UpdateItemsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateItemsForCatalogCategoryResponse, UpdateItemsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Add Items to Catalog Category\n * Create a new item relationship for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const addItemsToCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<AddItemsToCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddItemsToCatalogCategoryResponse, AddItemsToCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Variants for Catalog Item\n * Get all variants related to the given item ID.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getVariantsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetVariantsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVariantsForCatalogItemResponse, GetVariantsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}/variants',\n ...options\n });\n};\n\n/**\n * Get Variant IDs for Catalog Item\n * Get all variants related to the given item ID.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getVariantIdsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetVariantIdsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVariantIdsForCatalogItemResponse, GetVariantIdsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/variants',\n ...options\n });\n};\n\n/**\n * Get Categories for Catalog Item\n * Get all catalog categories that an item with the given item ID is in.\n *\n * Catalog categories can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCategoriesForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCategoriesForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCategoriesForCatalogItemResponse, GetCategoriesForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}/categories',\n ...options\n });\n};\n\n/**\n * Remove Categories from Catalog Item\n * Delete catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const removeCategoriesFromCatalogItem = <ThrowOnError extends boolean = false>(options: Options<RemoveCategoriesFromCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveCategoriesFromCatalogItemResponse, RemoveCategoriesFromCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Category IDs for Catalog Item\n * Get all catalog categories that a particular item is in. Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCategoryIdsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCategoryIdsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCategoryIdsForCatalogItemResponse, GetCategoryIdsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options\n });\n};\n\n/**\n * Update Categories for Catalog Item\n * Update catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCategoriesForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<UpdateCategoriesForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCategoriesForCatalogItemResponse, UpdateCategoriesForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Add Categories to Catalog Item\n * Create a new catalog category relationship for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const addCategoriesToCatalogItem = <ThrowOnError extends boolean = false>(options: Options<AddCategoriesToCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddCategoriesToCatalogItemResponse, AddCategoriesToCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Coupons\n * Get all coupons in an account.\n *\n * To learn more, see our [Coupons API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_coupons_api).<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCoupons = <ThrowOnError extends boolean = false>(options: Options<GetCouponsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponsResponse, GetCouponsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons',\n ...options\n });\n};\n\n/**\n * Create Coupon\n * Creates a new coupon.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const createCoupon = <ThrowOnError extends boolean = false>(options: Options<CreateCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCouponResponse, CreateCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Coupon\n * Delete the coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const deleteCoupon = <ThrowOnError extends boolean = false>(options: Options<DeleteCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCouponResponse, DeleteCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}',\n ...options\n });\n};\n\n/**\n * Get Coupon\n * Get a specific coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponResponse2, GetCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons/{id}',\n ...options\n });\n};\n\n/**\n * Update Coupon\n * *Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const updateCoupon = <ThrowOnError extends boolean = false>(options: Options<UpdateCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCouponResponse, UpdateCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Coupon Codes\n * Gets a list of coupon codes associated with a coupon/coupons or a profile/profiles.\n *\n * A coupon/coupons or a profile/profiles must be provided as required filter params.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodes = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodesResponse, GetCouponCodesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes',\n ...options\n });\n};\n\n/**\n * Create Coupon Code\n * Synchronously creates a coupon code for the given coupon.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const createCouponCode = <ThrowOnError extends boolean = false>(options: Options<CreateCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCouponCodeResponse, CreateCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Coupon Code\n * Deletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the\n * coupon code, an exception will be raised<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const deleteCouponCode = <ThrowOnError extends boolean = false>(options: Options<DeleteCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCouponCodeResponse, DeleteCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}',\n ...options\n });\n};\n\n/**\n * Get Coupon Code\n * Returns a Coupon Code specified by the given identifier.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodeResponse, GetCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes/{id}',\n ...options\n });\n};\n\n/**\n * Update Coupon Code\n * Updates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and\n * 'expires_at' of coupon codes.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const updateCouponCode = <ThrowOnError extends boolean = false>(options: Options<UpdateCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCouponCodeResponse, UpdateCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Coupon Code Jobs\n * Get all coupon code bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getBulkCreateCouponCodeJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCouponCodeJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCouponCodeJobsResponse, GetBulkCreateCouponCodeJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-code-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Coupon Codes\n * Create a coupon-code-bulk-create-job to bulk create a list of coupon codes.\n *\n * Max number of coupon codes per job we allow for is 1000.\n * Max number of jobs queued at once we allow for is 100.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const bulkCreateCouponCodes = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCouponCodesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCouponCodesResponse, BulkCreateCouponCodesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-code-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Coupon Codes Job\n * Get a coupon code bulk create job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getBulkCreateCouponCodesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCouponCodesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCouponCodesJobResponse, GetBulkCreateCouponCodesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-code-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Coupon For Coupon Code\n * Get the coupon associated with a given coupon code ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCouponForCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponForCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponForCouponCodeResponse, GetCouponForCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes/{id}/coupon',\n ...options\n });\n};\n\n/**\n * Get Coupon ID for Coupon Code\n * Gets the coupon relationship associated with the given coupon code id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCouponIdForCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponIdForCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponIdForCouponCodeResponse, GetCouponIdForCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}/relationships/coupon',\n ...options\n });\n};\n\n/**\n * Get Coupon Codes for Coupon\n * Gets a list of coupon codes associated with the given coupon id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodesForCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodesForCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodesForCouponResponse, GetCouponCodesForCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons/{id}/coupon-codes',\n ...options\n });\n};\n\n/**\n * Get Coupon Code IDs for Coupon\n * Gets a list of coupon code relationships associated with the given coupon id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodeIdsForCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodeIdsForCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodeIdsForCouponResponse, GetCouponCodeIdsForCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}/relationships/coupon-codes',\n ...options\n });\n};\n\n/**\n * Request Profile Deletion\n * Request a deletion for the profiles corresponding to one of the following identifiers: `email`, `phone_number`, or `id`. If multiple identifiers are provided, we will return an error.\n *\n * All profiles that match the provided identifier will be deleted.\n *\n * The deletion occurs asynchronously; however, once it has completed, the deleted profile will appear on the [Deleted Profiles page](https://www.klaviyo.com/account/deleted).\n *\n * For more information on the deletion process, please refer to our [Help Center docs on how to handle GDPR and CCPA deletion requests](https://help.klaviyo.com/hc/en-us/articles/360004217631-How-to-Handle-GDPR-Requests#record-gdpr-and-ccpa%20%20-deletion-requests2).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `data-privacy:write`\n */\nexport const requestProfileDeletion = <ThrowOnError extends boolean = false>(options: Options<RequestProfileDeletionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, RequestProfileDeletionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/data-privacy-deletion-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Events\n * Get all events in an account\n *\n * Requests can be sorted by the following fields:\n * `datetime`, `timestamp`\n *\n * [Custom metrics](https://developers.klaviyo.com/en/reference/custom_metrics_api_overview) are not supported in the `metric_id` filter.\n *\n * Returns a maximum of 200 events per page.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n */\nexport const getEvents = <ThrowOnError extends boolean = false>(options: Options<GetEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetEventsResponse, GetEventsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events',\n ...options\n });\n};\n\n/**\n * Create Event\n * Create a new event to track a profile's activity.\n *\n * Note that this endpoint allows you to create a new profile or update an existing profile's properties.\n *\n * At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.\n *\n * Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const createEvent = <ThrowOnError extends boolean = false>(options: Options<CreateEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Event\n * Get an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:read`\n */\nexport const getEvent = <ThrowOnError extends boolean = false>(options: Options<GetEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetEventResponse, GetEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}',\n ...options\n });\n};\n\n/**\n * Bulk Create Events\n * Create a batch of events for one or more profiles.\n *\n * Note that this endpoint allows you to create new profiles or update existing profile properties.\n *\n * At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.\n *\n * Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB. A single string cannot exceed 100KB.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const bulkCreateEvents = <ThrowOnError extends boolean = false>(options: Options<BulkCreateEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkCreateEventsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/event-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Metric for Event\n * Get the metric for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `metrics:read`\n */\nexport const getMetricForEvent = <ThrowOnError extends boolean = false>(options: Options<GetMetricForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricForEventResponse, GetMetricForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}/metric',\n ...options\n });\n};\n\n/**\n * Get Metric ID for Event\n * Get a list of related Metrics for an Event<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `metrics:read`\n */\nexport const getMetricIdForEvent = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdForEventResponse, GetMetricIdForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events/{id}/relationships/metric',\n ...options\n });\n};\n\n/**\n * Get Profile for Event\n * Get the profile associated with an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `profiles:read`\n */\nexport const getProfileForEvent = <ThrowOnError extends boolean = false>(options: Options<GetProfileForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileForEventResponse, GetProfileForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}/profile',\n ...options\n });\n};\n\n/**\n * Get Profile ID for Event\n * Get profile [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `profiles:read`\n */\nexport const getProfileIdForEvent = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdForEventResponse, GetProfileIdForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events/{id}/relationships/profile',\n ...options\n });\n};\n\n/**\n * Get Flows\n * Get all flows in an account.\n *\n * Returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlows = <ThrowOnError extends boolean = false>(options: Options<GetFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsResponse, GetFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows',\n ...options\n });\n};\n\n/**\n * Create Flow\n * Create a new flow using an encoded flow definition.\n *\n * New objects within the flow definition, such as actions, will need to use a\n * `temporary_id` field for identification. These will be replaced with traditional `id` fields\n * after successful creation.\n *\n * A successful request will return the new definition to you.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const createFlow = <ThrowOnError extends boolean = false>(options: Options<CreateFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateFlowResponse, CreateFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Flow\n * Delete a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const deleteFlow = <ThrowOnError extends boolean = false>(options: Options<DeleteFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteFlowResponse, DeleteFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}',\n ...options\n });\n};\n\n/**\n * Get Flow\n * Get a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlow = <ThrowOnError extends boolean = false>(options: Options<GetFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowResponse2, GetFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}',\n ...options\n });\n};\n\n/**\n * Update Flow Status\n * Update the status of a flow with the given flow ID, and all actions in that flow.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const updateFlow = <ThrowOnError extends boolean = false>(options: Options<UpdateFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateFlowResponse, UpdateFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flow Action\n * Get a flow action from a flow with the given flow action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowActionResponse2, GetFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}',\n ...options\n });\n};\n\n/**\n * Get Flow Message\n * Get the flow message of a flow with the given message ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowMessageResponse, GetFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}',\n ...options\n });\n};\n\n/**\n * Get Actions for Flow\n * Get all flow actions associated with the given flow ID.\n *\n * Returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetActionsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionsForFlowResponse, GetActionsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}/flow-actions',\n ...options\n });\n};\n\n/**\n * Get Action IDs for Flow\n * Get all [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for flow actions associated with the given flow ID.\n *\n * Returns a maximum of 100 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionIdsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetActionIdsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionIdsForFlowResponse, GetActionIdsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}/relationships/flow-actions',\n ...options\n });\n};\n\n/**\n * Get Tags for Flow\n * Return all tags associated with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getTagsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetTagsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForFlowResponse, GetTagsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Flow\n * Return the tag IDs of all tags associated with the given flow.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getTagIdsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForFlowResponse, GetTagIdsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Flow for Flow Action\n * Get the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowForFlowActionResponse, GetFlowForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}/flow',\n ...options\n });\n};\n\n/**\n * Get Flow ID for Flow Action\n * Get the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowIdForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowIdForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowIdForFlowActionResponse, GetFlowIdForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-actions/{id}/relationships/flow',\n ...options\n });\n};\n\n/**\n * Get Messages For Flow Action\n * Get all flow messages associated with the given flow action ID.\n *\n * Returns a maximum of 50 flow message relationships per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowActionMessages = <ThrowOnError extends boolean = false>(options: Options<GetFlowActionMessagesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowActionMessagesResponse, GetFlowActionMessagesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}/flow-messages',\n ...options\n });\n};\n\n/**\n * Get Message IDs for Flow Action\n * Get all relationships for flow messages associated with the given flow action ID.\n *\n * Returns a maximum of 50 flow message relationships per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getMessageIdsForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetMessageIdsForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessageIdsForFlowActionResponse, GetMessageIdsForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-actions/{id}/relationships/flow-messages',\n ...options\n });\n};\n\n/**\n * Get Action for Flow Message\n * Get the flow action for a flow message with the given message ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetActionForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionForFlowMessageResponse, GetActionForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}/flow-action',\n ...options\n });\n};\n\n/**\n * Get Action ID for Flow Message\n * Get the [relationship](https://developers.klaviyo.com/en/reference/api_overview#relationships) for a flow message's flow action, given the flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionIdForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetActionIdForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionIdForFlowMessageResponse, GetActionIdForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-messages/{id}/relationships/flow-action',\n ...options\n });\n};\n\n/**\n * Get Template for Flow Message\n * Return the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplateForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateForFlowMessageResponse, GetTemplateForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}/template',\n ...options\n });\n};\n\n/**\n * Get Template ID for Flow Message\n * Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplateIdForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateIdForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateIdForFlowMessageResponse, GetTemplateIdForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-messages/{id}/relationships/template',\n ...options\n });\n};\n\n/**\n * Get Forms\n * Get all forms in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getForms = <ThrowOnError extends boolean = false>(options: Options<GetFormsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormsResponse, GetFormsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms',\n ...options\n });\n};\n\n/**\n * Delete Form\n * Delete a given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:write`\n */\nexport const deleteForm = <ThrowOnError extends boolean = false>(options: Options<DeleteFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteFormResponse, DeleteFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/forms/{id}',\n ...options\n });\n};\n\n/**\n * Get Form\n * Get the form with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getForm = <ThrowOnError extends boolean = false>(options: Options<GetFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormResponse2, GetFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms/{id}',\n ...options\n });\n};\n\n/**\n * Get Form Version\n * Get the form version with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormVersionResponse2, GetFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/form-versions/{id}',\n ...options\n });\n};\n\n/**\n * Get Versions for Form\n * Get the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getVersionsForForm = <ThrowOnError extends boolean = false>(options: Options<GetVersionsForFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVersionsForFormResponse, GetVersionsForFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms/{id}/form-versions',\n ...options\n });\n};\n\n/**\n * Get Version IDs for Form\n * Get the IDs of the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getVersionIdsForForm = <ThrowOnError extends boolean = false>(options: Options<GetVersionIdsForFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVersionIdsForFormResponse, GetVersionIdsForFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/forms/{id}/relationships/form-versions',\n ...options\n });\n};\n\n/**\n * Get Form for Form Version\n * Get the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormForFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormForFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormForFormVersionResponse, GetFormForFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/form-versions/{id}/form',\n ...options\n });\n};\n\n/**\n * Get Form ID for Form Version\n * Get the ID of the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormIdForFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormIdForFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormIdForFormVersionResponse, GetFormIdForFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-versions/{id}/relationships/form',\n ...options\n });\n};\n\n/**\n * Get Images\n * Get all images in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:read`\n */\nexport const getImages = <ThrowOnError extends boolean = false>(options: Options<GetImagesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImagesResponse, GetImagesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/images',\n ...options\n });\n};\n\n/**\n * Upload Image From URL\n * Import an image from a url or data uri.\n *\n * If you want to upload an image from a file, use the Upload Image From File endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `100/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const uploadImageFromUrl = <ThrowOnError extends boolean = false>(options: Options<UploadImageFromUrlData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UploadImageFromUrlResponse, UploadImageFromUrlError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/images',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Image\n * Get the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:read`\n */\nexport const getImage = <ThrowOnError extends boolean = false>(options: Options<GetImageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageResponse2, GetImageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/images/{id}',\n ...options\n });\n};\n\n/**\n * Update Image\n * Update the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const updateImage = <ThrowOnError extends boolean = false>(options: Options<UpdateImageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateImageResponse, UpdateImageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/images/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Upload Image From File\n * Upload an image from a file.\n *\n * If you want to import an image from an existing url or a data uri, use the Upload Image From URL endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `100/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const uploadImageFromFile = <ThrowOnError extends boolean = false>(options: Options<UploadImageFromFileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UploadImageFromFileResponse, UploadImageFromFileError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/image-upload',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Lists\n * Get all lists in an account.\n *\n * Filter to request a subset of all lists. Lists can be filtered by `id`, `name`, `created`, and `updated` fields.\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getLists = <ThrowOnError extends boolean = false>(options: Options<GetListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListsResponse, GetListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists',\n ...options\n });\n};\n\n/**\n * Create List\n * Create a new list.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`<br>Daily: `150/d`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const createList = <ThrowOnError extends boolean = false>(options: Options<CreateListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateListResponse, CreateListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete List\n * Delete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const deleteList = <ThrowOnError extends boolean = false>(options: Options<DeleteListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteListResponse, DeleteListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}',\n ...options\n });\n};\n\n/**\n * Get List\n * Get a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[list]=profile_count` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getList = <ThrowOnError extends boolean = false>(options: Options<GetListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListResponse, GetListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}',\n ...options\n });\n};\n\n/**\n * Update List\n * Update the name of a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const updateList = <ThrowOnError extends boolean = false>(options: Options<UpdateListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateListResponse, UpdateListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for List\n * Return all tags associated with the given list ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getTagsForList = <ThrowOnError extends boolean = false>(options: Options<GetTagsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForListResponse, GetTagsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for List\n * Return all tags associated with the given list ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getTagIdsForList = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForListResponse, GetTagIdsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Profiles for List\n * Get all profiles within a list with the given list ID.\n *\n * Filter to request a subset of all profiles. Profiles can be filtered by `email`, `phone_number`, `push_token`, and `joined_group_at` fields. Profiles can be sorted by the following fields, in ascending and descending order: `joined_group_at`<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getProfilesForList = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForListResponse, GetProfilesForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Remove Profiles from List\n * Remove a profile from a list with the given list ID.\n *\n * The provided profile will no longer receive marketing from this particular list once removed.\n *\n * Removing a profile from a list will not impact the profile's [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) status or subscription status in general.\n * To update a profile's subscription status, please use the [Unsubscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/unsubscribe_profiles).\n *\n * This endpoint accepts a maximum of 1000 profiles per call.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const removeProfilesFromList = <ThrowOnError extends boolean = false>(options: Options<RemoveProfilesFromListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveProfilesFromListResponse, RemoveProfilesFromListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Profile IDs for List\n * Get profile membership [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getProfileIdsForList = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForListResponse, GetProfileIdsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Add Profiles to List\n * Add a profile to a list with the given list ID.\n *\n * It is recommended that you use the [Subscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/subscribe_profiles) if you're trying to give a profile [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) to receive email marketing, SMS marketing, or both.\n *\n * This endpoint accepts a maximum of 1000 profiles per call.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const addProfilesToList = <ThrowOnError extends boolean = false>(options: Options<AddProfilesToListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddProfilesToListResponse, AddProfilesToListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flows Triggered by List\n * Get all flows where the given list ID is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `lists:read`\n */\nexport const getFlowsTriggeredByList = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredByListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredByListResponse, GetFlowsTriggeredByListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by List\n * Get the IDs of all flows where the given list is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `lists:read`\n */\nexport const getIdsForFlowsTriggeredByList = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredByListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredByListResponse, GetIdsForFlowsTriggeredByListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Metrics\n * Get all metrics in an account.\n *\n * Requests can be filtered by the following fields:\n * integration `name`, integration `category`\n *\n * Returns a maximum of 200 results per page.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetrics = <ThrowOnError extends boolean = false>(options: Options<GetMetricsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricsResponse, GetMetricsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics',\n ...options\n });\n};\n\n/**\n * Get Metric\n * Get a metric with the given metric ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricResponse2, GetMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}',\n ...options\n });\n};\n\n/**\n * Get Metric Property\n * Get a metric property with the given metric property ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricPropertyResponse, GetMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metric-properties/{id}',\n ...options\n });\n};\n\n/**\n * Get Custom Metrics\n * Get all custom metrics in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetrics = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricsResponse, GetCustomMetricsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics',\n ...options\n });\n};\n\n/**\n * Create Custom Metric\n * Create a new custom metric.\n *\n * Custom metric objects must include a `name` and `definition`.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `15/d`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const createCustomMetric = <ThrowOnError extends boolean = false>(options: Options<CreateCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCustomMetricResponse, CreateCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Custom Metric\n * Delete a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const deleteCustomMetric = <ThrowOnError extends boolean = false>(options: Options<DeleteCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCustomMetricResponse, DeleteCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}',\n ...options\n });\n};\n\n/**\n * Get Custom Metric\n * Get a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricResponse, GetCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics/{id}',\n ...options\n });\n};\n\n/**\n * Update Custom Metric\n * Update a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `15/d`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const updateCustomMetric = <ThrowOnError extends boolean = false>(options: Options<UpdateCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCustomMetricResponse, UpdateCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Metric Aggregates\n * Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events (not to be confused with [custom metrics](https://developers.klaviyo.com/en/reference/custom_metrics_api_overview), which are not supported at this time). Queries must be passed in the JSON body of your `POST` request.\n *\n * To request campaign and flow performance data that matches the data shown in Klaviyo's UI, we recommend the [Reporting API](https://developers.klaviyo.com/en/reference/reporting_api_overview).\n *\n * Results can be filtered and grouped by time, event, or profile dimensions.\n *\n * To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint).\n *\n * For a comprehensive list of request body parameters, native Klaviyo metrics, and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const queryMetricAggregates = <ThrowOnError extends boolean = false>(options: Options<QueryMetricAggregatesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryMetricAggregatesResponse, QueryMetricAggregatesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metric-aggregates',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flows Triggered by Metric\n * Get all flows where the given metric is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `flows:read`\n * `metrics:read`\n */\nexport const getFlowsTriggeredByMetric = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredByMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredByMetricResponse, GetFlowsTriggeredByMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by Metric\n * Get the IDs of all flows where the given metric is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `flows:read`\n * `metrics:read`\n */\nexport const getIdsForFlowsTriggeredByMetric = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredByMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredByMetricResponse, GetIdsForFlowsTriggeredByMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metrics/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Properties for Metric\n * Get the metric properties for the given metric ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getPropertiesForMetric = <ThrowOnError extends boolean = false>(options: Options<GetPropertiesForMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPropertiesForMetricResponse, GetPropertiesForMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}/metric-properties',\n ...options\n });\n};\n\n/**\n * Get Property IDs for Metric\n * Get the IDs of metric properties for the given metric.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getPropertyIdsForMetric = <ThrowOnError extends boolean = false>(options: Options<GetPropertyIdsForMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPropertyIdsForMetricResponse, GetPropertyIdsForMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metrics/{id}/relationships/metric-properties',\n ...options\n });\n};\n\n/**\n * Get Metric for Metric Property\n * Get the metric for the given metric property ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricForMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricForMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricForMetricPropertyResponse, GetMetricForMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metric-properties/{id}/metric',\n ...options\n });\n};\n\n/**\n * Get Metric ID for Metric Property\n * Get the ID of the metric for the given metric property.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricIdForMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdForMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdForMetricPropertyResponse, GetMetricIdForMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metric-properties/{id}/relationships/metric',\n ...options\n });\n};\n\n/**\n * Get Metrics for Custom Metric\n * Get all metrics for the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricsForCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricsForCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricsForCustomMetricResponse, GetMetricsForCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics/{id}/metrics',\n ...options\n });\n};\n\n/**\n * Get Metric IDs for Custom Metric\n * Get all metrics for the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricIdsForCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdsForCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdsForCustomMetricResponse, GetMetricIdsForCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}/relationships/metrics',\n ...options\n });\n};\n\n/**\n * Get Profiles\n * Get all profiles in an account.\n *\n * 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`\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfiles = <ThrowOnError extends boolean = false>(options: Options<GetProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesResponse, GetProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles',\n ...options\n });\n};\n\n/**\n * Create Profile\n * Create a new profile.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createProfile = <ThrowOnError extends boolean = false>(options: Options<CreateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateProfileResponse, CreateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Profile\n * Get the profile with the given profile ID.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `include=list` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>Rate limits when using the `include=segment` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfile = <ThrowOnError extends boolean = false>(options: Options<GetProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileResponse2, GetProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}',\n ...options\n });\n};\n\n/**\n * Update Profile\n * Update the profile with the given profile ID.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const updateProfile = <ThrowOnError extends boolean = false>(options: Options<UpdateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateProfileResponse, UpdateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Import Profiles Jobs\n * Get all bulk profile import jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getBulkImportProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkImportProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkImportProfilesJobsResponse, GetBulkImportProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Import Profiles\n * Create a bulk profile import job to create or update a batch of profiles.\n *\n * Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB.\n *\n * To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const bulkImportProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkImportProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkImportProfilesResponse, BulkImportProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Import Profiles Job\n * Get a bulk profile import job with the given job ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkImportProfilesJobResponse, GetBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Suppress Profiles Jobs\n * Get the status of all bulk profile suppression jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkSuppressProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkSuppressProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkSuppressProfilesJobsResponse, GetBulkSuppressProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Suppress Profiles\n * Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list.\n *\n * 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).\n *\n * Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkSuppressProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkSuppressProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkSuppressProfilesResponse, BulkSuppressProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-suppression-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Suppress Profiles Job\n * Get the bulk suppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkSuppressProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkSuppressProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkSuppressProfilesJobResponse, GetBulkSuppressProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Unsuppress Profiles Jobs\n * Get all bulk unsuppress profiles jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkUnsuppressProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUnsuppressProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUnsuppressProfilesJobsResponse, GetBulkUnsuppressProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Unsuppress Profiles\n * Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list.\n *\n * 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).\n *\n * Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:write`\n */\nexport const bulkUnsuppressProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkUnsuppressProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUnsuppressProfilesResponse, BulkUnsuppressProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-suppression-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Unsuppress Profiles Job\n * Get the bulk unsuppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkUnsuppressProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUnsuppressProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUnsuppressProfilesJobResponse, GetBulkUnsuppressProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Push Tokens\n * Return push tokens associated with company.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getPushTokens = <ThrowOnError extends boolean = false>(options: Options<GetPushTokensData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokensResponse, GetPushTokensError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens',\n ...options\n });\n};\n\n/**\n * Create or Update Push Token\n * Create or update a push token.\n *\n * 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.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n * `push-tokens:write`\n */\nexport const createPushToken = <ThrowOnError extends boolean = false>(options: Options<CreatePushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreatePushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Push Token\n * Delete a specific push token based on its ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `push-tokens:write`\n */\nexport const deletePushToken = <ThrowOnError extends boolean = false>(options: Options<DeletePushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeletePushTokenResponse, DeletePushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens/{id}',\n ...options\n });\n};\n\n/**\n * Get Push Token\n * Return a specific push token based on its ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getPushToken = <ThrowOnError extends boolean = false>(options: Options<GetPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokenResponse, GetPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens/{id}',\n ...options\n });\n};\n\n/**\n * Create or Update Profile\n * Given a set of profile attributes and optionally an ID, create or update a profile.\n *\n * Returns 201 if a new profile was created, 200 if an existing profile was updated.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createOrUpdateProfile = <ThrowOnError extends boolean = false>(options: Options<CreateOrUpdateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateOrUpdateProfileResponse, CreateOrUpdateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-import',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Merge Profiles\n * Merge a given related profile into a profile with the given profile ID.\n *\n * 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).\n * 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.\n *\n * 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).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const mergeProfiles = <ThrowOnError extends boolean = false>(options: Options<MergeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<MergeProfilesResponse, MergeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-merge',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Subscribe Profiles\n * Subscribe one or more profiles to email marketing, SMS marketing, or both. 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.\n * Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api).\n *\n * 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).\n *\n * 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).\n *\n * 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).\n *\n * Maximum number of profiles can be submitted for subscription: 1000\n *\n * 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.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkSubscribeProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkSubscribeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkSubscribeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-subscription-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Unsubscribe Profiles\n * Unsubscribe one or more profiles to email marketing, SMS marketing, or both. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api).\n *\n * To remove someone from a list without changing their subscription status, use [Remove Profile from List](https://developers.klaviyo.com/en/reference/delete_list_relationships).\n *\n * Maximum number of profile can be submitted for unsubscription: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkUnsubscribeProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkUnsubscribeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkUnsubscribeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-subscription-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Push Tokens for Profile\n * Return all push tokens that belong to the given profile.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getPushTokensForProfile = <ThrowOnError extends boolean = false>(options: Options<GetPushTokensForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokensForProfileResponse, GetPushTokensForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/push-tokens',\n ...options\n });\n};\n\n/**\n * Get Push Token IDs for Profile\n * Return the IDs of all push tokens associated with the given profile.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getPushTokenIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetPushTokenIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokenIdsForProfileResponse, GetPushTokenIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/push-tokens',\n ...options\n });\n};\n\n/**\n * Get Lists for Profile\n * Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getListsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetListsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListsForProfileResponse, GetListsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/lists',\n ...options\n });\n};\n\n/**\n * Get List IDs for Profile\n * Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getListIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForProfileResponse, GetListIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Get Segments for Profile\n * Get segment memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getSegmentsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetSegmentsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentsForProfileResponse, GetSegmentsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/segments',\n ...options\n });\n};\n\n/**\n * Get Segment IDs for Profile\n * Get segment membership relationships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getSegmentIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetSegmentIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentIdsForProfileResponse, GetSegmentIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/segments',\n ...options\n });\n};\n\n/**\n * Get List for Bulk Import Profiles Job\n * Get list for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getListForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetListForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListForBulkImportProfilesJobResponse, GetListForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/lists',\n ...options\n });\n};\n\n/**\n * Get List IDs for Bulk Import Profiles Job\n * Get list relationship for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getListIdsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForBulkImportProfilesJobResponse, GetListIdsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Get Profiles for Bulk Import Profiles Job\n * Get profiles for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfilesForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForBulkImportProfilesJobResponse, GetProfilesForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Get Profile IDs for Bulk Import Profiles Job\n * Get profile relationships for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfileIdsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForBulkImportProfilesJobResponse, GetProfileIdsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Get Errors for Bulk Import Profiles Job\n * Get import errors for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getErrorsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetErrorsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetErrorsForBulkImportProfilesJobResponse, GetErrorsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/import-errors',\n ...options\n });\n};\n\n/**\n * Get Profile for Push Token\n * Return the profile associated with the given push token.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getProfileForPushToken = <ThrowOnError extends boolean = false>(options: Options<GetProfileForPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileForPushTokenResponse, GetProfileForPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens/{id}/profile',\n ...options\n });\n};\n\n/**\n * Get Profile ID for Push Token\n * Return the ID of the profile associated with the given push token.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getProfileIdForPushToken = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdForPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdForPushTokenResponse, GetProfileIdForPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens/{id}/relationships/profile',\n ...options\n });\n};\n\n/**\n * Query Campaign Values\n * Returns the requested campaign analytics values data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const queryCampaignValues = <ThrowOnError extends boolean = false>(options: Options<QueryCampaignValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryCampaignValuesResponse, QueryCampaignValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Flow Values\n * Returns the requested flow analytics values data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const queryFlowValues = <ThrowOnError extends boolean = false>(options: Options<QueryFlowValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFlowValuesResponse, QueryFlowValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Flow Series\n * Returns the requested flow analytics series data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const queryFlowSeries = <ThrowOnError extends boolean = false>(options: Options<QueryFlowSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFlowSeriesResponse, QueryFlowSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Form Values\n * Returns the requested form analytics values data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const queryFormValues = <ThrowOnError extends boolean = false>(options: Options<QueryFormValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFormValuesResponse, QueryFormValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Form Series\n * Returns the requested form analytics series data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const queryFormSeries = <ThrowOnError extends boolean = false>(options: Options<QueryFormSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFormSeriesResponse, QueryFormSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Segment Values\n * Returns the requested segment analytics values data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const querySegmentValues = <ThrowOnError extends boolean = false>(options: Options<QuerySegmentValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QuerySegmentValuesResponse, QuerySegmentValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segment-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Segment Series\n * Returns the requested segment analytics series data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const querySegmentSeries = <ThrowOnError extends boolean = false>(options: Options<QuerySegmentSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QuerySegmentSeriesResponse, QuerySegmentSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segment-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Reviews\n * Get all reviews.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:read`\n */\nexport const getReviews = <ThrowOnError extends boolean = false>(options: Options<GetReviewsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetReviewsResponse, GetReviewsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/reviews',\n ...options\n });\n};\n\n/**\n * Get Review\n * Get the review with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:read`\n */\nexport const getReview = <ThrowOnError extends boolean = false>(options: Options<GetReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetReviewResponse, GetReviewError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/reviews/{id}',\n ...options\n });\n};\n\n/**\n * Update Review\n * Update a review.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:write`\n */\nexport const updateReview = <ThrowOnError extends boolean = false>(options: Options<UpdateReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateReviewResponse, UpdateReviewError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/reviews/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Segments\n * Get all segments in an account.\n *\n * Filter to request a subset of all segments. Segments can be filtered by `name`, `created`, and `updated` fields.\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const getSegments = <ThrowOnError extends boolean = false>(options: Options<GetSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentsResponse, GetSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments',\n ...options\n });\n};\n\n/**\n * Create Segment\n * Create a segment.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const createSegment = <ThrowOnError extends boolean = false>(options: Options<CreateSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateSegmentResponse, CreateSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Segment\n * Delete a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const deleteSegment = <ThrowOnError extends boolean = false>(options: Options<DeleteSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteSegmentResponse, DeleteSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}',\n ...options\n });\n};\n\n/**\n * Get Segment\n * Get a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[segment]=profile_count` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-04-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const getSegment = <ThrowOnError extends boolean = false>(options: Options<GetSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentResponse, GetSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}',\n ...options\n });\n};\n\n/**\n * Update Segment\n * Update a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const updateSegment = <ThrowOnError extends boolean = false>(options: Options<UpdateSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateSegmentResponse, UpdateSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for Segment\n * Return all tags associated with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getTagsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetTagsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForSegmentResponse, GetTagsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Segment\n * If `related_resource` is `tags`, returns the tag IDs of all tags associated with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getTagIdsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForSegmentResponse, GetTagIdsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Profiles for Segment\n * Get all profiles within a segment with the given segment ID.\n *\n * Filter to request a subset of all profiles. Profiles can be filtered by `email`, `phone_number`, `push_token`, and `joined_group_at` fields. Profiles can be sorted by the following fields, in ascending and descending order: `joined_group_at`<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getProfilesForSegment = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForSegmentResponse, GetProfilesForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Get Profile IDs for Segment\n * Get all profile membership [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for the given segment ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getProfileIdsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForSegmentResponse, GetProfileIdsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Get Flows Triggered by Segment\n * Get all flows where the given segment ID is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `segments:read`\n */\nexport const getFlowsTriggeredBySegment = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredBySegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredBySegmentResponse, GetFlowsTriggeredBySegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by Segment\n * Get the IDs of all flows where the given segment is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `segments:read`\n */\nexport const getIdsForFlowsTriggeredBySegment = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredBySegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredBySegmentResponse, GetIdsForFlowsTriggeredBySegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Tags\n * List all tags in an account.\n *\n * Tags can be filtered by `name`, and sorted by `name` or `id` in ascending or descending order.\n *\n * Returns a maximum of 50 tags per request, which can be paginated with\n * [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTags = <ThrowOnError extends boolean = false>(options: Options<GetTagsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsResponse, GetTagsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags',\n ...options\n });\n};\n\n/**\n * Create Tag\n * Create a tag. An account cannot have more than **500** unique tags.\n *\n * A tag belongs to a single tag group. If `relationships.tag-group.data.id` is not specified,\n * the tag is added to the account's default tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const createTag = <ThrowOnError extends boolean = false>(options: Options<CreateTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTagResponse, CreateTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Tag\n * Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const deleteTag = <ThrowOnError extends boolean = false>(options: Options<DeleteTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTagResponse, DeleteTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}',\n ...options\n });\n};\n\n/**\n * Get Tag\n * Retrieve the tag with the given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTag = <ThrowOnError extends boolean = false>(options: Options<GetTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagResponse, GetTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags/{id}',\n ...options\n });\n};\n\n/**\n * Update Tag\n * Update the tag with the given tag ID.\n *\n * Only a tag's `name` can be changed. A tag cannot be moved from one tag group to another.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const updateTag = <ThrowOnError extends boolean = false>(options: Options<UpdateTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTagResponse, UpdateTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tag Groups\n * List all tag groups in an account. Every account has one default tag group.\n *\n * Tag groups can be filtered by `name`, `exclusive`, and `default`, and sorted by `name` or `id` in ascending or descending order.\n *\n * Returns a maximum of 25 tag groups per request, which can be paginated with\n * [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroups = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupsResponse, GetTagGroupsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups',\n ...options\n });\n};\n\n/**\n * Create Tag Group\n * Create a tag group. An account cannot have more than **50** unique tag groups.\n *\n * If `exclusive` is not specified `true` or `false`, the tag group defaults to non-exclusive.\n *\n * If a tag group is non-exclusive, any given related resource (campaign, flow, etc.)\n * can be linked to multiple tags from that tag group.\n * If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const createTagGroup = <ThrowOnError extends boolean = false>(options: Options<CreateTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTagGroupResponse, CreateTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Tag Group\n * Delete the tag group with the given tag group ID.\n *\n * Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const deleteTagGroup = <ThrowOnError extends boolean = false>(options: Options<DeleteTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTagGroupResponse2, DeleteTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}',\n ...options\n });\n};\n\n/**\n * Get Tag Group\n * Retrieve the tag group with the given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupResponse2, GetTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups/{id}',\n ...options\n });\n};\n\n/**\n * Update Tag Group\n * Update the tag group with the given tag group ID.\n *\n * Only a tag group's `name` can be changed. A tag group's `exclusive` or `default` value cannot be changed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const updateTagGroup = <ThrowOnError extends boolean = false>(options: Options<UpdateTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTagGroupResponse, UpdateTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Flows\n * Remove a tag's association with one or more flows.\n *\n *\n * Use the request body to pass in the ID(s) of the flows(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n * `tags:write`\n */\nexport const removeTagFromFlows = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromFlowsResponse, RemoveTagFromFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flow IDs for Tag\n * Returns the IDs of all flows associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getFlowIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetFlowIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowIdsForTagResponse, GetFlowIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options\n });\n};\n\n/**\n * Tag Flows\n * Associate a tag with one or more flows. Any flow cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the flow(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n * `tags:write`\n */\nexport const tagFlows = <ThrowOnError extends boolean = false>(options: Options<TagFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagFlowsResponse, TagFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Campaigns\n * Remove a tag's association with one or more campaigns.\n *\n *\n * Use the request body to pass in the ID(s) of the campaign(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `tags:write`\n */\nexport const removeTagFromCampaigns = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromCampaignsResponse, RemoveTagFromCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign IDs for Tag\n * Returns the IDs of all campaigns associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getCampaignIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetCampaignIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignIdsForTagResponse, GetCampaignIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options\n });\n};\n\n/**\n * Tag Campaigns\n * Associate a tag with one or more campaigns. Any campaign cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the campaign(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `tags:write`\n */\nexport const tagCampaigns = <ThrowOnError extends boolean = false>(options: Options<TagCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagCampaignsResponse, TagCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Lists\n * Remove a tag's association with one or more lists.\n *\n *\n * Use the request body to pass in the ID(s) of the list(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:write`\n * `tags:write`\n */\nexport const removeTagFromLists = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromListsResponse, RemoveTagFromListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get List IDs for Tag\n * Returns the IDs of all lists associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getListIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForTagResponse, GetListIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Tag Lists\n * Associate a tag with one or more lists. Any list cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the lists(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:write`\n * `tags:write`\n */\nexport const tagLists = <ThrowOnError extends boolean = false>(options: Options<TagListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagListsResponse, TagListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Segments\n * Remove a tag's association with one or more segments.\n *\n *\n * Use the request body to pass in the ID(s) of the segments(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n * `tags:write`\n */\nexport const removeTagFromSegments = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromSegmentsResponse, RemoveTagFromSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Segment IDs for Tag\n * Returns the IDs of all segments associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getSegmentIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetSegmentIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentIdsForTagResponse, GetSegmentIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options\n });\n};\n\n/**\n * Tag Segments\n * Associate a tag with one or more segments. Any segment cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the segments(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n * `tags:write`\n */\nexport const tagSegments = <ThrowOnError extends boolean = false>(options: Options<TagSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagSegmentsResponse, TagSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tag Group for Tag\n * Returns the tag group resource for a given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroupForTag = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupForTagResponse, GetTagGroupForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags/{id}/tag-group',\n ...options\n });\n};\n\n/**\n * Get Tag Group ID for Tag\n * Returns the id of the tag group related to the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroupIdForTag = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupIdForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupIdForTagResponse, GetTagGroupIdForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/tag-group',\n ...options\n });\n};\n\n/**\n * Get Tags for Tag Group\n * Return the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagsForTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagsForTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForTagGroupResponse, GetTagsForTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Tag Group\n * Returns the tag IDs of all tags inside the given tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagIdsForTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForTagGroupResponse, GetTagIdsForTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Templates\n * Get all templates in an account.\n *\n * Filter to request a subset of all templates. Templates can be sorted by the following fields, in ascending and descending order: `id`, `name`, `created`, `updated`\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplates = <ThrowOnError extends boolean = false>(options: Options<GetTemplatesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplatesResponse, GetTemplatesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/templates',\n ...options\n });\n};\n\n/**\n * Create Template\n * Create a new custom HTML template.\n *\n * If there are 1,000 or more templates in an account, creation will fail as there is a limit of 1,000 templates\n * that can be created via the API.\n *\n * Request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const createTemplate = <ThrowOnError extends boolean = false>(options: Options<CreateTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTemplateResponse, CreateTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Template\n * Delete a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const deleteTemplate = <ThrowOnError extends boolean = false>(options: Options<DeleteTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTemplateResponse, DeleteTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates/{id}',\n ...options\n });\n};\n\n/**\n * Get Template\n * Get a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplate = <ThrowOnError extends boolean = false>(options: Options<GetTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateResponse2, GetTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/templates/{id}',\n ...options\n });\n};\n\n/**\n * Update Template\n * Update a template with the given template ID. Does not currently update drag & drop templates.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const updateTemplate = <ThrowOnError extends boolean = false>(options: Options<UpdateTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTemplateResponse, UpdateTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get All Universal Content\n * Get all universal content in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getAllUniversalContent = <ThrowOnError extends boolean = false>(options: Options<GetAllUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAllUniversalContentResponse, GetAllUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/template-universal-content',\n ...options\n });\n};\n\n/**\n * Create Universal Content\n * Create universal content. Currently supported block types are: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const createUniversalContent = <ThrowOnError extends boolean = false>(options: Options<CreateUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateUniversalContentResponse, CreateUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Universal Content\n * Delete the universal content with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const deleteUniversalContent = <ThrowOnError extends boolean = false>(options: Options<DeleteUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteUniversalContentResponse, DeleteUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content/{id}',\n ...options\n });\n};\n\n/**\n * Get Universal Content\n * Get the universal content with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getUniversalContent = <ThrowOnError extends boolean = false>(options: Options<GetUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetUniversalContentResponse2, GetUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/template-universal-content/{id}',\n ...options\n });\n};\n\n/**\n * Update Universal Content\n * Update universal content. The `definition` field can only be updated on the following block types at this time: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const updateUniversalContent = <ThrowOnError extends boolean = false>(options: Options<UpdateUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateUniversalContentResponse, UpdateUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Render Template\n * Render a template with the given template ID and context attribute. Returns the AMP, HTML, and plain text versions of the email template.\n *\n * **Request body parameters** (nested under `attributes`):\n *\n * * `return_fields`: Request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets).\n *\n * * `context`: This is the context your email template will be rendered with. You must pass in a `context` object as a JSON object.\n *\n * Email templates are rendered with contexts in a similar manner to Django templates. Nested template variables can be referenced via dot notation. Template variables without corresponding `context` values are treated as `FALSE` and output nothing.\n *\n * Ex. `{ \"name\" : \"George Washington\", \"state\" : \"VA\" }`<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const renderTemplate = <ThrowOnError extends boolean = false>(options: Options<RenderTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<RenderTemplateResponse, RenderTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-render',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Clone Template\n * Create a clone of a template with the given template ID.\n *\n * If there are 1,000 or more templates in an account, cloning will fail as there is a limit of 1,000 templates\n * that can be created via the API.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const cloneTemplate = <ThrowOnError extends boolean = false>(options: Options<CloneTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CloneTemplateResponse, CloneTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-clone',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tracking Settings\n * Get all tracking settings in an account. Returns an array with a single tracking setting.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:read`\n */\nexport const getTrackingSettings = <ThrowOnError extends boolean = false>(options: Options<GetTrackingSettingsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTrackingSettingsResponse, GetTrackingSettingsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tracking-settings',\n ...options\n });\n};\n\n/**\n * Get Tracking Setting\n * Get the tracking setting with the given account ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:read`\n */\nexport const getTrackingSetting = <ThrowOnError extends boolean = false>(options: Options<GetTrackingSettingData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTrackingSettingResponse2, GetTrackingSettingError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tracking-settings/{id}',\n ...options\n });\n};\n\n/**\n * Update Tracking Setting\n * Update the tracking setting with the given account ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:write`\n */\nexport const updateTrackingSetting = <ThrowOnError extends boolean = false>(options: Options<UpdateTrackingSettingData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTrackingSettingResponse, UpdateTrackingSettingError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tracking-settings/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Web Feeds\n * Get all web feeds for an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:read`\n */\nexport const getWebFeeds = <ThrowOnError extends boolean = false>(options: Options<GetWebFeedsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebFeedsResponse, GetWebFeedsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/web-feeds',\n ...options\n });\n};\n\n/**\n * Create Web Feed\n * Create a web feed.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const createWebFeed = <ThrowOnError extends boolean = false>(options: Options<CreateWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateWebFeedResponse, CreateWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Web Feed\n * Delete the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const deleteWebFeed = <ThrowOnError extends boolean = false>(options: Options<DeleteWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteWebFeedResponse, DeleteWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds/{id}',\n ...options\n });\n};\n\n/**\n * Get Web Feed\n * Get the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:read`\n */\nexport const getWebFeed = <ThrowOnError extends boolean = false>(options: Options<GetWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebFeedResponse2, GetWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/web-feeds/{id}',\n ...options\n });\n};\n\n/**\n * Update Web Feed\n * Update the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const updateWebFeed = <ThrowOnError extends boolean = false>(options: Options<UpdateWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateWebFeedResponse, UpdateWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Webhooks\n * Get all webhooks in an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhooks = <ThrowOnError extends boolean = false>(options: Options<GetWebhooksData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhooksResponse, GetWebhooksError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/webhooks',\n ...options\n });\n};\n\n/**\n * Create Webhook\n * Create a new Webhook<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const createWebhook = <ThrowOnError extends boolean = false>(options: Options<CreateWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateWebhookResponse, CreateWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Webhook\n * Delete a webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const deleteWebhook = <ThrowOnError extends boolean = false>(options: Options<DeleteWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteWebhookResponse, DeleteWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks/{id}',\n ...options\n });\n};\n\n/**\n * Get Webhook\n * Get the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhook = <ThrowOnError extends boolean = false>(options: Options<GetWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookResponse, GetWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/webhooks/{id}',\n ...options\n });\n};\n\n/**\n * Update Webhook\n * Update the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const updateWebhook = <ThrowOnError extends boolean = false>(options: Options<UpdateWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateWebhookResponse, UpdateWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Webhook Topics\n * Get all webhook topics in a Klaviyo account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhookTopics = <ThrowOnError extends boolean = false>(options: Options<GetWebhookTopicsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookTopicsResponse, GetWebhookTopicsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhook-topics',\n ...options\n });\n};\n\n/**\n * Get Webhook Topic\n * Get the webhook topic with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhookTopic = <ThrowOnError extends boolean = false>(options: Options<GetWebhookTopicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookTopicResponse2, GetWebhookTopicError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhook-topics/{id}',\n ...options\n });\n};\n\n/**\n * Get Client Review Values Reports\n * Get all reviews values reports in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const getClientReviewValuesReports = <ThrowOnError extends boolean = false>(options: Options<GetClientReviewValuesReportsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetClientReviewValuesReportsResponse, GetClientReviewValuesReportsError, ThrowOnError>({\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/client/review-values-reports',\n ...options\n });\n};\n\n/**\n * Get Client Reviews\n * Get all reviews. This endpoint is for client-side environments only, for server-side use, refer to https://developers.klaviyo.com/en/reference/get_reviews<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const getClientReviews = <ThrowOnError extends boolean = false>(options: Options<GetClientReviewsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetClientReviewsResponse, GetClientReviewsError, ThrowOnError>({\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/client/reviews',\n ...options\n });\n};\n\n/**\n * Create Client Review\n * Create a review with the given ID. This endpoint is for client-side environments only.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const createClientReview = <ThrowOnError extends boolean = false>(options: Options<CreateClientReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientReviewError, ThrowOnError>({\n url: '/client/reviews',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Subscription\n * 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.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To subscribe profiles from server-side applications, instead use [POST /api/profile-subscription-bulk-create-jobs](https://developers.klaviyo.com/en/reference/subscribe_profiles).\n *\n * 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.\n *\n * 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`.<br><br>*Rate limits*:<br>Burst: `100/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:write`\n */\nexport const createClientSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateClientSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientSubscriptionError, ThrowOnError>({\n url: '/client/subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create or Update Client Push Token\n * Create or update a push token.\n *\n * This endpoint is specifically designed to be called from our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n * You must have push notifications enabled to use this endpoint.\n *\n * To migrate push tokens from another platform to Klaviyo, please use our server-side [POST /api/push-tokens](https://developers.klaviyo.com/en/reference/create_push_token) endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `300/m`\n */\nexport const createClientPushToken = <ThrowOnError extends boolean = false>(options: Options<CreateClientPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientPushTokenError, ThrowOnError>({\n url: '/client/push-tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Unregister Client Push Token\n * Unregister a push token.\n *\n * This endpoint is specifically designed to be called from our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n * You must have push notifications enabled to use this endpoint.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n */\nexport const unregisterClientPushToken = <ThrowOnError extends boolean = false>(options: Options<UnregisterClientPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, UnregisterClientPushTokenError, ThrowOnError>({\n url: '/client/push-token-unregister',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Event\n * Create a new event to track a profile's activity.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create events from server-side applications, instead use [POST /api/events](https://developers.klaviyo.com/en/reference/create_event).\n *\n * Note that to update a profile's existing identifiers (e.g., email), you must use a server-side endpoint authenticated by a private API key. Attempts to do so via client-side endpoints will return a 202, however the identifier field(s) will not be updated.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const createClientEvent = <ThrowOnError extends boolean = false>(options: Options<CreateClientEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientEventError, ThrowOnError>({\n url: '/client/events',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create or Update Client Profile\n * Create or update properties about a profile without tracking an associated event.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create or update profiles from server-side applications, instead use [POST /api/profile-import](https://developers.klaviyo.com/en/reference/create_or_update_profile).\n *\n * Note that to update a profile's existing identifiers (e.g., email), you must use a server-side endpoint authenticated by a private API key. Attempts to do so via client-side endpoints will return a 202, however the identifier field(s) will not be updated.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createClientProfile = <ThrowOnError extends boolean = false>(options: Options<CreateClientProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientProfileError, ThrowOnError>({\n url: '/client/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Create Client Events\n * Create new events to track a profile's activity.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create events from server-side applications, instead use [POST /api/event-bulk-create-jobs](https://developers.klaviyo.com/en/reference/bulk_create_events).\n *\n * Accepts a maximum of `1000` events per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const bulkCreateClientEvents = <ThrowOnError extends boolean = false>(options: Options<BulkCreateClientEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkCreateClientEventsError, ThrowOnError>({\n url: '/client/event-bulk-create',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Back In Stock Subscription\n * Subscribe a profile to receive back in stock notifications. Check out [our Back in Stock API guide](https://developers.klaviyo.com/en/docs/how_to_set_up_custom_back_in_stock) for more details.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create back in stock subscriptions from server-side applications, instead use [POST /api/back-in-stock-subscriptions](https://developers.klaviyo.com/en/reference/create_back_in_stock_subscription).<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:write`\n * `profiles:write`\n */\nexport const createClientBackInStockSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateClientBackInStockSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientBackInStockSubscriptionError, ThrowOnError>({\n url: '/client/back-in-stock-subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://a.klaviyo.com'\n}));"],"mappings":"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","names":["formDataBodySerializer","createClient","createConfig","client","getAccounts","options","_a","client","__spreadValues","getAccount","getCampaigns","createCampaign","__spreadProps","deleteCampaign","getCampaign","updateCampaign","getCampaignMessage","updateCampaignMessage","getCampaignSendJob","cancelCampaignSend","getCampaignRecipientEstimationJob","getCampaignRecipientEstimation","createCampaignClone","assignTemplateToCampaignMessage","sendCampaign","refreshCampaignRecipientEstimation","getCampaignForCampaignMessage","getCampaignIdForCampaignMessage","getTemplateForCampaignMessage","getTemplateIdForCampaignMessage","getImageForCampaignMessage","getImageIdForCampaignMessage","updateImageForCampaignMessage","getTagsForCampaign","getTagIdsForCampaign","getMessagesForCampaign","getMessageIdsForCampaign","getCatalogItems","createCatalogItem","deleteCatalogItem","getCatalogItem","updateCatalogItem","getCatalogVariants","createCatalogVariant","deleteCatalogVariant","getCatalogVariant","updateCatalogVariant","getCatalogCategories","createCatalogCategory","deleteCatalogCategory","getCatalogCategory","updateCatalogCategory","getBulkCreateCatalogItemsJobs","bulkCreateCatalogItems","getBulkCreateCatalogItemsJob","getBulkUpdateCatalogItemsJobs","bulkUpdateCatalogItems","getBulkUpdateCatalogItemsJob","getBulkDeleteCatalogItemsJobs","bulkDeleteCatalogItems","getBulkDeleteCatalogItemsJob","getBulkCreateVariantsJobs","bulkCreateCatalogVariants","getBulkCreateVariantsJob","getBulkUpdateVariantsJobs","bulkUpdateCatalogVariants","getBulkUpdateVariantsJob","getBulkDeleteVariantsJobs","bulkDeleteCatalogVariants","getBulkDeleteVariantsJob","getBulkCreateCategoriesJobs","bulkCreateCatalogCategories","getBulkCreateCategoriesJob","getBulkUpdateCategoriesJobs","bulkUpdateCatalogCategories","getBulkUpdateCategoriesJob","getBulkDeleteCategoriesJobs","bulkDeleteCatalogCategories","getBulkDeleteCategoriesJob","createBackInStockSubscription","getItemsForCatalogCategory","removeItemsFromCatalogCategory","getItemIdsForCatalogCategory","updateItemsForCatalogCategory","addItemsToCatalogCategory","getVariantsForCatalogItem","getVariantIdsForCatalogItem","getCategoriesForCatalogItem","removeCategoriesFromCatalogItem","getCategoryIdsForCatalogItem","updateCategoriesForCatalogItem","addCategoriesToCatalogItem","getCoupons","createCoupon","deleteCoupon","getCoupon","updateCoupon","getCouponCodes","createCouponCode","deleteCouponCode","getCouponCode","updateCouponCode","getBulkCreateCouponCodeJobs","bulkCreateCouponCodes","getBulkCreateCouponCodesJob","getCouponForCouponCode","getCouponIdForCouponCode","getCouponCodesForCoupon","getCouponCodeIdsForCoupon","requestProfileDeletion","getEvents","createEvent","getEvent","bulkCreateEvents","getMetricForEvent","getMetricIdForEvent","getProfileForEvent","getProfileIdForEvent","getFlows","createFlow","deleteFlow","getFlow","updateFlow","getFlowAction","getFlowMessage","getActionsForFlow","getActionIdsForFlow","getTagsForFlow","getTagIdsForFlow","getFlowForFlowAction","getFlowIdForFlowAction","getFlowActionMessages","getMessageIdsForFlowAction","getActionForFlowMessage","getActionIdForFlowMessage","getTemplateForFlowMessage","getTemplateIdForFlowMessage","getForms","deleteForm","getForm","getFormVersion","getVersionsForForm","getVersionIdsForForm","getFormForFormVersion","getFormIdForFormVersion","getImages","uploadImageFromUrl","getImage","updateImage","uploadImageFromFile","formDataBodySerializer","getLists","createList","deleteList","getList","updateList","getTagsForList","getTagIdsForList","getProfilesForList","removeProfilesFromList","getProfileIdsForList","addProfilesToList","getFlowsTriggeredByList","getIdsForFlowsTriggeredByList","getMetrics","getMetric","getMetricProperty","getCustomMetrics","createCustomMetric","deleteCustomMetric","getCustomMetric","updateCustomMetric","queryMetricAggregates","getFlowsTriggeredByMetric","getIdsForFlowsTriggeredByMetric","getPropertiesForMetric","getPropertyIdsForMetric","getMetricForMetricProperty","getMetricIdForMetricProperty","getMetricsForCustomMetric","getMetricIdsForCustomMetric","getProfiles","createProfile","getProfile","updateProfile","getBulkImportProfilesJobs","bulkImportProfiles","getBulkImportProfilesJob","getBulkSuppressProfilesJobs","bulkSuppressProfiles","getBulkSuppressProfilesJob","getBulkUnsuppressProfilesJobs","bulkUnsuppressProfiles","getBulkUnsuppressProfilesJob","getPushTokens","createPushToken","deletePushToken","getPushToken","createOrUpdateProfile","mergeProfiles","bulkSubscribeProfiles","bulkUnsubscribeProfiles","getPushTokensForProfile","getPushTokenIdsForProfile","getListsForProfile","getListIdsForProfile","getSegmentsForProfile","getSegmentIdsForProfile","getListForBulkImportProfilesJob","getListIdsForBulkImportProfilesJob","getProfilesForBulkImportProfilesJob","getProfileIdsForBulkImportProfilesJob","getErrorsForBulkImportProfilesJob","getProfileForPushToken","getProfileIdForPushToken","queryCampaignValues","queryFlowValues","queryFlowSeries","queryFormValues","queryFormSeries","querySegmentValues","querySegmentSeries","getReviews","getReview","updateReview","getSegments","createSegment","deleteSegment","getSegment","updateSegment","getTagsForSegment","getTagIdsForSegment","getProfilesForSegment","getProfileIdsForSegment","getFlowsTriggeredBySegment","getIdsForFlowsTriggeredBySegment","getTags","createTag","deleteTag","getTag","updateTag","getTagGroups","createTagGroup","deleteTagGroup","getTagGroup","updateTagGroup","removeTagFromFlows","getFlowIdsForTag","tagFlows","removeTagFromCampaigns","getCampaignIdsForTag","tagCampaigns","removeTagFromLists","getListIdsForTag","tagLists","removeTagFromSegments","getSegmentIdsForTag","tagSegments","getTagGroupForTag","getTagGroupIdForTag","getTagsForTagGroup","getTagIdsForTagGroup","getTemplates","createTemplate","deleteTemplate","getTemplate","updateTemplate","getAllUniversalContent","createUniversalContent","deleteUniversalContent","getUniversalContent","updateUniversalContent","renderTemplate","cloneTemplate","getTrackingSettings","getTrackingSetting","updateTrackingSetting","getWebFeeds","createWebFeed","deleteWebFeed","getWebFeed","updateWebFeed","getWebhooks","createWebhook","deleteWebhook","getWebhook","updateWebhook","getWebhookTopics","getWebhookTopic","getClientReviewValuesReports","getClientReviews","createClientReview","createClientSubscription","createClientPushToken","unregisterClientPushToken","createClientEvent","createClientProfile","bulkCreateClientEvents","createClientBackInStockSubscription"]}
|
|
1
|
+
{"version":3,"sources":["../src/sdk.gen.ts","../src/client.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch';\nimport type { GetAccountsData, GetAccountsResponse, GetAccountsError, GetAccountData, GetAccountResponse2, GetAccountError, GetCampaignsData, GetCampaignsResponse, GetCampaignsError, CreateCampaignData, CreateCampaignResponse, CreateCampaignError, DeleteCampaignData, DeleteCampaignResponse, DeleteCampaignError, GetCampaignData, GetCampaignResponse2, GetCampaignError, UpdateCampaignData, UpdateCampaignResponse, UpdateCampaignError, GetCampaignMessageData, GetCampaignMessageResponse, GetCampaignMessageError, UpdateCampaignMessageData, UpdateCampaignMessageResponse, UpdateCampaignMessageError, GetCampaignSendJobData, GetCampaignSendJobResponse2, GetCampaignSendJobError, CancelCampaignSendData, CancelCampaignSendResponse, CancelCampaignSendError, GetCampaignRecipientEstimationJobData, GetCampaignRecipientEstimationJobResponse2, GetCampaignRecipientEstimationJobError, GetCampaignRecipientEstimationData, GetCampaignRecipientEstimationResponse2, GetCampaignRecipientEstimationError, CreateCampaignCloneData, CreateCampaignCloneResponse, CreateCampaignCloneError, AssignTemplateToCampaignMessageData, AssignTemplateToCampaignMessageResponse, AssignTemplateToCampaignMessageError, SendCampaignData, SendCampaignResponse, SendCampaignError, RefreshCampaignRecipientEstimationData, RefreshCampaignRecipientEstimationResponse, RefreshCampaignRecipientEstimationError, GetCampaignForCampaignMessageData, GetCampaignForCampaignMessageResponse, GetCampaignForCampaignMessageError, GetCampaignIdForCampaignMessageData, GetCampaignIdForCampaignMessageResponse, GetCampaignIdForCampaignMessageError, GetTemplateForCampaignMessageData, GetTemplateForCampaignMessageResponse, GetTemplateForCampaignMessageError, GetTemplateIdForCampaignMessageData, GetTemplateIdForCampaignMessageResponse, GetTemplateIdForCampaignMessageError, GetImageForCampaignMessageData, GetImageForCampaignMessageResponse, GetImageForCampaignMessageError, GetImageIdForCampaignMessageData, GetImageIdForCampaignMessageResponse, GetImageIdForCampaignMessageError, UpdateImageForCampaignMessageData, UpdateImageForCampaignMessageResponse, UpdateImageForCampaignMessageError, GetTagsForCampaignData, GetTagsForCampaignResponse, GetTagsForCampaignError, GetTagIdsForCampaignData, GetTagIdsForCampaignResponse, GetTagIdsForCampaignError, GetMessagesForCampaignData, GetMessagesForCampaignResponse, GetMessagesForCampaignError, GetMessageIdsForCampaignData, GetMessageIdsForCampaignResponse, GetMessageIdsForCampaignError, GetCatalogItemsData, GetCatalogItemsResponse, GetCatalogItemsError, CreateCatalogItemData, CreateCatalogItemResponse, CreateCatalogItemError, DeleteCatalogItemData, DeleteCatalogItemResponse, DeleteCatalogItemError, GetCatalogItemData, GetCatalogItemResponse, GetCatalogItemError, UpdateCatalogItemData, UpdateCatalogItemResponse, UpdateCatalogItemError, GetCatalogVariantsData, GetCatalogVariantsResponse, GetCatalogVariantsError, CreateCatalogVariantData, CreateCatalogVariantResponse, CreateCatalogVariantError, DeleteCatalogVariantData, DeleteCatalogVariantResponse, DeleteCatalogVariantError, GetCatalogVariantData, GetCatalogVariantResponse2, GetCatalogVariantError, UpdateCatalogVariantData, UpdateCatalogVariantResponse, UpdateCatalogVariantError, GetCatalogCategoriesData, GetCatalogCategoriesResponse, GetCatalogCategoriesError, CreateCatalogCategoryData, CreateCatalogCategoryResponse, CreateCatalogCategoryError, DeleteCatalogCategoryData, DeleteCatalogCategoryResponse, DeleteCatalogCategoryError, GetCatalogCategoryData, GetCatalogCategoryResponse2, GetCatalogCategoryError, UpdateCatalogCategoryData, UpdateCatalogCategoryResponse, UpdateCatalogCategoryError, GetBulkCreateCatalogItemsJobsData, GetBulkCreateCatalogItemsJobsResponse, GetBulkCreateCatalogItemsJobsError, BulkCreateCatalogItemsData, BulkCreateCatalogItemsResponse, BulkCreateCatalogItemsError, GetBulkCreateCatalogItemsJobData, GetBulkCreateCatalogItemsJobResponse, GetBulkCreateCatalogItemsJobError, GetBulkUpdateCatalogItemsJobsData, GetBulkUpdateCatalogItemsJobsResponse, GetBulkUpdateCatalogItemsJobsError, BulkUpdateCatalogItemsData, BulkUpdateCatalogItemsResponse, BulkUpdateCatalogItemsError, GetBulkUpdateCatalogItemsJobData, GetBulkUpdateCatalogItemsJobResponse, GetBulkUpdateCatalogItemsJobError, GetBulkDeleteCatalogItemsJobsData, GetBulkDeleteCatalogItemsJobsResponse, GetBulkDeleteCatalogItemsJobsError, BulkDeleteCatalogItemsData, BulkDeleteCatalogItemsResponse, BulkDeleteCatalogItemsError, GetBulkDeleteCatalogItemsJobData, GetBulkDeleteCatalogItemsJobResponse, GetBulkDeleteCatalogItemsJobError, GetBulkCreateVariantsJobsData, GetBulkCreateVariantsJobsResponse, GetBulkCreateVariantsJobsError, BulkCreateCatalogVariantsData, BulkCreateCatalogVariantsResponse, BulkCreateCatalogVariantsError, GetBulkCreateVariantsJobData, GetBulkCreateVariantsJobResponse, GetBulkCreateVariantsJobError, GetBulkUpdateVariantsJobsData, GetBulkUpdateVariantsJobsResponse, GetBulkUpdateVariantsJobsError, BulkUpdateCatalogVariantsData, BulkUpdateCatalogVariantsResponse, BulkUpdateCatalogVariantsError, GetBulkUpdateVariantsJobData, GetBulkUpdateVariantsJobResponse, GetBulkUpdateVariantsJobError, GetBulkDeleteVariantsJobsData, GetBulkDeleteVariantsJobsResponse, GetBulkDeleteVariantsJobsError, BulkDeleteCatalogVariantsData, BulkDeleteCatalogVariantsResponse, BulkDeleteCatalogVariantsError, GetBulkDeleteVariantsJobData, GetBulkDeleteVariantsJobResponse, GetBulkDeleteVariantsJobError, GetBulkCreateCategoriesJobsData, GetBulkCreateCategoriesJobsResponse, GetBulkCreateCategoriesJobsError, BulkCreateCatalogCategoriesData, BulkCreateCatalogCategoriesResponse, BulkCreateCatalogCategoriesError, GetBulkCreateCategoriesJobData, GetBulkCreateCategoriesJobResponse, GetBulkCreateCategoriesJobError, GetBulkUpdateCategoriesJobsData, GetBulkUpdateCategoriesJobsResponse, GetBulkUpdateCategoriesJobsError, BulkUpdateCatalogCategoriesData, BulkUpdateCatalogCategoriesResponse, BulkUpdateCatalogCategoriesError, GetBulkUpdateCategoriesJobData, GetBulkUpdateCategoriesJobResponse, GetBulkUpdateCategoriesJobError, GetBulkDeleteCategoriesJobsData, GetBulkDeleteCategoriesJobsResponse, GetBulkDeleteCategoriesJobsError, BulkDeleteCatalogCategoriesData, BulkDeleteCatalogCategoriesResponse, BulkDeleteCatalogCategoriesError, GetBulkDeleteCategoriesJobData, GetBulkDeleteCategoriesJobResponse, GetBulkDeleteCategoriesJobError, CreateBackInStockSubscriptionData, CreateBackInStockSubscriptionError, GetItemsForCatalogCategoryData, GetItemsForCatalogCategoryResponse, GetItemsForCatalogCategoryError, RemoveItemsFromCatalogCategoryData, RemoveItemsFromCatalogCategoryResponse, RemoveItemsFromCatalogCategoryError, GetItemIdsForCatalogCategoryData, GetItemIdsForCatalogCategoryResponse, GetItemIdsForCatalogCategoryError, UpdateItemsForCatalogCategoryData, UpdateItemsForCatalogCategoryResponse, UpdateItemsForCatalogCategoryError, AddItemsToCatalogCategoryData, AddItemsToCatalogCategoryResponse, AddItemsToCatalogCategoryError, GetVariantsForCatalogItemData, GetVariantsForCatalogItemResponse, GetVariantsForCatalogItemError, GetVariantIdsForCatalogItemData, GetVariantIdsForCatalogItemResponse, GetVariantIdsForCatalogItemError, GetCategoriesForCatalogItemData, GetCategoriesForCatalogItemResponse, GetCategoriesForCatalogItemError, RemoveCategoriesFromCatalogItemData, RemoveCategoriesFromCatalogItemResponse, RemoveCategoriesFromCatalogItemError, GetCategoryIdsForCatalogItemData, GetCategoryIdsForCatalogItemResponse, GetCategoryIdsForCatalogItemError, UpdateCategoriesForCatalogItemData, UpdateCategoriesForCatalogItemResponse, UpdateCategoriesForCatalogItemError, AddCategoriesToCatalogItemData, AddCategoriesToCatalogItemResponse, AddCategoriesToCatalogItemError, GetCouponsData, GetCouponsResponse, GetCouponsError, CreateCouponData, CreateCouponResponse, CreateCouponError, DeleteCouponData, DeleteCouponResponse, DeleteCouponError, GetCouponData, GetCouponResponse2, GetCouponError, UpdateCouponData, UpdateCouponResponse, UpdateCouponError, GetCouponCodesData, GetCouponCodesResponse, GetCouponCodesError, CreateCouponCodeData, CreateCouponCodeResponse, CreateCouponCodeError, DeleteCouponCodeData, DeleteCouponCodeResponse, DeleteCouponCodeError, GetCouponCodeData, GetCouponCodeResponse, GetCouponCodeError, UpdateCouponCodeData, UpdateCouponCodeResponse, UpdateCouponCodeError, GetBulkCreateCouponCodeJobsData, GetBulkCreateCouponCodeJobsResponse, GetBulkCreateCouponCodeJobsError, BulkCreateCouponCodesData, BulkCreateCouponCodesResponse, BulkCreateCouponCodesError, GetBulkCreateCouponCodesJobData, GetBulkCreateCouponCodesJobResponse, GetBulkCreateCouponCodesJobError, GetCouponForCouponCodeData, GetCouponForCouponCodeResponse, GetCouponForCouponCodeError, GetCouponIdForCouponCodeData, GetCouponIdForCouponCodeResponse, GetCouponIdForCouponCodeError, GetCouponCodesForCouponData, GetCouponCodesForCouponResponse, GetCouponCodesForCouponError, GetCouponCodeIdsForCouponData, GetCouponCodeIdsForCouponResponse, GetCouponCodeIdsForCouponError, GetDataSourcesData, GetDataSourcesResponse, GetDataSourcesError, CreateDataSourceData, CreateDataSourceResponse, CreateDataSourceError, DeleteDataSourceData, DeleteDataSourceResponse, DeleteDataSourceError, GetDataSourceData, GetDataSourceResponse2, GetDataSourceError, BulkCreateDataSourceRecordsData, BulkCreateDataSourceRecordsResponse, BulkCreateDataSourceRecordsError, RequestProfileDeletionData, RequestProfileDeletionError, GetEventsData, GetEventsResponse, GetEventsError, CreateEventData, CreateEventError, GetEventData, GetEventResponse, GetEventError, BulkCreateEventsData, BulkCreateEventsError, GetMetricForEventData, GetMetricForEventResponse, GetMetricForEventError, GetMetricIdForEventData, GetMetricIdForEventResponse, GetMetricIdForEventError, GetProfileForEventData, GetProfileForEventResponse, GetProfileForEventError, GetProfileIdForEventData, GetProfileIdForEventResponse, GetProfileIdForEventError, GetFlowsData, GetFlowsResponse, GetFlowsError, CreateFlowData, CreateFlowResponse, CreateFlowError, DeleteFlowData, DeleteFlowResponse, DeleteFlowError, GetFlowData, GetFlowResponse2, GetFlowError, UpdateFlowData, UpdateFlowResponse, UpdateFlowError, GetFlowActionData, GetFlowActionResponse2, GetFlowActionError, GetFlowMessageData, GetFlowMessageResponse, GetFlowMessageError, GetActionsForFlowData, GetActionsForFlowResponse, GetActionsForFlowError, GetActionIdsForFlowData, GetActionIdsForFlowResponse, GetActionIdsForFlowError, GetTagsForFlowData, GetTagsForFlowResponse, GetTagsForFlowError, GetTagIdsForFlowData, GetTagIdsForFlowResponse, GetTagIdsForFlowError, GetFlowForFlowActionData, GetFlowForFlowActionResponse, GetFlowForFlowActionError, GetFlowIdForFlowActionData, GetFlowIdForFlowActionResponse, GetFlowIdForFlowActionError, GetFlowActionMessagesData, GetFlowActionMessagesResponse, GetFlowActionMessagesError, GetMessageIdsForFlowActionData, GetMessageIdsForFlowActionResponse, GetMessageIdsForFlowActionError, GetActionForFlowMessageData, GetActionForFlowMessageResponse, GetActionForFlowMessageError, GetActionIdForFlowMessageData, GetActionIdForFlowMessageResponse, GetActionIdForFlowMessageError, GetTemplateForFlowMessageData, GetTemplateForFlowMessageResponse, GetTemplateForFlowMessageError, GetTemplateIdForFlowMessageData, GetTemplateIdForFlowMessageResponse, GetTemplateIdForFlowMessageError, GetFormsData, GetFormsResponse, GetFormsError, DeleteFormData, DeleteFormResponse, DeleteFormError, GetFormData, GetFormResponse2, GetFormError, GetFormVersionData, GetFormVersionResponse2, GetFormVersionError, GetVersionsForFormData, GetVersionsForFormResponse, GetVersionsForFormError, GetVersionIdsForFormData, GetVersionIdsForFormResponse, GetVersionIdsForFormError, GetFormForFormVersionData, GetFormForFormVersionResponse, GetFormForFormVersionError, GetFormIdForFormVersionData, GetFormIdForFormVersionResponse, GetFormIdForFormVersionError, GetImagesData, GetImagesResponse, GetImagesError, UploadImageFromUrlData, UploadImageFromUrlResponse, UploadImageFromUrlError, GetImageData, GetImageResponse2, GetImageError, UpdateImageData, UpdateImageResponse, UpdateImageError, UploadImageFromFileData, UploadImageFromFileResponse, UploadImageFromFileError, GetListsData, GetListsResponse, GetListsError, CreateListData, CreateListResponse, CreateListError, DeleteListData, DeleteListResponse, DeleteListError, GetListData, GetListResponse, GetListError, UpdateListData, UpdateListResponse, UpdateListError, GetTagsForListData, GetTagsForListResponse, GetTagsForListError, GetTagIdsForListData, GetTagIdsForListResponse, GetTagIdsForListError, GetProfilesForListData, GetProfilesForListResponse, GetProfilesForListError, RemoveProfilesFromListData, RemoveProfilesFromListResponse, RemoveProfilesFromListError, GetProfileIdsForListData, GetProfileIdsForListResponse, GetProfileIdsForListError, AddProfilesToListData, AddProfilesToListResponse, AddProfilesToListError, GetFlowsTriggeredByListData, GetFlowsTriggeredByListResponse, GetFlowsTriggeredByListError, GetIdsForFlowsTriggeredByListData, GetIdsForFlowsTriggeredByListResponse, GetIdsForFlowsTriggeredByListError, GetMetricsData, GetMetricsResponse, GetMetricsError, GetMetricData, GetMetricResponse2, GetMetricError, GetMetricPropertyData, GetMetricPropertyResponse, GetMetricPropertyError, GetCustomMetricsData, GetCustomMetricsResponse, GetCustomMetricsError, CreateCustomMetricData, CreateCustomMetricResponse, CreateCustomMetricError, DeleteCustomMetricData, DeleteCustomMetricResponse, DeleteCustomMetricError, GetCustomMetricData, GetCustomMetricResponse2, GetCustomMetricError, UpdateCustomMetricData, UpdateCustomMetricResponse, UpdateCustomMetricError, GetMappedMetricsData, GetMappedMetricsResponse, GetMappedMetricsError, GetMappedMetricData, GetMappedMetricResponse, GetMappedMetricError, UpdateMappedMetricData, UpdateMappedMetricResponse, UpdateMappedMetricError, QueryMetricAggregatesData, QueryMetricAggregatesResponse, QueryMetricAggregatesError, GetFlowsTriggeredByMetricData, GetFlowsTriggeredByMetricResponse, GetFlowsTriggeredByMetricError, GetIdsForFlowsTriggeredByMetricData, GetIdsForFlowsTriggeredByMetricResponse, GetIdsForFlowsTriggeredByMetricError, GetPropertiesForMetricData, GetPropertiesForMetricResponse, GetPropertiesForMetricError, GetPropertyIdsForMetricData, GetPropertyIdsForMetricResponse, GetPropertyIdsForMetricError, GetMetricForMetricPropertyData, GetMetricForMetricPropertyResponse, GetMetricForMetricPropertyError, GetMetricIdForMetricPropertyData, GetMetricIdForMetricPropertyResponse, GetMetricIdForMetricPropertyError, GetMetricsForCustomMetricData, GetMetricsForCustomMetricResponse, GetMetricsForCustomMetricError, GetMetricIdsForCustomMetricData, GetMetricIdsForCustomMetricResponse, GetMetricIdsForCustomMetricError, GetMetricForMappedMetricData, GetMetricForMappedMetricResponse, GetMetricForMappedMetricError, GetMetricIdForMappedMetricData, GetMetricIdForMappedMetricResponse, GetMetricIdForMappedMetricError, GetCustomMetricForMappedMetricData, GetCustomMetricForMappedMetricResponse, GetCustomMetricForMappedMetricError, GetCustomMetricIdForMappedMetricData, GetCustomMetricIdForMappedMetricResponse, GetCustomMetricIdForMappedMetricError, GetProfilesData, GetProfilesResponse, GetProfilesError, CreateProfileData, CreateProfileResponse, CreateProfileError, GetProfileData, GetProfileResponse2, GetProfileError, UpdateProfileData, UpdateProfileResponse, UpdateProfileError, GetBulkImportProfilesJobsData, GetBulkImportProfilesJobsResponse, GetBulkImportProfilesJobsError, BulkImportProfilesData, BulkImportProfilesResponse, BulkImportProfilesError, GetBulkImportProfilesJobData, GetBulkImportProfilesJobResponse, GetBulkImportProfilesJobError, GetBulkSuppressProfilesJobsData, GetBulkSuppressProfilesJobsResponse, GetBulkSuppressProfilesJobsError, BulkSuppressProfilesData, BulkSuppressProfilesResponse, BulkSuppressProfilesError, GetBulkSuppressProfilesJobData, GetBulkSuppressProfilesJobResponse, GetBulkSuppressProfilesJobError, GetBulkUnsuppressProfilesJobsData, GetBulkUnsuppressProfilesJobsResponse, GetBulkUnsuppressProfilesJobsError, BulkUnsuppressProfilesData, BulkUnsuppressProfilesResponse, BulkUnsuppressProfilesError, GetBulkUnsuppressProfilesJobData, GetBulkUnsuppressProfilesJobResponse, GetBulkUnsuppressProfilesJobError, GetPushTokensData, GetPushTokensResponse, GetPushTokensError, CreatePushTokenData, CreatePushTokenError, DeletePushTokenData, DeletePushTokenResponse, DeletePushTokenError, GetPushTokenData, GetPushTokenResponse, GetPushTokenError, CreateOrUpdateProfileData, CreateOrUpdateProfileResponse, CreateOrUpdateProfileError, MergeProfilesData, MergeProfilesResponse, MergeProfilesError, BulkSubscribeProfilesData, BulkSubscribeProfilesError, BulkUnsubscribeProfilesData, BulkUnsubscribeProfilesError, GetPushTokensForProfileData, GetPushTokensForProfileResponse, GetPushTokensForProfileError, GetPushTokenIdsForProfileData, GetPushTokenIdsForProfileResponse, GetPushTokenIdsForProfileError, GetListsForProfileData, GetListsForProfileResponse, GetListsForProfileError, GetListIdsForProfileData, GetListIdsForProfileResponse, GetListIdsForProfileError, GetSegmentsForProfileData, GetSegmentsForProfileResponse, GetSegmentsForProfileError, GetSegmentIdsForProfileData, GetSegmentIdsForProfileResponse, GetSegmentIdsForProfileError, GetListForBulkImportProfilesJobData, GetListForBulkImportProfilesJobResponse, GetListForBulkImportProfilesJobError, GetListIdsForBulkImportProfilesJobData, GetListIdsForBulkImportProfilesJobResponse, GetListIdsForBulkImportProfilesJobError, GetProfilesForBulkImportProfilesJobData, GetProfilesForBulkImportProfilesJobResponse, GetProfilesForBulkImportProfilesJobError, GetProfileIdsForBulkImportProfilesJobData, GetProfileIdsForBulkImportProfilesJobResponse, GetProfileIdsForBulkImportProfilesJobError, GetErrorsForBulkImportProfilesJobData, GetErrorsForBulkImportProfilesJobResponse, GetErrorsForBulkImportProfilesJobError, GetProfileForPushTokenData, GetProfileForPushTokenResponse, GetProfileForPushTokenError, GetProfileIdForPushTokenData, GetProfileIdForPushTokenResponse, GetProfileIdForPushTokenError, QueryCampaignValuesData, QueryCampaignValuesResponse, QueryCampaignValuesError, QueryFlowValuesData, QueryFlowValuesResponse, QueryFlowValuesError, QueryFlowSeriesData, QueryFlowSeriesResponse, QueryFlowSeriesError, QueryFormValuesData, QueryFormValuesResponse, QueryFormValuesError, QueryFormSeriesData, QueryFormSeriesResponse, QueryFormSeriesError, QuerySegmentValuesData, QuerySegmentValuesResponse, QuerySegmentValuesError, QuerySegmentSeriesData, QuerySegmentSeriesResponse, QuerySegmentSeriesError, GetReviewsData, GetReviewsResponse, GetReviewsError, GetReviewData, GetReviewResponse, GetReviewError, UpdateReviewData, UpdateReviewResponse, UpdateReviewError, GetSegmentsData, GetSegmentsResponse, GetSegmentsError, CreateSegmentData, CreateSegmentResponse, CreateSegmentError, DeleteSegmentData, DeleteSegmentResponse, DeleteSegmentError, GetSegmentData, GetSegmentResponse, GetSegmentError, UpdateSegmentData, UpdateSegmentResponse, UpdateSegmentError, GetTagsForSegmentData, GetTagsForSegmentResponse, GetTagsForSegmentError, GetTagIdsForSegmentData, GetTagIdsForSegmentResponse, GetTagIdsForSegmentError, GetProfilesForSegmentData, GetProfilesForSegmentResponse, GetProfilesForSegmentError, GetProfileIdsForSegmentData, GetProfileIdsForSegmentResponse, GetProfileIdsForSegmentError, GetFlowsTriggeredBySegmentData, GetFlowsTriggeredBySegmentResponse, GetFlowsTriggeredBySegmentError, GetIdsForFlowsTriggeredBySegmentData, GetIdsForFlowsTriggeredBySegmentResponse, GetIdsForFlowsTriggeredBySegmentError, GetTagsData, GetTagsResponse, GetTagsError, CreateTagData, CreateTagResponse, CreateTagError, DeleteTagData, DeleteTagResponse, DeleteTagError, GetTagData, GetTagResponse, GetTagError, UpdateTagData, UpdateTagResponse, UpdateTagError, GetTagGroupsData, GetTagGroupsResponse, GetTagGroupsError, CreateTagGroupData, CreateTagGroupResponse, CreateTagGroupError, DeleteTagGroupData, DeleteTagGroupResponse2, DeleteTagGroupError, GetTagGroupData, GetTagGroupResponse2, GetTagGroupError, UpdateTagGroupData, UpdateTagGroupResponse, UpdateTagGroupError, RemoveTagFromFlowsData, RemoveTagFromFlowsResponse, RemoveTagFromFlowsError, GetFlowIdsForTagData, GetFlowIdsForTagResponse, GetFlowIdsForTagError, TagFlowsData, TagFlowsResponse, TagFlowsError, RemoveTagFromCampaignsData, RemoveTagFromCampaignsResponse, RemoveTagFromCampaignsError, GetCampaignIdsForTagData, GetCampaignIdsForTagResponse, GetCampaignIdsForTagError, TagCampaignsData, TagCampaignsResponse, TagCampaignsError, RemoveTagFromListsData, RemoveTagFromListsResponse, RemoveTagFromListsError, GetListIdsForTagData, GetListIdsForTagResponse, GetListIdsForTagError, TagListsData, TagListsResponse, TagListsError, RemoveTagFromSegmentsData, RemoveTagFromSegmentsResponse, RemoveTagFromSegmentsError, GetSegmentIdsForTagData, GetSegmentIdsForTagResponse, GetSegmentIdsForTagError, TagSegmentsData, TagSegmentsResponse, TagSegmentsError, GetTagGroupForTagData, GetTagGroupForTagResponse, GetTagGroupForTagError, GetTagGroupIdForTagData, GetTagGroupIdForTagResponse, GetTagGroupIdForTagError, GetTagsForTagGroupData, GetTagsForTagGroupResponse, GetTagsForTagGroupError, GetTagIdsForTagGroupData, GetTagIdsForTagGroupResponse, GetTagIdsForTagGroupError, GetTemplatesData, GetTemplatesResponse, GetTemplatesError, CreateTemplateData, CreateTemplateResponse, CreateTemplateError, DeleteTemplateData, DeleteTemplateResponse, DeleteTemplateError, GetTemplateData, GetTemplateResponse2, GetTemplateError, UpdateTemplateData, UpdateTemplateResponse, UpdateTemplateError, GetAllUniversalContentData, GetAllUniversalContentResponse, GetAllUniversalContentError, CreateUniversalContentData, CreateUniversalContentResponse, CreateUniversalContentError, DeleteUniversalContentData, DeleteUniversalContentResponse, DeleteUniversalContentError, GetUniversalContentData, GetUniversalContentResponse2, GetUniversalContentError, UpdateUniversalContentData, UpdateUniversalContentResponse, UpdateUniversalContentError, RenderTemplateData, RenderTemplateResponse, RenderTemplateError, CloneTemplateData, CloneTemplateResponse, CloneTemplateError, GetTrackingSettingsData, GetTrackingSettingsResponse, GetTrackingSettingsError, GetTrackingSettingData, GetTrackingSettingResponse2, GetTrackingSettingError, UpdateTrackingSettingData, UpdateTrackingSettingResponse, UpdateTrackingSettingError, GetWebFeedsData, GetWebFeedsResponse, GetWebFeedsError, CreateWebFeedData, CreateWebFeedResponse, CreateWebFeedError, DeleteWebFeedData, DeleteWebFeedResponse, DeleteWebFeedError, GetWebFeedData, GetWebFeedResponse2, GetWebFeedError, UpdateWebFeedData, UpdateWebFeedResponse, UpdateWebFeedError, GetWebhooksData, GetWebhooksResponse, GetWebhooksError, CreateWebhookData, CreateWebhookResponse, CreateWebhookError, DeleteWebhookData, DeleteWebhookResponse, DeleteWebhookError, GetWebhookData, GetWebhookResponse, GetWebhookError, UpdateWebhookData, UpdateWebhookResponse, UpdateWebhookError, GetWebhookTopicsData, GetWebhookTopicsResponse, GetWebhookTopicsError, GetWebhookTopicData, GetWebhookTopicResponse2, GetWebhookTopicError, GetClientReviewValuesReportsData, GetClientReviewValuesReportsResponse, GetClientReviewValuesReportsError, GetClientReviewsData, GetClientReviewsResponse, GetClientReviewsError, CreateClientReviewData, CreateClientReviewError, CreateClientSubscriptionData, CreateClientSubscriptionError, CreateClientPushTokenData, CreateClientPushTokenError, UnregisterClientPushTokenData, UnregisterClientPushTokenError, CreateClientEventData, CreateClientEventError, CreateClientProfileData, CreateClientProfileError, BulkCreateClientEventsData, BulkCreateClientEventsError, CreateClientBackInStockSubscriptionData, CreateClientBackInStockSubscriptionError } from './types.gen.js';\nimport { client as _heyApiClient } from './client.gen.js';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Get Accounts\n * Retrieve the account(s) associated with a given private API key. This will return 1 account object within the array.\n *\n * You can use this to retrieve account-specific data (contact information, timezone, currency, Public API key, etc.) or test if a Private API Key belongs to the correct account prior to performing subsequent actions with the API.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `accounts:read`\n */\nexport const getAccounts = <ThrowOnError extends boolean = false>(options: Options<GetAccountsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAccountsResponse, GetAccountsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/accounts',\n ...options\n });\n};\n\n/**\n * Get Account\n * Retrieve a single account object by its account ID. You can only request the account by which the private API key was generated.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `accounts:read`\n */\nexport const getAccount = <ThrowOnError extends boolean = false>(options: Options<GetAccountData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAccountResponse2, GetAccountError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/accounts/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaigns\n * Returns some or all campaigns based on filters.\n *\n * A channel filter is required to list campaigns. Please provide either:\n * `?filter=equals(messages.channel,'email')` to list email campaigns, or\n * `?filter=equals(messages.channel,'sms')` to list SMS campaigns.\n * `?filter=equals(messages.channel,'mobile_push')` to list mobile push campaigns.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaigns = <ThrowOnError extends boolean = false>(options: Options<GetCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignsResponse, GetCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns',\n ...options\n });\n};\n\n/**\n * Create Campaign\n * Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const createCampaign = <ThrowOnError extends boolean = false>(options: Options<CreateCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCampaignResponse, CreateCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Campaign\n * Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const deleteCampaign = <ThrowOnError extends boolean = false>(options: Options<DeleteCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCampaignResponse, DeleteCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaign\n * Returns a specific campaign based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaign = <ThrowOnError extends boolean = false>(options: Options<GetCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignResponse2, GetCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}',\n ...options\n });\n};\n\n/**\n * Update Campaign\n * Update a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const updateCampaign = <ThrowOnError extends boolean = false>(options: Options<UpdateCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCampaignResponse, UpdateCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Message\n * Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignMessageResponse, GetCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}',\n ...options\n });\n};\n\n/**\n * Update Campaign Message\n * Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const updateCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<UpdateCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCampaignMessageResponse, UpdateCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Send Job\n * Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignSendJob = <ThrowOnError extends boolean = false>(options: Options<GetCampaignSendJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignSendJobResponse2, GetCampaignSendJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-send-jobs/{id}',\n ...options\n });\n};\n\n/**\n * Cancel Campaign Send\n * Permanently cancel the campaign, setting the status to CANCELED or\n * revert the campaign, setting the status back to DRAFT<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const cancelCampaignSend = <ThrowOnError extends boolean = false>(options: Options<CancelCampaignSendData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CancelCampaignSendResponse, CancelCampaignSendError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-send-jobs/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign Recipient Estimation Job\n * Retrieve the status of a recipient estimation job triggered\n * with the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignRecipientEstimationJob = <ThrowOnError extends boolean = false>(options: Options<GetCampaignRecipientEstimationJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignRecipientEstimationJobResponse2, GetCampaignRecipientEstimationJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-recipient-estimation-jobs/{id}',\n ...options\n });\n};\n\n/**\n * Get Campaign Recipient Estimation\n * Get the estimated recipient count for a campaign with the provided campaign ID.\n * You can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignRecipientEstimation = <ThrowOnError extends boolean = false>(options: Options<GetCampaignRecipientEstimationData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignRecipientEstimationResponse2, GetCampaignRecipientEstimationError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-recipient-estimations/{id}',\n ...options\n });\n};\n\n/**\n * Create Campaign Clone\n * Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const createCampaignClone = <ThrowOnError extends boolean = false>(options: Options<CreateCampaignCloneData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCampaignCloneResponse, CreateCampaignCloneError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-clone',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Assign Template to Campaign Message\n * Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const assignTemplateToCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<AssignTemplateToCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssignTemplateToCampaignMessageResponse, AssignTemplateToCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-message-assign-template',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Send Campaign\n * Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const sendCampaign = <ThrowOnError extends boolean = false>(options: Options<SendCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SendCampaignResponse, SendCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-send-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Refresh Campaign Recipient Estimation\n * Trigger an asynchronous job to update the estimated number of recipients\n * for the given campaign ID. Use the `Get Campaign Recipient Estimation\n * Job` endpoint to retrieve the status of this estimation job. Use the\n * `Get Campaign Recipient Estimation` endpoint to retrieve the estimated\n * recipient count for a given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n */\nexport const refreshCampaignRecipientEstimation = <ThrowOnError extends boolean = false>(options: Options<RefreshCampaignRecipientEstimationData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<RefreshCampaignRecipientEstimationResponse, RefreshCampaignRecipientEstimationError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-recipient-estimation-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign for Campaign Message\n * Return the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignForCampaignMessageResponse, GetCampaignForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/campaign',\n ...options\n });\n};\n\n/**\n * Get Campaign ID for Campaign Message\n * Returns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getCampaignIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetCampaignIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignIdForCampaignMessageResponse, GetCampaignIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/campaign',\n ...options\n });\n};\n\n/**\n * Get Template for Campaign Message\n * Return the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `templates:read`\n */\nexport const getTemplateForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateForCampaignMessageResponse, GetTemplateForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/template',\n ...options\n });\n};\n\n/**\n * Get Template ID for Campaign Message\n * Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `templates:read`\n */\nexport const getTemplateIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateIdForCampaignMessageResponse, GetTemplateIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/template',\n ...options\n });\n};\n\n/**\n * Get Image for Campaign Message\n * Return the related image for a given campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `images:read`\n */\nexport const getImageForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetImageForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageForCampaignMessageResponse, GetImageForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaign-messages/{id}/image',\n ...options\n });\n};\n\n/**\n * Get Image ID for Campaign Message\n * Returns the ID of the related image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `images:read`\n */\nexport const getImageIdForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<GetImageIdForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageIdForCampaignMessageResponse, GetImageIdForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/image',\n ...options\n });\n};\n\n/**\n * Update Image for Campaign Message\n * Update a campaign message image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `images:read`\n */\nexport const updateImageForCampaignMessage = <ThrowOnError extends boolean = false>(options: Options<UpdateImageForCampaignMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateImageForCampaignMessageResponse, UpdateImageForCampaignMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-messages/{id}/relationships/image',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for Campaign\n * Return all tags that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getTagsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetTagsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForCampaignResponse, GetTagsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Campaign\n * Returns the IDs of all tags associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getTagIdsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForCampaignResponse, GetTagIdsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Messages for Campaign\n * Return all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getMessagesForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetMessagesForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessagesForCampaignResponse, GetMessagesForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/campaigns/{id}/campaign-messages',\n ...options\n });\n};\n\n/**\n * Get Message IDs for Campaign\n * Returns the IDs of all messages associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const getMessageIdsForCampaign = <ThrowOnError extends boolean = false>(options: Options<GetMessageIdsForCampaignData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessageIdsForCampaignResponse, GetMessageIdsForCampaignError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaigns/{id}/relationships/campaign-messages',\n ...options\n });\n};\n\n/**\n * Get Catalog Items\n * Get all catalog items in an account.\n *\n * Catalog items can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogItems = <ThrowOnError extends boolean = false>(options: Options<GetCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogItemsResponse, GetCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items',\n ...options\n });\n};\n\n/**\n * Create Catalog Item\n * Create a new catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogItem = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogItemResponse, CreateCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Item\n * Delete a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogItem = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogItemResponse, DeleteCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Item\n * Get a specific catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogItemResponse, GetCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Item\n * Update a catalog item with the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogItem = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogItemResponse, UpdateCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Catalog Variants\n * Get all variants in an account.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<GetCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogVariantsResponse, GetCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variants',\n ...options\n });\n};\n\n/**\n * Create Catalog Variant\n * Create a new variant for a related catalog item.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogVariantResponse, CreateCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Variant\n * Delete a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogVariantResponse, DeleteCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Variant\n * Get a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<GetCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogVariantResponse2, GetCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variants/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Variant\n * Update a catalog item variant with the given variant ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogVariant = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogVariantData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogVariantResponse, UpdateCatalogVariantError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variants/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Catalog Categories\n * Get all catalog categories in an account.\n *\n * Catalog categories can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Currently, the only supported integration type is `$custom`, and the only supported catalog type is `$default`.\n *\n * Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<GetCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogCategoriesResponse, GetCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories',\n ...options\n });\n};\n\n/**\n * Create Catalog Category\n * Create a new catalog category.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const createCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<CreateCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCatalogCategoryResponse, CreateCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Catalog Category\n * Delete a catalog category using the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const deleteCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<DeleteCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCatalogCategoryResponse, DeleteCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}',\n ...options\n });\n};\n\n/**\n * Get Catalog Category\n * Get a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCatalogCategoryResponse2, GetCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories/{id}',\n ...options\n });\n};\n\n/**\n * Update Catalog Category\n * Update a catalog category with the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<UpdateCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCatalogCategoryResponse, UpdateCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Catalog Items Jobs\n * Get all catalog item bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCatalogItemsJobsResponse, GetBulkCreateCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Items\n * Create a catalog item bulk create job to create a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogItemsResponse, BulkCreateCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Catalog Items Job\n * Get a catalog item bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `items`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCatalogItemsJobResponse, GetBulkCreateCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Catalog Items Jobs\n * Get all catalog item bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCatalogItemsJobsResponse, GetBulkUpdateCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Items\n * Create a catalog item bulk update job to update a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogItemsResponse, BulkUpdateCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Catalog Items Job\n * Get a catalog item bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `items`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCatalogItemsJobResponse, GetBulkUpdateCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Catalog Items Jobs\n * Get all catalog item bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCatalogItemsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCatalogItemsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCatalogItemsJobsResponse, GetBulkDeleteCatalogItemsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Items\n * Create a catalog item bulk delete job to delete a batch of catalog items.\n *\n * Accepts up to 100 catalog items per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogItems = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogItemsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogItemsResponse, BulkDeleteCatalogItemsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-item-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Catalog Items Job\n * Get a catalog item bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCatalogItemsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCatalogItemsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCatalogItemsJobResponse, GetBulkDeleteCatalogItemsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-item-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Create Variants Jobs\n * Get all catalog variant bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateVariantsJobsResponse, GetBulkCreateVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Variants\n * Create a catalog variant bulk create job to create a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogVariantsResponse, BulkCreateCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Variants Job\n * Get a catalog variant bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateVariantsJobResponse, GetBulkCreateVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Variants Jobs\n * Get all catalog variant bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateVariantsJobsResponse, GetBulkUpdateVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Variants\n * Create a catalog variant bulk update job to update a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogVariantsResponse, BulkUpdateCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Variants Job\n * Get a catalog variate bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `variants`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateVariantsJobResponse, GetBulkUpdateVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Variants Jobs\n * Get all catalog variant bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteVariantsJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteVariantsJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteVariantsJobsResponse, GetBulkDeleteVariantsJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Variants\n * Create a catalog variant bulk delete job to delete a batch of catalog variants.\n *\n * Accepts up to 100 catalog variants per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogVariants = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogVariantsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogVariantsResponse, BulkDeleteCatalogVariantsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-variant-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Variants Job\n * Get a catalog variant bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteVariantsJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteVariantsJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteVariantsJobResponse, GetBulkDeleteVariantsJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-variant-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Create Categories Jobs\n * Get all catalog category bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCategoriesJobsResponse, GetBulkCreateCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Catalog Categories\n * Create a catalog category bulk create job to create a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkCreateCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCatalogCategoriesResponse, BulkCreateCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Categories Job\n * Get a catalog category bulk create job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkCreateCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCategoriesJobResponse, GetBulkCreateCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Update Categories Jobs\n * Get all catalog category bulk update jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCategoriesJobsResponse, GetBulkUpdateCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-update-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Update Catalog Categories\n * Create a catalog category bulk update job to update a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkUpdateCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkUpdateCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUpdateCatalogCategoriesResponse, BulkUpdateCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-update-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Update Categories Job\n * Get a catalog category bulk update job with the given job ID.\n *\n * An `include` parameter can be provided to get the following related resource data: `categories`.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkUpdateCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUpdateCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUpdateCategoriesJobResponse, GetBulkUpdateCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-update-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Delete Categories Jobs\n * Get all catalog category bulk delete jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCategoriesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCategoriesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCategoriesJobsResponse, GetBulkDeleteCategoriesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Delete Catalog Categories\n * Create a catalog category bulk delete job to delete a batch of catalog categories.\n *\n * Accepts up to 100 catalog categories per request. The maximum allowed payload size is 5MB.\n * The maximum number of jobs in progress at one time is 500.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const bulkDeleteCatalogCategories = <ThrowOnError extends boolean = false>(options: Options<BulkDeleteCatalogCategoriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkDeleteCatalogCategoriesResponse, BulkDeleteCatalogCategoriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-category-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Delete Categories Job\n * Get a catalog category bulk delete job with the given job ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getBulkDeleteCategoriesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkDeleteCategoriesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkDeleteCategoriesJobResponse, GetBulkDeleteCategoriesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-category-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Create Back In Stock Subscription\n * Subscribe a profile to receive back in stock notifications. Check out [our Back in Stock API guide](https://developers.klaviyo.com/en/docs/how_to_set_up_custom_back_in_stock) for more details.\n *\n * This endpoint is specifically designed to be called from server-side applications. To create subscriptions from client-side contexts, use [POST /client/back-in-stock-subscriptions](https://developers.klaviyo.com/en/reference/create_client_back_in_stock_subscription).<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:write`\n * `profiles:write`\n */\nexport const createBackInStockSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateBackInStockSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateBackInStockSubscriptionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/back-in-stock-subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Items for Catalog Category\n * Get all items in a category with the given category ID.\n *\n * Items can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getItemsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetItemsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetItemsForCatalogCategoryResponse, GetItemsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-categories/{id}/items',\n ...options\n });\n};\n\n/**\n * Remove Items from Catalog Category\n * Delete item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const removeItemsFromCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<RemoveItemsFromCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveItemsFromCatalogCategoryResponse, RemoveItemsFromCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Item IDs for Catalog Category\n * Get all items in the given category ID. Returns a maximum of 100 items per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getItemIdsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<GetItemIdsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetItemIdsForCatalogCategoryResponse, GetItemIdsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options\n });\n};\n\n/**\n * Update Items for Catalog Category\n * Update item relationships for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateItemsForCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<UpdateItemsForCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateItemsForCatalogCategoryResponse, UpdateItemsForCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Add Items to Catalog Category\n * Create a new item relationship for the given category ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const addItemsToCatalogCategory = <ThrowOnError extends boolean = false>(options: Options<AddItemsToCatalogCategoryData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddItemsToCatalogCategoryResponse, AddItemsToCatalogCategoryError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-categories/{id}/relationships/items',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Variants for Catalog Item\n * Get all variants related to the given item ID.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getVariantsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetVariantsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVariantsForCatalogItemResponse, GetVariantsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}/variants',\n ...options\n });\n};\n\n/**\n * Get Variant IDs for Catalog Item\n * Get all variants related to the given item ID.\n *\n * Variants can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 variants per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getVariantIdsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetVariantIdsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVariantIdsForCatalogItemResponse, GetVariantIdsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/variants',\n ...options\n });\n};\n\n/**\n * Get Categories for Catalog Item\n * Get all catalog categories that an item with the given item ID is in.\n *\n * Catalog categories can be sorted by the following fields, in ascending and descending order:\n * `created`\n *\n * Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCategoriesForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCategoriesForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCategoriesForCatalogItemResponse, GetCategoriesForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/catalog-items/{id}/categories',\n ...options\n });\n};\n\n/**\n * Remove Categories from Catalog Item\n * Delete catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const removeCategoriesFromCatalogItem = <ThrowOnError extends boolean = false>(options: Options<RemoveCategoriesFromCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveCategoriesFromCatalogItemResponse, RemoveCategoriesFromCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Category IDs for Catalog Item\n * Get all catalog categories that a particular item is in. Returns a maximum of 100 categories per request.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:read`\n */\nexport const getCategoryIdsForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<GetCategoryIdsForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCategoryIdsForCatalogItemResponse, GetCategoryIdsForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options\n });\n};\n\n/**\n * Update Categories for Catalog Item\n * Update catalog category relationships for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const updateCategoriesForCatalogItem = <ThrowOnError extends boolean = false>(options: Options<UpdateCategoriesForCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCategoriesForCatalogItemResponse, UpdateCategoriesForCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Add Categories to Catalog Item\n * Create a new catalog category relationship for the given item ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `catalogs:write`\n */\nexport const addCategoriesToCatalogItem = <ThrowOnError extends boolean = false>(options: Options<AddCategoriesToCatalogItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddCategoriesToCatalogItemResponse, AddCategoriesToCatalogItemError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/catalog-items/{id}/relationships/categories',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Coupons\n * Get all coupons in an account.\n *\n * To learn more, see our [Coupons API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_coupons_api).<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCoupons = <ThrowOnError extends boolean = false>(options: Options<GetCouponsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponsResponse, GetCouponsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons',\n ...options\n });\n};\n\n/**\n * Create Coupon\n * Creates a new coupon.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const createCoupon = <ThrowOnError extends boolean = false>(options: Options<CreateCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCouponResponse, CreateCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Coupon\n * Delete the coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const deleteCoupon = <ThrowOnError extends boolean = false>(options: Options<DeleteCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCouponResponse, DeleteCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}',\n ...options\n });\n};\n\n/**\n * Get Coupon\n * Get a specific coupon with the given coupon ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponResponse2, GetCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons/{id}',\n ...options\n });\n};\n\n/**\n * Update Coupon\n * *Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `coupons:write`\n */\nexport const updateCoupon = <ThrowOnError extends boolean = false>(options: Options<UpdateCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCouponResponse, UpdateCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Coupon Codes\n * Gets a list of coupon codes associated with a coupon/coupons or a profile/profiles.\n *\n * A coupon/coupons or a profile/profiles must be provided as required filter params.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodes = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodesResponse, GetCouponCodesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes',\n ...options\n });\n};\n\n/**\n * Create Coupon Code\n * Synchronously creates a coupon code for the given coupon.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const createCouponCode = <ThrowOnError extends boolean = false>(options: Options<CreateCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCouponCodeResponse, CreateCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Coupon Code\n * Deletes a coupon code specified by the given identifier synchronously. If a profile has been assigned to the\n * coupon code, an exception will be raised<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const deleteCouponCode = <ThrowOnError extends boolean = false>(options: Options<DeleteCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCouponCodeResponse, DeleteCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}',\n ...options\n });\n};\n\n/**\n * Get Coupon Code\n * Returns a Coupon Code specified by the given identifier.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodeResponse, GetCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes/{id}',\n ...options\n });\n};\n\n/**\n * Update Coupon Code\n * Updates a coupon code specified by the given identifier synchronously. We allow updating the 'status' and\n * 'expires_at' of coupon codes.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const updateCouponCode = <ThrowOnError extends boolean = false>(options: Options<UpdateCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCouponCodeResponse, UpdateCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Coupon Code Jobs\n * Get all coupon code bulk create jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getBulkCreateCouponCodeJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCouponCodeJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCouponCodeJobsResponse, GetBulkCreateCouponCodeJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-code-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Create Coupon Codes\n * Create a coupon-code-bulk-create-job to bulk create a list of coupon codes.\n *\n * Max number of coupon codes per job we allow for is 1000.\n * Max number of jobs queued at once we allow for is 100.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:write`\n */\nexport const bulkCreateCouponCodes = <ThrowOnError extends boolean = false>(options: Options<BulkCreateCouponCodesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateCouponCodesResponse, BulkCreateCouponCodesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-code-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Create Coupon Codes Job\n * Get a coupon code bulk create job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getBulkCreateCouponCodesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkCreateCouponCodesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkCreateCouponCodesJobResponse, GetBulkCreateCouponCodesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-code-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Coupon For Coupon Code\n * Get the coupon associated with a given coupon code ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCouponForCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponForCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponForCouponCodeResponse, GetCouponForCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupon-codes/{id}/coupon',\n ...options\n });\n};\n\n/**\n * Get Coupon ID for Coupon Code\n * Gets the coupon relationship associated with the given coupon code id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupons:read`\n */\nexport const getCouponIdForCouponCode = <ThrowOnError extends boolean = false>(options: Options<GetCouponIdForCouponCodeData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponIdForCouponCodeResponse, GetCouponIdForCouponCodeError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupon-codes/{id}/relationships/coupon',\n ...options\n });\n};\n\n/**\n * Get Coupon Codes for Coupon\n * Gets a list of coupon codes associated with the given coupon id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodesForCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodesForCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodesForCouponResponse, GetCouponCodesForCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/coupons/{id}/coupon-codes',\n ...options\n });\n};\n\n/**\n * Get Coupon Code IDs for Coupon\n * Gets a list of coupon code relationships associated with the given coupon id<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `coupon-codes:read`\n */\nexport const getCouponCodeIdsForCoupon = <ThrowOnError extends boolean = false>(options: Options<GetCouponCodeIdsForCouponData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCouponCodeIdsForCouponResponse, GetCouponCodeIdsForCouponError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/coupons/{id}/relationships/coupon-codes',\n ...options\n });\n};\n\n/**\n * Get Data Sources\n * Get all data sources in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `custom-objects:read`\n */\nexport const getDataSources = <ThrowOnError extends boolean = false>(options: Options<GetDataSourcesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetDataSourcesResponse, GetDataSourcesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/data-sources',\n ...options\n });\n};\n\n/**\n * Create Data Source\n * Create a new data source in an account<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `custom-objects:write`\n */\nexport const createDataSource = <ThrowOnError extends boolean = false>(options: Options<CreateDataSourceData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateDataSourceResponse, CreateDataSourceError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/data-sources',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Data Source\n * Delete a data source in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `custom-objects:write`\n */\nexport const deleteDataSource = <ThrowOnError extends boolean = false>(options: Options<DeleteDataSourceData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteDataSourceResponse, DeleteDataSourceError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/data-sources/{id}',\n ...options\n });\n};\n\n/**\n * Get Data Source\n * Retrieve a data source in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `custom-objects:read`\n */\nexport const getDataSource = <ThrowOnError extends boolean = false>(options: Options<GetDataSourceData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetDataSourceResponse2, GetDataSourceError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/data-sources/{id}',\n ...options\n });\n};\n\n/**\n * Bulk Create Data Source Records\n * Create a data source record job.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `custom-objects:write`\n */\nexport const bulkCreateDataSourceRecords = <ThrowOnError extends boolean = false>(options: Options<BulkCreateDataSourceRecordsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkCreateDataSourceRecordsResponse, BulkCreateDataSourceRecordsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/data-source-record-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Request Profile Deletion\n * Request a deletion for the profiles corresponding to one of the following identifiers: `email`, `phone_number`, or `id`. If multiple identifiers are provided, we will return an error.\n *\n * All profiles that match the provided identifier will be deleted.\n *\n * The deletion occurs asynchronously; however, once it has completed, the deleted profile will appear on the [Deleted Profiles page](https://www.klaviyo.com/account/deleted).\n *\n * For more information on the deletion process, please refer to our [Help Center docs on how to handle GDPR and CCPA deletion requests](https://help.klaviyo.com/hc/en-us/articles/360004217631-How-to-Handle-GDPR-Requests#record-gdpr-and-ccpa%20%20-deletion-requests2).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `data-privacy:write`\n */\nexport const requestProfileDeletion = <ThrowOnError extends boolean = false>(options: Options<RequestProfileDeletionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, RequestProfileDeletionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/data-privacy-deletion-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Events\n * Get all events in an account\n *\n * Requests can be sorted by the following fields:\n * `datetime`, `timestamp`\n *\n * [Custom metrics](https://developers.klaviyo.com/en/reference/custom_metrics_api_overview) are not supported in the `metric_id` filter.\n *\n * Returns a maximum of 200 events per page.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n */\nexport const getEvents = <ThrowOnError extends boolean = false>(options: Options<GetEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetEventsResponse, GetEventsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events',\n ...options\n });\n};\n\n/**\n * Create Event\n * Create a new event to track a profile's activity.\n *\n * Note that this endpoint allows you to create a new profile or update an existing profile's properties.\n *\n * At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.\n *\n * Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const createEvent = <ThrowOnError extends boolean = false>(options: Options<CreateEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Event\n * Get an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:read`\n */\nexport const getEvent = <ThrowOnError extends boolean = false>(options: Options<GetEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetEventResponse, GetEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}',\n ...options\n });\n};\n\n/**\n * Bulk Create Events\n * Create a batch of events for one or more profiles.\n *\n * Note that this endpoint allows you to create new profiles or update existing profile properties.\n *\n * At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.\n *\n * Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB. A single string cannot exceed 100KB.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const bulkCreateEvents = <ThrowOnError extends boolean = false>(options: Options<BulkCreateEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkCreateEventsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/event-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Metric for Event\n * Get the metric for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `metrics:read`\n */\nexport const getMetricForEvent = <ThrowOnError extends boolean = false>(options: Options<GetMetricForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricForEventResponse, GetMetricForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}/metric',\n ...options\n });\n};\n\n/**\n * Get Metric ID for Event\n * Get a list of related Metrics for an Event<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `metrics:read`\n */\nexport const getMetricIdForEvent = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdForEventResponse, GetMetricIdForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events/{id}/relationships/metric',\n ...options\n });\n};\n\n/**\n * Get Profile for Event\n * Get the profile associated with an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `profiles:read`\n */\nexport const getProfileForEvent = <ThrowOnError extends boolean = false>(options: Options<GetProfileForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileForEventResponse, GetProfileForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/events/{id}/profile',\n ...options\n });\n};\n\n/**\n * Get Profile ID for Event\n * Get profile [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:read`\n * `profiles:read`\n */\nexport const getProfileIdForEvent = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdForEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdForEventResponse, GetProfileIdForEventError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/events/{id}/relationships/profile',\n ...options\n });\n};\n\n/**\n * Get Flows\n * Get all flows in an account.\n *\n * Returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlows = <ThrowOnError extends boolean = false>(options: Options<GetFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsResponse, GetFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows',\n ...options\n });\n};\n\n/**\n * Create Flow\n * Create a new flow using an encoded flow definition.\n *\n * New objects within the flow definition, such as actions, will need to use a\n * `temporary_id` field for identification. These will be replaced with traditional `id` fields\n * after successful creation.\n *\n * A successful request will return the new definition to you.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const createFlow = <ThrowOnError extends boolean = false>(options: Options<CreateFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateFlowResponse, CreateFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Flow\n * Delete a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const deleteFlow = <ThrowOnError extends boolean = false>(options: Options<DeleteFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteFlowResponse, DeleteFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}',\n ...options\n });\n};\n\n/**\n * Get Flow\n * Get a flow with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlow = <ThrowOnError extends boolean = false>(options: Options<GetFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowResponse2, GetFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}',\n ...options\n });\n};\n\n/**\n * Update Flow Status\n * Update the status of a flow with the given flow ID, and all actions in that flow.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n */\nexport const updateFlow = <ThrowOnError extends boolean = false>(options: Options<UpdateFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateFlowResponse, UpdateFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flow Action\n * Get a flow action from a flow with the given flow action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowActionResponse2, GetFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}',\n ...options\n });\n};\n\n/**\n * Get Flow Message\n * Get the flow message of a flow with the given message ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowMessageResponse, GetFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}',\n ...options\n });\n};\n\n/**\n * Get Actions for Flow\n * Get all flow actions associated with the given flow ID.\n *\n * Returns a maximum of 50 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetActionsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionsForFlowResponse, GetActionsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}/flow-actions',\n ...options\n });\n};\n\n/**\n * Get Action IDs for Flow\n * Get all [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for flow actions associated with the given flow ID.\n *\n * Returns a maximum of 100 flows per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionIdsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetActionIdsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionIdsForFlowResponse, GetActionIdsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}/relationships/flow-actions',\n ...options\n });\n};\n\n/**\n * Get Tags for Flow\n * Return all tags associated with the given flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getTagsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetTagsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForFlowResponse, GetTagsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flows/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Flow\n * Return the tag IDs of all tags associated with the given flow.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getTagIdsForFlow = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForFlowData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForFlowResponse, GetTagIdsForFlowError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flows/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Flow for Flow Action\n * Get the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowForFlowActionResponse, GetFlowForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}/flow',\n ...options\n });\n};\n\n/**\n * Get Flow ID for Flow Action\n * Get the flow associated with the given action ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowIdForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetFlowIdForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowIdForFlowActionResponse, GetFlowIdForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-actions/{id}/relationships/flow',\n ...options\n });\n};\n\n/**\n * Get Messages For Flow Action\n * Get all flow messages associated with the given flow action ID.\n *\n * Returns a maximum of 50 flow message relationships per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getFlowActionMessages = <ThrowOnError extends boolean = false>(options: Options<GetFlowActionMessagesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowActionMessagesResponse, GetFlowActionMessagesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-actions/{id}/flow-messages',\n ...options\n });\n};\n\n/**\n * Get Message IDs for Flow Action\n * Get all relationships for flow messages associated with the given flow action ID.\n *\n * Returns a maximum of 50 flow message relationships per request, which can be paginated with cursor-based pagination.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getMessageIdsForFlowAction = <ThrowOnError extends boolean = false>(options: Options<GetMessageIdsForFlowActionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMessageIdsForFlowActionResponse, GetMessageIdsForFlowActionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-actions/{id}/relationships/flow-messages',\n ...options\n });\n};\n\n/**\n * Get Action for Flow Message\n * Get the flow action for a flow message with the given message ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetActionForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionForFlowMessageResponse, GetActionForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}/flow-action',\n ...options\n });\n};\n\n/**\n * Get Action ID for Flow Message\n * Get the [relationship](https://developers.klaviyo.com/en/reference/api_overview#relationships) for a flow message's flow action, given the flow ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const getActionIdForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetActionIdForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetActionIdForFlowMessageResponse, GetActionIdForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-messages/{id}/relationships/flow-action',\n ...options\n });\n};\n\n/**\n * Get Template for Flow Message\n * Return the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplateForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateForFlowMessageResponse, GetTemplateForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/flow-messages/{id}/template',\n ...options\n });\n};\n\n/**\n * Get Template ID for Flow Message\n * Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplateIdForFlowMessage = <ThrowOnError extends boolean = false>(options: Options<GetTemplateIdForFlowMessageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateIdForFlowMessageResponse, GetTemplateIdForFlowMessageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-messages/{id}/relationships/template',\n ...options\n });\n};\n\n/**\n * Get Forms\n * Get all forms in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getForms = <ThrowOnError extends boolean = false>(options: Options<GetFormsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormsResponse, GetFormsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms',\n ...options\n });\n};\n\n/**\n * Delete Form\n * Delete a given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:write`\n */\nexport const deleteForm = <ThrowOnError extends boolean = false>(options: Options<DeleteFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteFormResponse, DeleteFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/forms/{id}',\n ...options\n });\n};\n\n/**\n * Get Form\n * Get the form with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getForm = <ThrowOnError extends boolean = false>(options: Options<GetFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormResponse2, GetFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms/{id}',\n ...options\n });\n};\n\n/**\n * Get Form Version\n * Get the form version with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormVersionResponse2, GetFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/form-versions/{id}',\n ...options\n });\n};\n\n/**\n * Get Versions for Form\n * Get the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getVersionsForForm = <ThrowOnError extends boolean = false>(options: Options<GetVersionsForFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVersionsForFormResponse, GetVersionsForFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/forms/{id}/form-versions',\n ...options\n });\n};\n\n/**\n * Get Version IDs for Form\n * Get the IDs of the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getVersionIdsForForm = <ThrowOnError extends boolean = false>(options: Options<GetVersionIdsForFormData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetVersionIdsForFormResponse, GetVersionIdsForFormError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/forms/{id}/relationships/form-versions',\n ...options\n });\n};\n\n/**\n * Get Form for Form Version\n * Get the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormForFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormForFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormForFormVersionResponse, GetFormForFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/form-versions/{id}/form',\n ...options\n });\n};\n\n/**\n * Get Form ID for Form Version\n * Get the ID of the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const getFormIdForFormVersion = <ThrowOnError extends boolean = false>(options: Options<GetFormIdForFormVersionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFormIdForFormVersionResponse, GetFormIdForFormVersionError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-versions/{id}/relationships/form',\n ...options\n });\n};\n\n/**\n * Get Images\n * Get all images in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:read`\n */\nexport const getImages = <ThrowOnError extends boolean = false>(options: Options<GetImagesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImagesResponse, GetImagesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/images',\n ...options\n });\n};\n\n/**\n * Upload Image From URL\n * Import an image from a url or data uri.\n *\n * If you want to upload an image from a file, use the Upload Image From File endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `100/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const uploadImageFromUrl = <ThrowOnError extends boolean = false>(options: Options<UploadImageFromUrlData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UploadImageFromUrlResponse, UploadImageFromUrlError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/images',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Image\n * Get the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:read`\n */\nexport const getImage = <ThrowOnError extends boolean = false>(options: Options<GetImageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetImageResponse2, GetImageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/images/{id}',\n ...options\n });\n};\n\n/**\n * Update Image\n * Update the image with the given image ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const updateImage = <ThrowOnError extends boolean = false>(options: Options<UpdateImageData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateImageResponse, UpdateImageError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/images/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Upload Image From File\n * Upload an image from a file.\n *\n * If you want to import an image from an existing url or a data uri, use the Upload Image From URL endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `100/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `images:write`\n */\nexport const uploadImageFromFile = <ThrowOnError extends boolean = false>(options: Options<UploadImageFromFileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UploadImageFromFileResponse, UploadImageFromFileError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/image-upload',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Lists\n * Get all lists in an account.\n *\n * Filter to request a subset of all lists. Lists can be filtered by `id`, `name`, `created`, and `updated` fields.\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getLists = <ThrowOnError extends boolean = false>(options: Options<GetListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListsResponse, GetListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists',\n ...options\n });\n};\n\n/**\n * Create List\n * Create a new list.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`<br>Daily: `150/d`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const createList = <ThrowOnError extends boolean = false>(options: Options<CreateListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateListResponse, CreateListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete List\n * Delete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const deleteList = <ThrowOnError extends boolean = false>(options: Options<DeleteListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteListResponse, DeleteListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}',\n ...options\n });\n};\n\n/**\n * Get List\n * Get a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[list]=profile_count` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getList = <ThrowOnError extends boolean = false>(options: Options<GetListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListResponse, GetListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}',\n ...options\n });\n};\n\n/**\n * Update List\n * Update the name of a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n */\nexport const updateList = <ThrowOnError extends boolean = false>(options: Options<UpdateListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateListResponse, UpdateListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for List\n * Return all tags associated with the given list ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getTagsForList = <ThrowOnError extends boolean = false>(options: Options<GetTagsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForListResponse, GetTagsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for List\n * Return all tags associated with the given list ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getTagIdsForList = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForListResponse, GetTagIdsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Profiles for List\n * Get all profiles within a list with the given list ID.\n *\n * Filter to request a subset of all profiles. Profiles can be filtered by `email`, `phone_number`, `push_token`, and `joined_group_at` fields. Profiles can be sorted by the following fields, in ascending and descending order: `joined_group_at`<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getProfilesForList = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForListResponse, GetProfilesForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Remove Profiles from List\n * Remove a profile from a list with the given list ID.\n *\n * The provided profile will no longer receive marketing from this particular list once removed.\n *\n * Removing a profile from a list will not impact the profile's [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) status or subscription status in general.\n * To update a profile's subscription status, please use the [Unsubscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/unsubscribe_profiles).\n *\n * This endpoint accepts a maximum of 1000 profiles per call.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const removeProfilesFromList = <ThrowOnError extends boolean = false>(options: Options<RemoveProfilesFromListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveProfilesFromListResponse, RemoveProfilesFromListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Profile IDs for List\n * Get profile membership [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getProfileIdsForList = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForListResponse, GetProfileIdsForListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Add Profiles to List\n * Add a profile to a list with the given list ID.\n *\n * It is recommended that you use the [Subscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/subscribe_profiles) if you're trying to give a profile [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) to receive email marketing, SMS marketing, or both.\n *\n * This endpoint accepts a maximum of 1000 profiles per call.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const addProfilesToList = <ThrowOnError extends boolean = false>(options: Options<AddProfilesToListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AddProfilesToListResponse, AddProfilesToListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flows Triggered by List\n * Get all flows where the given list ID is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `lists:read`\n */\nexport const getFlowsTriggeredByList = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredByListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredByListResponse, GetFlowsTriggeredByListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/lists/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by List\n * Get the IDs of all flows where the given list is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `lists:read`\n */\nexport const getIdsForFlowsTriggeredByList = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredByListData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredByListResponse, GetIdsForFlowsTriggeredByListError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/lists/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Metrics\n * Get all metrics in an account.\n *\n * Requests can be filtered by the following fields:\n * integration `name`, integration `category`\n *\n * Returns a maximum of 200 results per page.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetrics = <ThrowOnError extends boolean = false>(options: Options<GetMetricsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricsResponse, GetMetricsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics',\n ...options\n });\n};\n\n/**\n * Get Metric\n * Get a metric with the given metric ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricResponse2, GetMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}',\n ...options\n });\n};\n\n/**\n * Get Metric Property\n * Get a metric property with the given metric property ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricPropertyResponse, GetMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metric-properties/{id}',\n ...options\n });\n};\n\n/**\n * Get Custom Metrics\n * Get all custom metrics in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetrics = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricsResponse, GetCustomMetricsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics',\n ...options\n });\n};\n\n/**\n * Create Custom Metric\n * Create a new custom metric.\n *\n * Custom metric objects must include a `name` and `definition`.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `15/d`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const createCustomMetric = <ThrowOnError extends boolean = false>(options: Options<CreateCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateCustomMetricResponse, CreateCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Custom Metric\n * Delete a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const deleteCustomMetric = <ThrowOnError extends boolean = false>(options: Options<DeleteCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteCustomMetricResponse, DeleteCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}',\n ...options\n });\n};\n\n/**\n * Get Custom Metric\n * Get a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricResponse2, GetCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics/{id}',\n ...options\n });\n};\n\n/**\n * Update Custom Metric\n * Update a custom metric with the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `15/d`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const updateCustomMetric = <ThrowOnError extends boolean = false>(options: Options<UpdateCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateCustomMetricResponse, UpdateCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Mapped Metrics\n * Get all mapped metrics in an account.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMappedMetrics = <ThrowOnError extends boolean = false>(options: Options<GetMappedMetricsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMappedMetricsResponse, GetMappedMetricsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/mapped-metrics',\n ...options\n });\n};\n\n/**\n * Get Mapped Metric\n * Get the mapped metric with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMappedMetric = <ThrowOnError extends boolean = false>(options: Options<GetMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMappedMetricResponse, GetMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/mapped-metrics/{id}',\n ...options\n });\n};\n\n/**\n * Update Mapped Metric\n * Update the mapped metric with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `30/d`\n *\n * **Scopes:**\n * `metrics:write`\n */\nexport const updateMappedMetric = <ThrowOnError extends boolean = false>(options: Options<UpdateMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateMappedMetricResponse, UpdateMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/mapped-metrics/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Metric Aggregates\n * Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events (not to be confused with [custom metrics](https://developers.klaviyo.com/en/reference/custom_metrics_api_overview), which are not supported at this time). Queries must be passed in the JSON body of your `POST` request.\n *\n * To request campaign and flow performance data that matches the data shown in Klaviyo's UI, we recommend the [Reporting API](https://developers.klaviyo.com/en/reference/reporting_api_overview).\n *\n * Results can be filtered and grouped by time, event, or profile dimensions.\n *\n * To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint).\n *\n * For a comprehensive list of request body parameters, native Klaviyo metrics, and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const queryMetricAggregates = <ThrowOnError extends boolean = false>(options: Options<QueryMetricAggregatesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryMetricAggregatesResponse, QueryMetricAggregatesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metric-aggregates',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flows Triggered by Metric\n * Get all flows where the given metric is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `flows:read`\n * `metrics:read`\n */\nexport const getFlowsTriggeredByMetric = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredByMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredByMetricResponse, GetFlowsTriggeredByMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by Metric\n * Get the IDs of all flows where the given metric is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `flows:read`\n * `metrics:read`\n */\nexport const getIdsForFlowsTriggeredByMetric = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredByMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredByMetricResponse, GetIdsForFlowsTriggeredByMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metrics/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Properties for Metric\n * Get the metric properties for the given metric ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getPropertiesForMetric = <ThrowOnError extends boolean = false>(options: Options<GetPropertiesForMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPropertiesForMetricResponse, GetPropertiesForMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metrics/{id}/metric-properties',\n ...options\n });\n};\n\n/**\n * Get Property IDs for Metric\n * Get the IDs of metric properties for the given metric.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getPropertyIdsForMetric = <ThrowOnError extends boolean = false>(options: Options<GetPropertyIdsForMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPropertyIdsForMetricResponse, GetPropertyIdsForMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metrics/{id}/relationships/metric-properties',\n ...options\n });\n};\n\n/**\n * Get Metric for Metric Property\n * Get the metric for the given metric property ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricForMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricForMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricForMetricPropertyResponse, GetMetricForMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/metric-properties/{id}/metric',\n ...options\n });\n};\n\n/**\n * Get Metric ID for Metric Property\n * Get the ID of the metric for the given metric property.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricIdForMetricProperty = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdForMetricPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdForMetricPropertyResponse, GetMetricIdForMetricPropertyError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/metric-properties/{id}/relationships/metric',\n ...options\n });\n};\n\n/**\n * Get Metrics for Custom Metric\n * Get all metrics for the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricsForCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricsForCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricsForCustomMetricResponse, GetMetricsForCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/custom-metrics/{id}/metrics',\n ...options\n });\n};\n\n/**\n * Get Metric IDs for Custom Metric\n * Get all metrics for the given custom metric ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricIdsForCustomMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdsForCustomMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdsForCustomMetricResponse, GetMetricIdsForCustomMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/custom-metrics/{id}/relationships/metrics',\n ...options\n });\n};\n\n/**\n * Get Metric for Mapped Metric\n * Get the metric for the given mapped metric ID (if applicable).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricForMappedMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricForMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricForMappedMetricResponse, GetMetricForMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/mapped-metrics/{id}/metric',\n ...options\n });\n};\n\n/**\n * Get Metric ID for Mapped Metric\n * Get the ID of the metric for the given mapped metric.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getMetricIdForMappedMetric = <ThrowOnError extends boolean = false>(options: Options<GetMetricIdForMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetMetricIdForMappedMetricResponse, GetMetricIdForMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/mapped-metrics/{id}/relationships/metric',\n ...options\n });\n};\n\n/**\n * Get Custom Metric for Mapped Metric\n * Get the custom metric for the given mapped metric ID (if applicable).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetricForMappedMetric = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricForMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricForMappedMetricResponse, GetCustomMetricForMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/mapped-metrics/{id}/custom-metric',\n ...options\n });\n};\n\n/**\n * Get Custom Metric ID for Mapped Metric\n * Get the ID of the custom metric for the given mapped metric.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `metrics:read`\n */\nexport const getCustomMetricIdForMappedMetric = <ThrowOnError extends boolean = false>(options: Options<GetCustomMetricIdForMappedMetricData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCustomMetricIdForMappedMetricResponse, GetCustomMetricIdForMappedMetricError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/mapped-metrics/{id}/relationships/custom-metric',\n ...options\n });\n};\n\n/**\n * Get Profiles\n * Get all profiles in an account.\n *\n * 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`\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:<br>Burst: `10/s`<br>Steady: `150/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfiles = <ThrowOnError extends boolean = false>(options: Options<GetProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesResponse, GetProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles',\n ...options\n });\n};\n\n/**\n * Create Profile\n * Create a new profile.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createProfile = <ThrowOnError extends boolean = false>(options: Options<CreateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateProfileResponse, CreateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Profile\n * Get the profile with the given profile ID.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `include=list` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>Rate limits when using the `include=segment` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfile = <ThrowOnError extends boolean = false>(options: Options<GetProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileResponse2, GetProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}',\n ...options\n });\n};\n\n/**\n * Update Profile\n * Update the profile with the given profile ID.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const updateProfile = <ThrowOnError extends boolean = false>(options: Options<UpdateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateProfileResponse, UpdateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Import Profiles Jobs\n * Get all bulk profile import jobs.\n *\n * Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getBulkImportProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkImportProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkImportProfilesJobsResponse, GetBulkImportProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Import Profiles\n * Create a bulk profile import job to create or update a batch of profiles.\n *\n * Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB.\n *\n * To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n */\nexport const bulkImportProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkImportProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkImportProfilesResponse, BulkImportProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Import Profiles Job\n * Get a bulk profile import job with the given job ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkImportProfilesJobResponse, GetBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Suppress Profiles Jobs\n * Get the status of all bulk profile suppression jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkSuppressProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkSuppressProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkSuppressProfilesJobsResponse, GetBulkSuppressProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-create-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Suppress Profiles\n * Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list.\n *\n * 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).\n *\n * Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkSuppressProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkSuppressProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkSuppressProfilesResponse, BulkSuppressProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-suppression-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Suppress Profiles Job\n * Get the bulk suppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkSuppressProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkSuppressProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkSuppressProfilesJobResponse, GetBulkSuppressProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-create-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Bulk Unsuppress Profiles Jobs\n * Get all bulk unsuppress profiles jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkUnsuppressProfilesJobs = <ThrowOnError extends boolean = false>(options: Options<GetBulkUnsuppressProfilesJobsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUnsuppressProfilesJobsResponse, GetBulkUnsuppressProfilesJobsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-delete-jobs',\n ...options\n });\n};\n\n/**\n * Bulk Unsuppress Profiles\n * Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list.\n *\n * 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).\n *\n * Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:write`\n */\nexport const bulkUnsuppressProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkUnsuppressProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<BulkUnsuppressProfilesResponse, BulkUnsuppressProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-suppression-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Bulk Unsuppress Profiles Job\n * Get the bulk unsuppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:read`\n */\nexport const getBulkUnsuppressProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetBulkUnsuppressProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetBulkUnsuppressProfilesJobResponse, GetBulkUnsuppressProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-suppression-bulk-delete-jobs/{job_id}',\n ...options\n });\n};\n\n/**\n * Get Push Tokens\n * Return push tokens associated with company.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getPushTokens = <ThrowOnError extends boolean = false>(options: Options<GetPushTokensData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokensResponse, GetPushTokensError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens',\n ...options\n });\n};\n\n/**\n * Create or Update Push Token\n * Create or update a push token.\n *\n * 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.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n * `push-tokens:write`\n */\nexport const createPushToken = <ThrowOnError extends boolean = false>(options: Options<CreatePushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreatePushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Push Token\n * Delete a specific push token based on its ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `push-tokens:write`\n */\nexport const deletePushToken = <ThrowOnError extends boolean = false>(options: Options<DeletePushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeletePushTokenResponse, DeletePushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens/{id}',\n ...options\n });\n};\n\n/**\n * Get Push Token\n * Return a specific push token based on its ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getPushToken = <ThrowOnError extends boolean = false>(options: Options<GetPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokenResponse, GetPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens/{id}',\n ...options\n });\n};\n\n/**\n * Create or Update Profile\n * Given a set of profile attributes and optionally an ID, create or update a profile.\n *\n * Returns 201 if a new profile was created, 200 if an existing profile was updated.\n *\n * Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.\n *\n * Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.\n *\n * The maximum allowed payload size is 100KB.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createOrUpdateProfile = <ThrowOnError extends boolean = false>(options: Options<CreateOrUpdateProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateOrUpdateProfileResponse, CreateOrUpdateProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-import',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Merge Profiles\n * Merge a given related profile into a profile with the given profile ID.\n *\n * 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).\n * 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.\n *\n * 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).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const mergeProfiles = <ThrowOnError extends boolean = false>(options: Options<MergeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<MergeProfilesResponse, MergeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-merge',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Subscribe Profiles\n * Subscribe one or more profiles to email marketing, SMS marketing, or both. 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.\n * Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api).\n *\n * 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).\n *\n * 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).\n *\n * 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).\n *\n * Maximum number of profiles can be submitted for subscription: 1000\n *\n * 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.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkSubscribeProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkSubscribeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkSubscribeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-subscription-bulk-create-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Unsubscribe Profiles\n * > 🚧\n * >\n * > Profiles not in the specified list will be globally unsubscribed. Always verify profile list membership before calling this endpoint to avoid unintended global unsubscribes.\n *\n * Unsubscribe one or more profiles to email marketing, SMS marketing, or both. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api).\n *\n * 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).\n *\n * Maximum number of profiles per call: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `lists:write`\n * `profiles:write`\n * `subscriptions:write`\n */\nexport const bulkUnsubscribeProfiles = <ThrowOnError extends boolean = false>(options: Options<BulkUnsubscribeProfilesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkUnsubscribeProfilesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-subscription-bulk-delete-jobs',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Push Tokens for Profile\n * Return all push tokens that belong to the given profile.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getPushTokensForProfile = <ThrowOnError extends boolean = false>(options: Options<GetPushTokensForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokensForProfileResponse, GetPushTokensForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/push-tokens',\n ...options\n });\n};\n\n/**\n * Get Push Token IDs for Profile\n * Return the IDs of all push tokens associated with the given profile.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getPushTokenIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetPushTokenIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetPushTokenIdsForProfileResponse, GetPushTokenIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/push-tokens',\n ...options\n });\n};\n\n/**\n * Get Lists for Profile\n * Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getListsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetListsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListsForProfileResponse, GetListsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/lists',\n ...options\n });\n};\n\n/**\n * Get List IDs for Profile\n * Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `profiles:read`\n */\nexport const getListIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForProfileResponse, GetListIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Get Segments for Profile\n * Get segment memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getSegmentsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetSegmentsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentsForProfileResponse, GetSegmentsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profiles/{id}/segments',\n ...options\n });\n};\n\n/**\n * Get Segment IDs for Profile\n * Get segment membership relationships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getSegmentIdsForProfile = <ThrowOnError extends boolean = false>(options: Options<GetSegmentIdsForProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentIdsForProfileResponse, GetSegmentIdsForProfileError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profiles/{id}/relationships/segments',\n ...options\n });\n};\n\n/**\n * Get List for Bulk Import Profiles Job\n * Get list for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getListForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetListForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListForBulkImportProfilesJobResponse, GetListForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/lists',\n ...options\n });\n};\n\n/**\n * Get List IDs for Bulk Import Profiles Job\n * Get list relationship for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `lists:read`\n */\nexport const getListIdsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForBulkImportProfilesJobResponse, GetListIdsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Get Profiles for Bulk Import Profiles Job\n * Get profiles for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfilesForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForBulkImportProfilesJobResponse, GetProfilesForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Get Profile IDs for Bulk Import Profiles Job\n * Get profile relationships for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getProfileIdsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForBulkImportProfilesJobResponse, GetProfileIdsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/profile-bulk-import-jobs/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Get Errors for Bulk Import Profiles Job\n * Get import errors for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n */\nexport const getErrorsForBulkImportProfilesJob = <ThrowOnError extends boolean = false>(options: Options<GetErrorsForBulkImportProfilesJobData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetErrorsForBulkImportProfilesJobResponse, GetErrorsForBulkImportProfilesJobError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/profile-bulk-import-jobs/{id}/import-errors',\n ...options\n });\n};\n\n/**\n * Get Profile for Push Token\n * Return the profile associated with the given push token.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getProfileForPushToken = <ThrowOnError extends boolean = false>(options: Options<GetProfileForPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileForPushTokenResponse, GetProfileForPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/push-tokens/{id}/profile',\n ...options\n });\n};\n\n/**\n * Get Profile ID for Push Token\n * Return the ID of the profile associated with the given push token.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `push-tokens:read`\n */\nexport const getProfileIdForPushToken = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdForPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdForPushTokenResponse, GetProfileIdForPushTokenError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/push-tokens/{id}/relationships/profile',\n ...options\n });\n};\n\n/**\n * Query Campaign Values\n * Returns the requested campaign analytics values data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `campaigns:read`\n */\nexport const queryCampaignValues = <ThrowOnError extends boolean = false>(options: Options<QueryCampaignValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryCampaignValuesResponse, QueryCampaignValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/campaign-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Flow Values\n * Returns the requested flow analytics values data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const queryFlowValues = <ThrowOnError extends boolean = false>(options: Options<QueryFlowValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFlowValuesResponse, QueryFlowValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Flow Series\n * Returns the requested flow analytics series data<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `flows:read`\n */\nexport const queryFlowSeries = <ThrowOnError extends boolean = false>(options: Options<QueryFlowSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFlowSeriesResponse, QueryFlowSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/flow-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Form Values\n * Returns the requested form analytics values data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const queryFormValues = <ThrowOnError extends boolean = false>(options: Options<QueryFormValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFormValuesResponse, QueryFormValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Form Series\n * Returns the requested form analytics series data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `forms:read`\n */\nexport const queryFormSeries = <ThrowOnError extends boolean = false>(options: Options<QueryFormSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QueryFormSeriesResponse, QueryFormSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/form-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Segment Values\n * Returns the requested segment analytics values data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const querySegmentValues = <ThrowOnError extends boolean = false>(options: Options<QuerySegmentValuesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QuerySegmentValuesResponse, QuerySegmentValuesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segment-values-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Query Segment Series\n * Returns the requested segment analytics series data.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `2/m`<br>Daily: `225/d`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const querySegmentSeries = <ThrowOnError extends boolean = false>(options: Options<QuerySegmentSeriesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<QuerySegmentSeriesResponse, QuerySegmentSeriesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segment-series-reports',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Reviews\n * Get all reviews.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:read`\n */\nexport const getReviews = <ThrowOnError extends boolean = false>(options: Options<GetReviewsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetReviewsResponse, GetReviewsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/reviews',\n ...options\n });\n};\n\n/**\n * Get Review\n * Get the review with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:read`\n */\nexport const getReview = <ThrowOnError extends boolean = false>(options: Options<GetReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetReviewResponse, GetReviewError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/reviews/{id}',\n ...options\n });\n};\n\n/**\n * Update Review\n * Update a review.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `reviews:write`\n */\nexport const updateReview = <ThrowOnError extends boolean = false>(options: Options<UpdateReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateReviewResponse, UpdateReviewError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/reviews/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Segments\n * Get all segments in an account.\n *\n * Filter to request a subset of all segments. Segments can be filtered by `name`, `created`, and `updated` fields.\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const getSegments = <ThrowOnError extends boolean = false>(options: Options<GetSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentsResponse, GetSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments',\n ...options\n });\n};\n\n/**\n * Create Segment\n * Create a segment.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const createSegment = <ThrowOnError extends boolean = false>(options: Options<CreateSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateSegmentResponse, CreateSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Segment\n * Delete a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const deleteSegment = <ThrowOnError extends boolean = false>(options: Options<DeleteSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteSegmentResponse, DeleteSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}',\n ...options\n });\n};\n\n/**\n * Get Segment\n * Get a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[segment]=profile_count` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>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/v2025-07-15/docs/rate_limits_and_error_handling) guide.\n *\n * **Scopes:**\n * `segments:read`\n */\nexport const getSegment = <ThrowOnError extends boolean = false>(options: Options<GetSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentResponse, GetSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}',\n ...options\n });\n};\n\n/**\n * Update Segment\n * Update a segment with the given segment ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`<br>Daily: `100/d`\n *\n * **Scopes:**\n * `segments:write`\n */\nexport const updateSegment = <ThrowOnError extends boolean = false>(options: Options<UpdateSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateSegmentResponse, UpdateSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tags for Segment\n * Return all tags associated with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getTagsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetTagsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForSegmentResponse, GetTagsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Segment\n * If `related_resource` is `tags`, returns the tag IDs of all tags associated with the given segment ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getTagIdsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForSegmentResponse, GetTagIdsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Profiles for Segment\n * Get all profiles within a segment with the given segment ID.\n *\n * Filter to request a subset of all profiles. Profiles can be filtered by `email`, `phone_number`, `push_token`, and `joined_group_at` fields. Profiles can be sorted by the following fields, in ascending and descending order: `joined_group_at`<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getProfilesForSegment = <ThrowOnError extends boolean = false>(options: Options<GetProfilesForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfilesForSegmentResponse, GetProfilesForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/profiles',\n ...options\n });\n};\n\n/**\n * Get Profile IDs for Segment\n * Get all profile membership [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for the given segment ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `profiles:read`\n * `segments:read`\n */\nexport const getProfileIdsForSegment = <ThrowOnError extends boolean = false>(options: Options<GetProfileIdsForSegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileIdsForSegmentResponse, GetProfileIdsForSegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/profiles',\n ...options\n });\n};\n\n/**\n * Get Flows Triggered by Segment\n * Get all flows where the given segment ID is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `segments:read`\n */\nexport const getFlowsTriggeredBySegment = <ThrowOnError extends boolean = false>(options: Options<GetFlowsTriggeredBySegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowsTriggeredBySegmentResponse, GetFlowsTriggeredBySegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/segments/{id}/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get IDs for Flows Triggered by Segment\n * Get the IDs of all flows where the given segment is being used as the trigger.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `segments:read`\n */\nexport const getIdsForFlowsTriggeredBySegment = <ThrowOnError extends boolean = false>(options: Options<GetIdsForFlowsTriggeredBySegmentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetIdsForFlowsTriggeredBySegmentResponse, GetIdsForFlowsTriggeredBySegmentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/segments/{id}/relationships/flow-triggers',\n ...options\n });\n};\n\n/**\n * Get Tags\n * List all tags in an account.\n *\n * Tags can be filtered by `name`, and sorted by `name` or `id` in ascending or descending order.\n *\n * Returns a maximum of 50 tags per request, which can be paginated with\n * [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTags = <ThrowOnError extends boolean = false>(options: Options<GetTagsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsResponse, GetTagsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags',\n ...options\n });\n};\n\n/**\n * Create Tag\n * Create a tag. An account cannot have more than **500** unique tags.\n *\n * A tag belongs to a single tag group. If `relationships.tag-group.data.id` is not specified,\n * the tag is added to the account's default tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const createTag = <ThrowOnError extends boolean = false>(options: Options<CreateTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTagResponse, CreateTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Tag\n * Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const deleteTag = <ThrowOnError extends boolean = false>(options: Options<DeleteTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTagResponse, DeleteTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}',\n ...options\n });\n};\n\n/**\n * Get Tag\n * Retrieve the tag with the given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTag = <ThrowOnError extends boolean = false>(options: Options<GetTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagResponse, GetTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags/{id}',\n ...options\n });\n};\n\n/**\n * Update Tag\n * Update the tag with the given tag ID.\n *\n * Only a tag's `name` can be changed. A tag cannot be moved from one tag group to another.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const updateTag = <ThrowOnError extends boolean = false>(options: Options<UpdateTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTagResponse, UpdateTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tag Groups\n * List all tag groups in an account. Every account has one default tag group.\n *\n * Tag groups can be filtered by `name`, `exclusive`, and `default`, and sorted by `name` or `id` in ascending or descending order.\n *\n * Returns a maximum of 25 tag groups per request, which can be paginated with\n * [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroups = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupsResponse, GetTagGroupsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups',\n ...options\n });\n};\n\n/**\n * Create Tag Group\n * Create a tag group. An account cannot have more than **50** unique tag groups.\n *\n * If `exclusive` is not specified `true` or `false`, the tag group defaults to non-exclusive.\n *\n * If a tag group is non-exclusive, any given related resource (campaign, flow, etc.)\n * can be linked to multiple tags from that tag group.\n * If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const createTagGroup = <ThrowOnError extends boolean = false>(options: Options<CreateTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTagGroupResponse, CreateTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Tag Group\n * Delete the tag group with the given tag group ID.\n *\n * Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const deleteTagGroup = <ThrowOnError extends boolean = false>(options: Options<DeleteTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTagGroupResponse2, DeleteTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}',\n ...options\n });\n};\n\n/**\n * Get Tag Group\n * Retrieve the tag group with the given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupResponse2, GetTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups/{id}',\n ...options\n });\n};\n\n/**\n * Update Tag Group\n * Update the tag group with the given tag group ID.\n *\n * Only a tag group's `name` can be changed. A tag group's `exclusive` or `default` value cannot be changed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n * `tags:write`\n */\nexport const updateTagGroup = <ThrowOnError extends boolean = false>(options: Options<UpdateTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTagGroupResponse, UpdateTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Flows\n * Remove a tag's association with one or more flows.\n *\n *\n * Use the request body to pass in the ID(s) of the flows(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n * `tags:write`\n */\nexport const removeTagFromFlows = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromFlowsResponse, RemoveTagFromFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Flow IDs for Tag\n * Returns the IDs of all flows associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:read`\n * `tags:read`\n */\nexport const getFlowIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetFlowIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetFlowIdsForTagResponse, GetFlowIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options\n });\n};\n\n/**\n * Tag Flows\n * Associate a tag with one or more flows. Any flow cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the flow(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `flows:write`\n * `tags:write`\n */\nexport const tagFlows = <ThrowOnError extends boolean = false>(options: Options<TagFlowsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagFlowsResponse, TagFlowsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/flows',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Campaigns\n * Remove a tag's association with one or more campaigns.\n *\n *\n * Use the request body to pass in the ID(s) of the campaign(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `tags:write`\n */\nexport const removeTagFromCampaigns = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromCampaignsResponse, RemoveTagFromCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Campaign IDs for Tag\n * Returns the IDs of all campaigns associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:read`\n * `tags:read`\n */\nexport const getCampaignIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetCampaignIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCampaignIdsForTagResponse, GetCampaignIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options\n });\n};\n\n/**\n * Tag Campaigns\n * Associate a tag with one or more campaigns. Any campaign cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the campaign(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `campaigns:write`\n * `tags:write`\n */\nexport const tagCampaigns = <ThrowOnError extends boolean = false>(options: Options<TagCampaignsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagCampaignsResponse, TagCampaignsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Lists\n * Remove a tag's association with one or more lists.\n *\n *\n * Use the request body to pass in the ID(s) of the list(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:write`\n * `tags:write`\n */\nexport const removeTagFromLists = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromListsResponse, RemoveTagFromListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get List IDs for Tag\n * Returns the IDs of all lists associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:read`\n * `tags:read`\n */\nexport const getListIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetListIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetListIdsForTagResponse, GetListIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options\n });\n};\n\n/**\n * Tag Lists\n * Associate a tag with one or more lists. Any list cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the lists(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `lists:write`\n * `tags:write`\n */\nexport const tagLists = <ThrowOnError extends boolean = false>(options: Options<TagListsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagListsResponse, TagListsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/lists',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Remove Tag from Segments\n * Remove a tag's association with one or more segments.\n *\n *\n * Use the request body to pass in the ID(s) of the segments(s) whose association with the tag\n * will be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n * `tags:write`\n */\nexport const removeTagFromSegments = <ThrowOnError extends boolean = false>(options: Options<RemoveTagFromSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<RemoveTagFromSegmentsResponse, RemoveTagFromSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Segment IDs for Tag\n * Returns the IDs of all segments associated with the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:read`\n * `tags:read`\n */\nexport const getSegmentIdsForTag = <ThrowOnError extends boolean = false>(options: Options<GetSegmentIdsForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetSegmentIdsForTagResponse, GetSegmentIdsForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options\n });\n};\n\n/**\n * Tag Segments\n * Associate a tag with one or more segments. Any segment cannot be associated with more than **100** tags.\n *\n *\n * Use the request body to pass in the ID(s) of the segments(s) that will be associated with the tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `segments:write`\n * `tags:write`\n */\nexport const tagSegments = <ThrowOnError extends boolean = false>(options: Options<TagSegmentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<TagSegmentsResponse, TagSegmentsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/segments',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tag Group for Tag\n * Returns the tag group resource for a given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroupForTag = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupForTagResponse, GetTagGroupForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tags/{id}/tag-group',\n ...options\n });\n};\n\n/**\n * Get Tag Group ID for Tag\n * Returns the id of the tag group related to the given tag.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagGroupIdForTag = <ThrowOnError extends boolean = false>(options: Options<GetTagGroupIdForTagData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagGroupIdForTagResponse, GetTagGroupIdForTagError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tags/{id}/relationships/tag-group',\n ...options\n });\n};\n\n/**\n * Get Tags for Tag Group\n * Return the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagsForTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagsForTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagsForTagGroupResponse, GetTagsForTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tag-groups/{id}/tags',\n ...options\n });\n};\n\n/**\n * Get Tag IDs for Tag Group\n * Returns the tag IDs of all tags inside the given tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `tags:read`\n */\nexport const getTagIdsForTagGroup = <ThrowOnError extends boolean = false>(options: Options<GetTagIdsForTagGroupData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTagIdsForTagGroupResponse, GetTagIdsForTagGroupError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tag-groups/{id}/relationships/tags',\n ...options\n });\n};\n\n/**\n * Get Templates\n * Get all templates in an account.\n *\n * Filter to request a subset of all templates. Templates can be sorted by the following fields, in ascending and descending order: `id`, `name`, `created`, `updated`\n *\n * Returns a maximum of 10 results per page.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplates = <ThrowOnError extends boolean = false>(options: Options<GetTemplatesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplatesResponse, GetTemplatesError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/templates',\n ...options\n });\n};\n\n/**\n * Create Template\n * Create a new custom HTML template.\n *\n * If there are 1,000 or more templates in an account, creation will fail as there is a limit of 1,000 templates\n * that can be created via the API.\n *\n * Request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const createTemplate = <ThrowOnError extends boolean = false>(options: Options<CreateTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateTemplateResponse, CreateTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Template\n * Delete a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const deleteTemplate = <ThrowOnError extends boolean = false>(options: Options<DeleteTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteTemplateResponse, DeleteTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates/{id}',\n ...options\n });\n};\n\n/**\n * Get Template\n * Get a template with the given template ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getTemplate = <ThrowOnError extends boolean = false>(options: Options<GetTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTemplateResponse2, GetTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/templates/{id}',\n ...options\n });\n};\n\n/**\n * Update Template\n * Update a template with the given template ID. Does not currently update drag & drop templates.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const updateTemplate = <ThrowOnError extends boolean = false>(options: Options<UpdateTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTemplateResponse, UpdateTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/templates/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get All Universal Content\n * Get all universal content in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getAllUniversalContent = <ThrowOnError extends boolean = false>(options: Options<GetAllUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetAllUniversalContentResponse, GetAllUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/template-universal-content',\n ...options\n });\n};\n\n/**\n * Create Universal Content\n * Create universal content. Currently supported block types are: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const createUniversalContent = <ThrowOnError extends boolean = false>(options: Options<CreateUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateUniversalContentResponse, CreateUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Universal Content\n * Delete the universal content with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const deleteUniversalContent = <ThrowOnError extends boolean = false>(options: Options<DeleteUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteUniversalContentResponse, DeleteUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content/{id}',\n ...options\n });\n};\n\n/**\n * Get Universal Content\n * Get the universal content with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const getUniversalContent = <ThrowOnError extends boolean = false>(options: Options<GetUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetUniversalContentResponse2, GetUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/template-universal-content/{id}',\n ...options\n });\n};\n\n/**\n * Update Universal Content\n * Update universal content. The `definition` field can only be updated on the following block types at this time: `button`, `drop_shadow`, `horizontal_rule`, `html`, `image`, `spacer`, and `text`.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const updateUniversalContent = <ThrowOnError extends boolean = false>(options: Options<UpdateUniversalContentData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateUniversalContentResponse, UpdateUniversalContentError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-universal-content/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Render Template\n * Render a template with the given template ID and context attribute. Returns the AMP, HTML, and plain text versions of the email template.\n *\n * **Request body parameters** (nested under `attributes`):\n *\n * * `return_fields`: Request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets).\n *\n * * `context`: This is the context your email template will be rendered with. You must pass in a `context` object as a JSON object.\n *\n * Email templates are rendered with contexts in a similar manner to Django templates. Nested template variables can be referenced via dot notation. Template variables without corresponding `context` values are treated as `FALSE` and output nothing.\n *\n * Ex. `{ \"name\" : \"George Washington\", \"state\" : \"VA\" }`<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n *\n * **Scopes:**\n * `templates:read`\n */\nexport const renderTemplate = <ThrowOnError extends boolean = false>(options: Options<RenderTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<RenderTemplateResponse, RenderTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-render',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Clone Template\n * Create a clone of a template with the given template ID.\n *\n * If there are 1,000 or more templates in an account, cloning will fail as there is a limit of 1,000 templates\n * that can be created via the API.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `templates:write`\n */\nexport const cloneTemplate = <ThrowOnError extends boolean = false>(options: Options<CloneTemplateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CloneTemplateResponse, CloneTemplateError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/template-clone',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Tracking Settings\n * Get all UTM tracking settings in an account. Returns an array with a single tracking setting.\n *\n * More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:read`\n */\nexport const getTrackingSettings = <ThrowOnError extends boolean = false>(options: Options<GetTrackingSettingsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTrackingSettingsResponse, GetTrackingSettingsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tracking-settings',\n ...options\n });\n};\n\n/**\n * Get Tracking Setting\n * Get the UTM tracking setting with the given account ID.\n *\n * More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:read`\n */\nexport const getTrackingSetting = <ThrowOnError extends boolean = false>(options: Options<GetTrackingSettingData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetTrackingSettingResponse2, GetTrackingSettingError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/tracking-settings/{id}',\n ...options\n });\n};\n\n/**\n * Update Tracking Setting\n * Update the UTM tracking setting with the given account ID.\n *\n * More information about UTM tracking settings can be found [here](https://help.klaviyo.com/hc/en-us/articles/115005247808).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `tracking-settings:write`\n */\nexport const updateTrackingSetting = <ThrowOnError extends boolean = false>(options: Options<UpdateTrackingSettingData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateTrackingSettingResponse, UpdateTrackingSettingError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/tracking-settings/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Web Feeds\n * Get all web feeds for an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:read`\n */\nexport const getWebFeeds = <ThrowOnError extends boolean = false>(options: Options<GetWebFeedsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebFeedsResponse, GetWebFeedsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/web-feeds',\n ...options\n });\n};\n\n/**\n * Create Web Feed\n * Create a web feed.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const createWebFeed = <ThrowOnError extends boolean = false>(options: Options<CreateWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateWebFeedResponse, CreateWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Web Feed\n * Delete the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const deleteWebFeed = <ThrowOnError extends boolean = false>(options: Options<DeleteWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteWebFeedResponse, DeleteWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds/{id}',\n ...options\n });\n};\n\n/**\n * Get Web Feed\n * Get the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:read`\n */\nexport const getWebFeed = <ThrowOnError extends boolean = false>(options: Options<GetWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebFeedResponse2, GetWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/web-feeds/{id}',\n ...options\n });\n};\n\n/**\n * Update Web Feed\n * Update the web feed with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `web-feeds:write`\n */\nexport const updateWebFeed = <ThrowOnError extends boolean = false>(options: Options<UpdateWebFeedData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateWebFeedResponse, UpdateWebFeedError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/web-feeds/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Webhooks\n * Get all webhooks in an account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhooks = <ThrowOnError extends boolean = false>(options: Options<GetWebhooksData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhooksResponse, GetWebhooksError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/webhooks',\n ...options\n });\n};\n\n/**\n * Create Webhook\n * Create a new Webhook<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const createWebhook = <ThrowOnError extends boolean = false>(options: Options<CreateWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CreateWebhookResponse, CreateWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete Webhook\n * Delete a webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const deleteWebhook = <ThrowOnError extends boolean = false>(options: Options<DeleteWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<DeleteWebhookResponse, DeleteWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks/{id}',\n ...options\n });\n};\n\n/**\n * Get Webhook\n * Get the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhook = <ThrowOnError extends boolean = false>(options: Options<GetWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookResponse, GetWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/api/webhooks/{id}',\n ...options\n });\n};\n\n/**\n * Update Webhook\n * Update the webhook with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:write`\n */\nexport const updateWebhook = <ThrowOnError extends boolean = false>(options: Options<UpdateWebhookData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UpdateWebhookResponse, UpdateWebhookError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhooks/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get Webhook Topics\n * Get all webhook topics in a Klaviyo account.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhookTopics = <ThrowOnError extends boolean = false>(options: Options<GetWebhookTopicsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookTopicsResponse, GetWebhookTopicsError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhook-topics',\n ...options\n });\n};\n\n/**\n * Get Webhook Topic\n * Get the webhook topic with the given ID.<br><br>*Rate limits*:<br>Burst: `1/s`<br>Steady: `15/m`\n *\n * **Scopes:**\n * `webhooks:read`\n */\nexport const getWebhookTopic = <ThrowOnError extends boolean = false>(options: Options<GetWebhookTopicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetWebhookTopicResponse2, GetWebhookTopicError, ThrowOnError>({\n security: [\n {\n name: 'Authorization',\n type: 'apiKey'\n }\n ],\n url: '/api/webhook-topics/{id}',\n ...options\n });\n};\n\n/**\n * Get Client Review Values Reports\n * Get all reviews values reports in an account.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const getClientReviewValuesReports = <ThrowOnError extends boolean = false>(options: Options<GetClientReviewValuesReportsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetClientReviewValuesReportsResponse, GetClientReviewValuesReportsError, ThrowOnError>({\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/client/review-values-reports',\n ...options\n });\n};\n\n/**\n * Get Client Reviews\n * Get all reviews. This endpoint is for client-side environments only, for server-side use, refer to https://developers.klaviyo.com/en/reference/get_reviews<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const getClientReviews = <ThrowOnError extends boolean = false>(options: Options<GetClientReviewsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetClientReviewsResponse, GetClientReviewsError, ThrowOnError>({\n querySerializer: {\n array: {\n explode: false,\n style: 'form'\n }\n },\n url: '/client/reviews',\n ...options\n });\n};\n\n/**\n * Create Client Review\n * Create a review with the given ID. This endpoint is for client-side environments only.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n */\nexport const createClientReview = <ThrowOnError extends boolean = false>(options: Options<CreateClientReviewData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientReviewError, ThrowOnError>({\n url: '/client/reviews',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Subscription\n * 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.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To subscribe profiles from server-side applications, instead use [POST /api/profile-subscription-bulk-create-jobs](https://developers.klaviyo.com/en/reference/subscribe_profiles).\n *\n * 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.\n *\n * 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`.<br><br>*Rate limits*:<br>Burst: `100/s`<br>Steady: `700/m`\n *\n * **Scopes:**\n * `subscriptions:write`\n */\nexport const createClientSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateClientSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientSubscriptionError, ThrowOnError>({\n url: '/client/subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create or Update Client Push Token\n * Create or update a push token.\n *\n * This endpoint is specifically designed to be called from our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n * You must have push notifications enabled to use this endpoint.\n *\n * To migrate push tokens from another platform to Klaviyo, please use our server-side [POST /api/push-tokens](https://developers.klaviyo.com/en/reference/create_push_token) endpoint instead.<br><br>*Rate limits*:<br>Burst: `150/s`<br>Steady: `1400/m`\n */\nexport const createClientPushToken = <ThrowOnError extends boolean = false>(options: Options<CreateClientPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientPushTokenError, ThrowOnError>({\n url: '/client/push-tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Unregister Client Push Token\n * Unregister a push token.\n *\n * This endpoint is specifically designed to be called from our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n * You must have push notifications enabled to use this endpoint.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m`\n */\nexport const unregisterClientPushToken = <ThrowOnError extends boolean = false>(options: Options<UnregisterClientPushTokenData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, UnregisterClientPushTokenError, ThrowOnError>({\n url: '/client/push-token-unregister',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Event\n * Create a new event to track a profile's activity.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create events from server-side applications, instead use [POST /api/events](https://developers.klaviyo.com/en/reference/create_event).\n *\n * Note that to update a profile's existing identifiers (e.g., email), you must use a server-side endpoint authenticated by a private API key. Attempts to do so via client-side endpoints will return a 202, however the identifier field(s) will not be updated.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const createClientEvent = <ThrowOnError extends boolean = false>(options: Options<CreateClientEventData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientEventError, ThrowOnError>({\n url: '/client/events',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create or Update Client Profile\n * Create or update properties about a profile without tracking an associated event.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create or update profiles from server-side applications, instead use [POST /api/profile-import](https://developers.klaviyo.com/en/reference/create_or_update_profile).\n *\n * Note that to update a profile's existing identifiers (e.g., email), you must use a server-side endpoint authenticated by a private API key. Attempts to do so via client-side endpoints will return a 202, however the identifier field(s) will not be updated.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `profiles:write`\n */\nexport const createClientProfile = <ThrowOnError extends boolean = false>(options: Options<CreateClientProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientProfileError, ThrowOnError>({\n url: '/client/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Bulk Create Client Events\n * Create new events to track a profile's activity.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create events from server-side applications, instead use [POST /api/event-bulk-create-jobs](https://developers.klaviyo.com/en/reference/bulk_create_events).\n *\n * Accepts a maximum of `1000` events per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`\n *\n * **Scopes:**\n * `events:write`\n */\nexport const bulkCreateClientEvents = <ThrowOnError extends boolean = false>(options: Options<BulkCreateClientEventsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, BulkCreateClientEventsError, ThrowOnError>({\n url: '/client/event-bulk-create',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create Client Back In Stock Subscription\n * Subscribe a profile to receive back in stock notifications. Check out [our Back in Stock API guide](https://developers.klaviyo.com/en/docs/how_to_set_up_custom_back_in_stock) for more details.\n *\n * This endpoint is specifically designed to be called from publicly-browseable, client-side environments only and requires a [public API key (site ID)](https://www.klaviyo.com/settings/account/api-keys). Never use a private API key with our client-side endpoints.\n *\n * Do not use this endpoint from server-side applications.\n * To create back in stock subscriptions from server-side applications, instead use [POST /api/back-in-stock-subscriptions](https://developers.klaviyo.com/en/reference/create_back_in_stock_subscription).<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`\n *\n * **Scopes:**\n * `catalogs:write`\n * `profiles:write`\n */\nexport const createClientBackInStockSubscription = <ThrowOnError extends boolean = false>(options: Options<CreateClientBackInStockSubscriptionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<unknown, CreateClientBackInStockSubscriptionError, ThrowOnError>({\n url: '/client/back-in-stock-subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/vnd.api+json',\n ...options?.headers\n }\n });\n};","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen.js';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://a.klaviyo.com'\n}));"],"mappings":"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","names":["formDataBodySerializer","createClient","createConfig","client","getAccounts","options","_a","client","__spreadValues","getAccount","getCampaigns","createCampaign","__spreadProps","deleteCampaign","getCampaign","updateCampaign","getCampaignMessage","updateCampaignMessage","getCampaignSendJob","cancelCampaignSend","getCampaignRecipientEstimationJob","getCampaignRecipientEstimation","createCampaignClone","assignTemplateToCampaignMessage","sendCampaign","refreshCampaignRecipientEstimation","getCampaignForCampaignMessage","getCampaignIdForCampaignMessage","getTemplateForCampaignMessage","getTemplateIdForCampaignMessage","getImageForCampaignMessage","getImageIdForCampaignMessage","updateImageForCampaignMessage","getTagsForCampaign","getTagIdsForCampaign","getMessagesForCampaign","getMessageIdsForCampaign","getCatalogItems","createCatalogItem","deleteCatalogItem","getCatalogItem","updateCatalogItem","getCatalogVariants","createCatalogVariant","deleteCatalogVariant","getCatalogVariant","updateCatalogVariant","getCatalogCategories","createCatalogCategory","deleteCatalogCategory","getCatalogCategory","updateCatalogCategory","getBulkCreateCatalogItemsJobs","bulkCreateCatalogItems","getBulkCreateCatalogItemsJob","getBulkUpdateCatalogItemsJobs","bulkUpdateCatalogItems","getBulkUpdateCatalogItemsJob","getBulkDeleteCatalogItemsJobs","bulkDeleteCatalogItems","getBulkDeleteCatalogItemsJob","getBulkCreateVariantsJobs","bulkCreateCatalogVariants","getBulkCreateVariantsJob","getBulkUpdateVariantsJobs","bulkUpdateCatalogVariants","getBulkUpdateVariantsJob","getBulkDeleteVariantsJobs","bulkDeleteCatalogVariants","getBulkDeleteVariantsJob","getBulkCreateCategoriesJobs","bulkCreateCatalogCategories","getBulkCreateCategoriesJob","getBulkUpdateCategoriesJobs","bulkUpdateCatalogCategories","getBulkUpdateCategoriesJob","getBulkDeleteCategoriesJobs","bulkDeleteCatalogCategories","getBulkDeleteCategoriesJob","createBackInStockSubscription","getItemsForCatalogCategory","removeItemsFromCatalogCategory","getItemIdsForCatalogCategory","updateItemsForCatalogCategory","addItemsToCatalogCategory","getVariantsForCatalogItem","getVariantIdsForCatalogItem","getCategoriesForCatalogItem","removeCategoriesFromCatalogItem","getCategoryIdsForCatalogItem","updateCategoriesForCatalogItem","addCategoriesToCatalogItem","getCoupons","createCoupon","deleteCoupon","getCoupon","updateCoupon","getCouponCodes","createCouponCode","deleteCouponCode","getCouponCode","updateCouponCode","getBulkCreateCouponCodeJobs","bulkCreateCouponCodes","getBulkCreateCouponCodesJob","getCouponForCouponCode","getCouponIdForCouponCode","getCouponCodesForCoupon","getCouponCodeIdsForCoupon","getDataSources","createDataSource","deleteDataSource","getDataSource","bulkCreateDataSourceRecords","requestProfileDeletion","getEvents","createEvent","getEvent","bulkCreateEvents","getMetricForEvent","getMetricIdForEvent","getProfileForEvent","getProfileIdForEvent","getFlows","createFlow","deleteFlow","getFlow","updateFlow","getFlowAction","getFlowMessage","getActionsForFlow","getActionIdsForFlow","getTagsForFlow","getTagIdsForFlow","getFlowForFlowAction","getFlowIdForFlowAction","getFlowActionMessages","getMessageIdsForFlowAction","getActionForFlowMessage","getActionIdForFlowMessage","getTemplateForFlowMessage","getTemplateIdForFlowMessage","getForms","deleteForm","getForm","getFormVersion","getVersionsForForm","getVersionIdsForForm","getFormForFormVersion","getFormIdForFormVersion","getImages","uploadImageFromUrl","getImage","updateImage","uploadImageFromFile","formDataBodySerializer","getLists","createList","deleteList","getList","updateList","getTagsForList","getTagIdsForList","getProfilesForList","removeProfilesFromList","getProfileIdsForList","addProfilesToList","getFlowsTriggeredByList","getIdsForFlowsTriggeredByList","getMetrics","getMetric","getMetricProperty","getCustomMetrics","createCustomMetric","deleteCustomMetric","getCustomMetric","updateCustomMetric","getMappedMetrics","getMappedMetric","updateMappedMetric","queryMetricAggregates","getFlowsTriggeredByMetric","getIdsForFlowsTriggeredByMetric","getPropertiesForMetric","getPropertyIdsForMetric","getMetricForMetricProperty","getMetricIdForMetricProperty","getMetricsForCustomMetric","getMetricIdsForCustomMetric","getMetricForMappedMetric","getMetricIdForMappedMetric","getCustomMetricForMappedMetric","getCustomMetricIdForMappedMetric","getProfiles","createProfile","getProfile","updateProfile","getBulkImportProfilesJobs","bulkImportProfiles","getBulkImportProfilesJob","getBulkSuppressProfilesJobs","bulkSuppressProfiles","getBulkSuppressProfilesJob","getBulkUnsuppressProfilesJobs","bulkUnsuppressProfiles","getBulkUnsuppressProfilesJob","getPushTokens","createPushToken","deletePushToken","getPushToken","createOrUpdateProfile","mergeProfiles","bulkSubscribeProfiles","bulkUnsubscribeProfiles","getPushTokensForProfile","getPushTokenIdsForProfile","getListsForProfile","getListIdsForProfile","getSegmentsForProfile","getSegmentIdsForProfile","getListForBulkImportProfilesJob","getListIdsForBulkImportProfilesJob","getProfilesForBulkImportProfilesJob","getProfileIdsForBulkImportProfilesJob","getErrorsForBulkImportProfilesJob","getProfileForPushToken","getProfileIdForPushToken","queryCampaignValues","queryFlowValues","queryFlowSeries","queryFormValues","queryFormSeries","querySegmentValues","querySegmentSeries","getReviews","getReview","updateReview","getSegments","createSegment","deleteSegment","getSegment","updateSegment","getTagsForSegment","getTagIdsForSegment","getProfilesForSegment","getProfileIdsForSegment","getFlowsTriggeredBySegment","getIdsForFlowsTriggeredBySegment","getTags","createTag","deleteTag","getTag","updateTag","getTagGroups","createTagGroup","deleteTagGroup","getTagGroup","updateTagGroup","removeTagFromFlows","getFlowIdsForTag","tagFlows","removeTagFromCampaigns","getCampaignIdsForTag","tagCampaigns","removeTagFromLists","getListIdsForTag","tagLists","removeTagFromSegments","getSegmentIdsForTag","tagSegments","getTagGroupForTag","getTagGroupIdForTag","getTagsForTagGroup","getTagIdsForTagGroup","getTemplates","createTemplate","deleteTemplate","getTemplate","updateTemplate","getAllUniversalContent","createUniversalContent","deleteUniversalContent","getUniversalContent","updateUniversalContent","renderTemplate","cloneTemplate","getTrackingSettings","getTrackingSetting","updateTrackingSetting","getWebFeeds","createWebFeed","deleteWebFeed","getWebFeed","updateWebFeed","getWebhooks","createWebhook","deleteWebhook","getWebhook","updateWebhook","getWebhookTopics","getWebhookTopic","getClientReviewValuesReports","getClientReviews","createClientReview","createClientSubscription","createClientPushToken","unregisterClientPushToken","createClientEvent","createClientProfile","bulkCreateClientEvents","createClientBackInStockSubscription"]}
|