klaviyo-api-sdk 9.0.0 → 11.0.0

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.
Files changed (613) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1272 -524
  4. data/klaviyo-api-sdk.gemspec +2 -2
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +11 -11
  6. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +645 -573
  7. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +1720 -1576
  8. data/lib/klaviyo-api-sdk/api/coupons_api.rb +317 -287
  9. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +5 -5
  10. data/lib/klaviyo-api-sdk/api/events_api.rb +134 -122
  11. data/lib/klaviyo-api-sdk/api/flows_api.rb +487 -433
  12. data/lib/klaviyo-api-sdk/api/forms_api.rb +56 -60
  13. data/lib/klaviyo-api-sdk/api/images_api.rb +28 -28
  14. data/lib/klaviyo-api-sdk/api/lists_api.rb +316 -153
  15. data/lib/klaviyo-api-sdk/api/metrics_api.rb +582 -19
  16. data/lib/klaviyo-api-sdk/api/profiles_api.rb +1046 -603
  17. data/lib/klaviyo-api-sdk/api/reporting_api.rb +323 -19
  18. data/lib/klaviyo-api-sdk/api/reviews_api.rb +212 -0
  19. data/lib/klaviyo-api-sdk/api/segments_api.rb +341 -166
  20. data/lib/klaviyo-api-sdk/api/tags_api.rb +741 -645
  21. data/lib/klaviyo-api-sdk/api/templates_api.rb +493 -84
  22. data/lib/klaviyo-api-sdk/api/tracking_settings_api.rb +250 -0
  23. data/lib/klaviyo-api-sdk/api/webhooks_api.rb +32 -32
  24. data/lib/klaviyo-api-sdk/api_client.rb +2 -2
  25. data/lib/klaviyo-api-sdk/api_error.rb +1 -1
  26. data/lib/klaviyo-api-sdk/configuration.rb +1 -1
  27. data/lib/klaviyo-api-sdk/models/alltime_date_filter.rb +1 -1
  28. data/lib/klaviyo-api-sdk/models/anniversary_date_filter.rb +1 -1
  29. data/lib/klaviyo-api-sdk/models/any_enum.rb +1 -1
  30. data/lib/klaviyo-api-sdk/models/api_enum.rb +1 -1
  31. data/lib/klaviyo-api-sdk/models/api_method_filter.rb +1 -1
  32. data/lib/klaviyo-api-sdk/models/audiences_sub_object.rb +1 -1
  33. data/lib/klaviyo-api-sdk/models/back_in_stock_enum.rb +1 -1
  34. data/lib/klaviyo-api-sdk/models/back_in_stock_method_filter.rb +1 -1
  35. data/lib/klaviyo-api-sdk/models/back_in_stock_subscription_enum.rb +1 -1
  36. data/lib/klaviyo-api-sdk/models/base_event_create_query_resource_object.rb +1 -1
  37. data/lib/klaviyo-api-sdk/models/base_event_create_query_resource_object_attributes.rb +1 -1
  38. data/lib/klaviyo-api-sdk/models/block_display_options.rb +274 -0
  39. data/lib/klaviyo-api-sdk/models/block_enum.rb +36 -0
  40. data/lib/klaviyo-api-sdk/models/boolean_enum.rb +1 -1
  41. data/lib/klaviyo-api-sdk/models/boolean_filter.rb +1 -1
  42. data/lib/klaviyo-api-sdk/models/bounce_date_enum.rb +1 -1
  43. data/lib/klaviyo-api-sdk/models/bounce_date_filter.rb +1 -1
  44. data/lib/klaviyo-api-sdk/models/bounce_date_filter_filter.rb +1 -1
  45. data/lib/klaviyo-api-sdk/models/bulk_remove_enum.rb +1 -1
  46. data/lib/klaviyo-api-sdk/models/bulk_remove_method_filter.rb +1 -1
  47. data/lib/klaviyo-api-sdk/models/calendar_date_filter.rb +1 -1
  48. data/lib/klaviyo-api-sdk/models/campaign_clone_query.rb +1 -1
  49. data/lib/klaviyo-api-sdk/models/campaign_clone_query_resource_object.rb +1 -1
  50. data/lib/klaviyo-api-sdk/models/campaign_clone_query_resource_object_attributes.rb +1 -1
  51. data/lib/klaviyo-api-sdk/models/campaign_create_query.rb +1 -1
  52. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object.rb +1 -1
  53. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes.rb +1 -1
  54. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_campaign_messages.rb +1 -1
  55. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_send_options.rb +1 -1
  56. data/lib/klaviyo-api-sdk/models/campaign_create_query_resource_object_attributes_tracking_options.rb +1 -1
  57. data/lib/klaviyo-api-sdk/models/campaign_enum.rb +1 -1
  58. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query.rb +1 -1
  59. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object.rb +1 -1
  60. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships.rb +1 -1
  61. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships_template.rb +1 -1
  62. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_resource_object_relationships_template_data.rb +1 -1
  63. data/lib/klaviyo-api-sdk/models/campaign_message_create_query_resource_object.rb +1 -1
  64. data/lib/klaviyo-api-sdk/models/campaign_message_create_query_resource_object_attributes.rb +1 -1
  65. data/lib/klaviyo-api-sdk/models/campaign_message_create_query_resource_object_attributes_content.rb +1 -1
  66. data/lib/klaviyo-api-sdk/models/campaign_message_enum.rb +1 -1
  67. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query.rb +1 -1
  68. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_resource_object.rb +1 -1
  69. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_resource_object_attributes.rb +1 -1
  70. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query.rb +1 -1
  71. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object.rb +1 -1
  72. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_resource_object_attributes.rb +1 -1
  73. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query.rb +1 -1
  74. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_resource_object.rb +1 -1
  75. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_enum.rb +1 -1
  76. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query.rb +1 -1
  77. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_resource_object.rb +1 -1
  78. data/lib/klaviyo-api-sdk/models/campaign_send_job_enum.rb +1 -1
  79. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query.rb +1 -1
  80. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_resource_object.rb +1 -1
  81. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_resource_object_attributes.rb +1 -1
  82. data/lib/klaviyo-api-sdk/models/campaign_tracking_setting_dynamic_param.rb +273 -0
  83. data/lib/klaviyo-api-sdk/models/campaign_tracking_setting_static_param.rb +239 -0
  84. data/lib/klaviyo-api-sdk/models/campaign_values_report_enum.rb +1 -1
  85. data/lib/klaviyo-api-sdk/models/campaign_values_request_dto.rb +1 -1
  86. data/lib/klaviyo-api-sdk/models/campaign_values_request_dto_resource_object.rb +1 -1
  87. data/lib/klaviyo-api-sdk/models/campaign_values_request_dto_resource_object_attributes.rb +1 -1
  88. data/lib/klaviyo-api-sdk/models/campaign_values_request_dto_resource_object_attributes_timeframe.rb +1 -1
  89. data/lib/klaviyo-api-sdk/models/carrier_deactivation_enum.rb +1 -1
  90. data/lib/klaviyo-api-sdk/models/carrier_deactivation_method_filter.rb +1 -1
  91. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_create_job_enum.rb +1 -1
  92. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_delete_job_enum.rb +1 -1
  93. data/lib/klaviyo-api-sdk/models/catalog_category_bulk_update_job_enum.rb +1 -1
  94. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query.rb +1 -1
  95. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object.rb +1 -1
  96. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object_attributes.rb +1 -1
  97. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_resource_object_attributes_categories.rb +1 -1
  98. data/lib/klaviyo-api-sdk/models/catalog_category_create_query.rb +1 -1
  99. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object.rb +1 -1
  100. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object_attributes.rb +1 -1
  101. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object_relationships.rb +1 -1
  102. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object_relationships_items.rb +1 -1
  103. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_resource_object_relationships_items_data_inner.rb +1 -1
  104. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query.rb +1 -1
  105. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object.rb +1 -1
  106. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object_attributes.rb +1 -1
  107. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_resource_object_attributes_categories.rb +1 -1
  108. data/lib/klaviyo-api-sdk/models/catalog_category_delete_query_resource_object.rb +1 -1
  109. data/lib/klaviyo-api-sdk/models/catalog_category_enum.rb +1 -1
  110. data/lib/klaviyo-api-sdk/models/catalog_category_item_op.rb +1 -1
  111. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query.rb +1 -1
  112. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object.rb +1 -1
  113. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object_attributes.rb +1 -1
  114. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_resource_object_attributes_categories.rb +1 -1
  115. data/lib/klaviyo-api-sdk/models/catalog_category_update_query.rb +1 -1
  116. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object.rb +1 -1
  117. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_resource_object_attributes.rb +1 -1
  118. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_create_job_enum.rb +1 -1
  119. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_delete_job_enum.rb +1 -1
  120. data/lib/klaviyo-api-sdk/models/catalog_item_bulk_update_job_enum.rb +1 -1
  121. data/lib/klaviyo-api-sdk/models/catalog_item_category_op.rb +1 -1
  122. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query.rb +1 -1
  123. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object.rb +1 -1
  124. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object_attributes.rb +1 -1
  125. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_resource_object_attributes_items.rb +1 -1
  126. data/lib/klaviyo-api-sdk/models/catalog_item_create_query.rb +1 -1
  127. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object.rb +1 -1
  128. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_attributes.rb +1 -1
  129. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_relationships.rb +1 -1
  130. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_relationships_categories.rb +1 -1
  131. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_resource_object_relationships_categories_data_inner.rb +1 -1
  132. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query.rb +1 -1
  133. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object.rb +1 -1
  134. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object_attributes.rb +1 -1
  135. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_resource_object_attributes_items.rb +1 -1
  136. data/lib/klaviyo-api-sdk/models/catalog_item_delete_query_resource_object.rb +1 -1
  137. data/lib/klaviyo-api-sdk/models/catalog_item_enum.rb +1 -1
  138. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query.rb +1 -1
  139. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object.rb +1 -1
  140. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object_attributes.rb +1 -1
  141. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_resource_object_attributes_items.rb +1 -1
  142. data/lib/klaviyo-api-sdk/models/catalog_item_update_query.rb +1 -1
  143. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_resource_object.rb +1 -1
  144. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_resource_object_attributes.rb +1 -1
  145. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_create_job_enum.rb +1 -1
  146. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_delete_job_enum.rb +1 -1
  147. data/lib/klaviyo-api-sdk/models/catalog_variant_bulk_update_job_enum.rb +1 -1
  148. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query.rb +1 -1
  149. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object.rb +1 -1
  150. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object_attributes.rb +1 -1
  151. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_resource_object_attributes_variants.rb +1 -1
  152. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query.rb +1 -1
  153. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object.rb +1 -1
  154. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_attributes.rb +1 -1
  155. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_relationships.rb +1 -1
  156. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_relationships_item.rb +1 -1
  157. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_resource_object_relationships_item_data.rb +1 -1
  158. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query.rb +1 -1
  159. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object.rb +1 -1
  160. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object_attributes.rb +1 -1
  161. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_resource_object_attributes_variants.rb +1 -1
  162. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_query_resource_object.rb +1 -1
  163. data/lib/klaviyo-api-sdk/models/catalog_variant_enum.rb +1 -1
  164. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query.rb +1 -1
  165. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object.rb +1 -1
  166. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object_attributes.rb +1 -1
  167. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_resource_object_attributes_variants.rb +1 -1
  168. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query.rb +1 -1
  169. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_resource_object.rb +1 -1
  170. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_resource_object_attributes.rb +1 -1
  171. data/lib/klaviyo-api-sdk/models/checkout_enum.rb +1 -1
  172. data/lib/klaviyo-api-sdk/models/checkout_method_filter.rb +1 -1
  173. data/lib/klaviyo-api-sdk/models/condition_group.rb +1 -1
  174. data/lib/klaviyo-api-sdk/models/condition_group_conditions_inner.rb +1 -1
  175. data/lib/klaviyo-api-sdk/models/constant_contact_enum.rb +1 -1
  176. data/lib/klaviyo-api-sdk/models/constant_contact_integration_filter.rb +1 -1
  177. data/lib/klaviyo-api-sdk/models/constant_contact_integration_method_filter.rb +1 -1
  178. data/lib/klaviyo-api-sdk/models/content_repeat.rb +238 -0
  179. data/lib/klaviyo-api-sdk/models/coupon_code_bulk_create_job_enum.rb +1 -1
  180. data/lib/klaviyo-api-sdk/models/coupon_code_create_job_create_query.rb +1 -1
  181. data/lib/klaviyo-api-sdk/models/coupon_code_create_job_create_query_resource_object.rb +1 -1
  182. data/lib/klaviyo-api-sdk/models/coupon_code_create_job_create_query_resource_object_attributes.rb +1 -1
  183. data/lib/klaviyo-api-sdk/models/coupon_code_create_job_create_query_resource_object_attributes_coupon_codes.rb +1 -1
  184. data/lib/klaviyo-api-sdk/models/coupon_code_create_query.rb +1 -1
  185. data/lib/klaviyo-api-sdk/models/coupon_code_create_query_resource_object.rb +1 -1
  186. data/lib/klaviyo-api-sdk/models/coupon_code_create_query_resource_object_attributes.rb +1 -1
  187. data/lib/klaviyo-api-sdk/models/coupon_code_create_query_resource_object_relationships.rb +1 -1
  188. data/lib/klaviyo-api-sdk/models/coupon_code_create_query_resource_object_relationships_coupon.rb +1 -1
  189. data/lib/klaviyo-api-sdk/models/coupon_code_create_query_resource_object_relationships_coupon_data.rb +1 -1
  190. data/lib/klaviyo-api-sdk/models/coupon_code_enum.rb +1 -1
  191. data/lib/klaviyo-api-sdk/models/coupon_code_update_query.rb +1 -1
  192. data/lib/klaviyo-api-sdk/models/coupon_code_update_query_resource_object.rb +1 -1
  193. data/lib/klaviyo-api-sdk/models/coupon_code_update_query_resource_object_attributes.rb +1 -1
  194. data/lib/klaviyo-api-sdk/models/coupon_create_query.rb +1 -1
  195. data/lib/klaviyo-api-sdk/models/coupon_create_query_resource_object.rb +1 -1
  196. data/lib/klaviyo-api-sdk/models/coupon_create_query_resource_object_attributes.rb +1 -1
  197. data/lib/klaviyo-api-sdk/models/coupon_enum.rb +1 -1
  198. data/lib/klaviyo-api-sdk/models/coupon_update_query.rb +1 -1
  199. data/lib/klaviyo-api-sdk/models/coupon_update_query_resource_object.rb +1 -1
  200. data/lib/klaviyo-api-sdk/models/coupon_update_query_resource_object_attributes.rb +1 -1
  201. data/lib/klaviyo-api-sdk/models/custom_source_enum.rb +1 -1
  202. data/lib/klaviyo-api-sdk/models/custom_source_filter.rb +1 -1
  203. data/lib/klaviyo-api-sdk/models/custom_timeframe.rb +1 -1
  204. data/lib/klaviyo-api-sdk/models/custom_tracking_param_dto.rb +245 -0
  205. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query.rb +1 -1
  206. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object.rb +1 -1
  207. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object_attributes.rb +1 -1
  208. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_resource_object_attributes_profile.rb +1 -1
  209. data/lib/klaviyo-api-sdk/models/data_privacy_deletion_job_enum.rb +1 -1
  210. data/lib/klaviyo-api-sdk/models/data_privacy_profile_query_resource_object.rb +1 -1
  211. data/lib/klaviyo-api-sdk/models/data_privacy_profile_query_resource_object_attributes.rb +1 -1
  212. data/lib/klaviyo-api-sdk/models/date_enum.rb +1 -1
  213. data/lib/klaviyo-api-sdk/models/device_metadata.rb +3 -3
  214. data/lib/klaviyo-api-sdk/models/double_optin_filter.rb +1 -1
  215. data/lib/klaviyo-api-sdk/models/dynamic_enum.rb +36 -0
  216. data/lib/klaviyo-api-sdk/models/dynamic_tracking_param.rb +288 -0
  217. data/lib/klaviyo-api-sdk/models/email_content_sub_object.rb +1 -1
  218. data/lib/klaviyo-api-sdk/models/email_enum.rb +1 -1
  219. data/lib/klaviyo-api-sdk/models/email_send_options_sub_object.rb +1 -1
  220. data/lib/klaviyo-api-sdk/models/email_subscription_parameters.rb +2 -2
  221. data/lib/klaviyo-api-sdk/models/email_tracking_options_sub_object.rb +19 -19
  222. data/lib/klaviyo-api-sdk/models/email_tracking_options_sub_object_custom_tracking_params_inner.rb +105 -0
  223. data/lib/klaviyo-api-sdk/models/equals_enum.rb +1 -1
  224. data/lib/klaviyo-api-sdk/models/equals_string_filter.rb +1 -1
  225. data/lib/klaviyo-api-sdk/models/event_bulk_create_enum.rb +1 -1
  226. data/lib/klaviyo-api-sdk/models/event_bulk_create_job_enum.rb +1 -1
  227. data/lib/klaviyo-api-sdk/models/event_create_query_v2.rb +1 -1
  228. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object.rb +1 -1
  229. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes.rb +1 -1
  230. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes_metric.rb +1 -1
  231. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes_profile.rb +1 -1
  232. data/lib/klaviyo-api-sdk/models/event_enum.rb +1 -1
  233. data/lib/klaviyo-api-sdk/models/event_profile_create_query_resource_object.rb +1 -1
  234. data/lib/klaviyo-api-sdk/models/event_profile_create_query_resource_object_attributes.rb +13 -2
  235. data/lib/klaviyo-api-sdk/models/events_bulk_create_job.rb +1 -1
  236. data/lib/klaviyo-api-sdk/models/events_bulk_create_job_resource_object.rb +1 -1
  237. data/lib/klaviyo-api-sdk/models/events_bulk_create_job_resource_object_attributes.rb +1 -1
  238. data/lib/klaviyo-api-sdk/models/events_bulk_create_job_resource_object_attributes_events_bulk_create.rb +1 -1
  239. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object.rb +1 -1
  240. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object_attributes.rb +1 -1
  241. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object_attributes_events.rb +1 -1
  242. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object_attributes_profile.rb +1 -1
  243. data/lib/klaviyo-api-sdk/models/existence_enum.rb +1 -1
  244. data/lib/klaviyo-api-sdk/models/existence_operator_filter.rb +1 -1
  245. data/lib/klaviyo-api-sdk/models/failed_age_gate_enum.rb +1 -1
  246. data/lib/klaviyo-api-sdk/models/failed_age_gate_method_filter.rb +1 -1
  247. data/lib/klaviyo-api-sdk/models/flow_enum.rb +1 -1
  248. data/lib/klaviyo-api-sdk/models/flow_series_report_enum.rb +1 -1
  249. data/lib/klaviyo-api-sdk/models/flow_series_request_dto.rb +1 -1
  250. data/lib/klaviyo-api-sdk/models/flow_series_request_dto_resource_object.rb +1 -1
  251. data/lib/klaviyo-api-sdk/models/flow_series_request_dto_resource_object_attributes.rb +1 -1
  252. data/lib/klaviyo-api-sdk/models/flow_tracking_setting_dynamic_param.rb +273 -0
  253. data/lib/klaviyo-api-sdk/models/{utm_params_sub_object.rb → flow_tracking_setting_static_param.rb} +15 -16
  254. data/lib/klaviyo-api-sdk/models/flow_update_query.rb +1 -1
  255. data/lib/klaviyo-api-sdk/models/flow_update_query_resource_object.rb +1 -1
  256. data/lib/klaviyo-api-sdk/models/flow_update_query_resource_object_attributes.rb +1 -1
  257. data/lib/klaviyo-api-sdk/models/flow_values_report_enum.rb +1 -1
  258. data/lib/klaviyo-api-sdk/models/flow_values_request_dto.rb +1 -1
  259. data/lib/klaviyo-api-sdk/models/flow_values_request_dto_resource_object.rb +1 -1
  260. data/lib/klaviyo-api-sdk/models/flow_values_request_dto_resource_object_attributes.rb +1 -1
  261. data/lib/klaviyo-api-sdk/models/form_enum.rb +1 -1
  262. data/lib/klaviyo-api-sdk/models/form_method_filter.rb +1 -1
  263. data/lib/klaviyo-api-sdk/models/form_series_report_enum.rb +36 -0
  264. data/lib/klaviyo-api-sdk/models/form_series_request_dto.rb +224 -0
  265. data/lib/klaviyo-api-sdk/models/form_series_request_dto_resource_object.rb +238 -0
  266. data/lib/klaviyo-api-sdk/models/form_series_request_dto_resource_object_attributes.rb +314 -0
  267. data/lib/klaviyo-api-sdk/models/form_values_report_enum.rb +36 -0
  268. data/lib/klaviyo-api-sdk/models/form_values_request_dto.rb +224 -0
  269. data/lib/klaviyo-api-sdk/models/form_values_request_dto_resource_object.rb +238 -0
  270. data/lib/klaviyo-api-sdk/models/form_values_request_dto_resource_object_attributes.rb +287 -0
  271. data/lib/klaviyo-api-sdk/models/get_accounts4_xx_response.rb +1 -1
  272. data/lib/klaviyo-api-sdk/models/get_accounts4_xx_response_errors_inner.rb +1 -1
  273. data/lib/klaviyo-api-sdk/models/get_accounts4_xx_response_errors_inner_source.rb +1 -1
  274. data/lib/klaviyo-api-sdk/models/greater_than_enum.rb +1 -1
  275. data/lib/klaviyo-api-sdk/models/has_email_marketing.rb +1 -1
  276. data/lib/klaviyo-api-sdk/models/has_email_marketing_consent.rb +1 -1
  277. data/lib/klaviyo-api-sdk/models/has_email_marketing_consent_consent_status.rb +1 -1
  278. data/lib/klaviyo-api-sdk/models/has_email_marketing_never_subscribed.rb +1 -1
  279. data/lib/klaviyo-api-sdk/models/has_email_marketing_subscribed.rb +1 -1
  280. data/lib/klaviyo-api-sdk/models/has_email_marketing_subscribed_filters_inner.rb +1 -1
  281. data/lib/klaviyo-api-sdk/models/has_push_marketing.rb +1 -1
  282. data/lib/klaviyo-api-sdk/models/has_push_marketing_consent.rb +1 -1
  283. data/lib/klaviyo-api-sdk/models/has_sms_marketing_consent.rb +1 -1
  284. data/lib/klaviyo-api-sdk/models/has_sms_marketing_subscribed.rb +1 -1
  285. data/lib/klaviyo-api-sdk/models/has_sms_marketing_subscribed_filters_inner.rb +1 -1
  286. data/lib/klaviyo-api-sdk/models/html_block.rb +252 -0
  287. data/lib/klaviyo-api-sdk/models/html_block_data.rb +238 -0
  288. data/lib/klaviyo-api-sdk/models/html_enum.rb +36 -0
  289. data/lib/klaviyo-api-sdk/models/image_create_query.rb +1 -1
  290. data/lib/klaviyo-api-sdk/models/image_create_query_resource_object.rb +1 -1
  291. data/lib/klaviyo-api-sdk/models/image_create_query_resource_object_attributes.rb +1 -1
  292. data/lib/klaviyo-api-sdk/models/image_enum.rb +1 -1
  293. data/lib/klaviyo-api-sdk/models/image_partial_update_query.rb +1 -1
  294. data/lib/klaviyo-api-sdk/models/image_partial_update_query_resource_object.rb +1 -1
  295. data/lib/klaviyo-api-sdk/models/image_partial_update_query_resource_object_attributes.rb +1 -1
  296. data/lib/klaviyo-api-sdk/models/in_enum.rb +1 -1
  297. data/lib/klaviyo-api-sdk/models/in_string_array_filter.rb +1 -1
  298. data/lib/klaviyo-api-sdk/models/inbound_message_enum.rb +1 -1
  299. data/lib/klaviyo-api-sdk/models/inbound_message_method_filter.rb +1 -1
  300. data/lib/klaviyo-api-sdk/models/integration_enum.rb +1 -1
  301. data/lib/klaviyo-api-sdk/models/invalid_email_date_enum.rb +1 -1
  302. data/lib/klaviyo-api-sdk/models/invalid_email_date_filter.rb +1 -1
  303. data/lib/klaviyo-api-sdk/models/is_double_opt_in_enum.rb +1 -1
  304. data/lib/klaviyo-api-sdk/models/is_set_enum.rb +1 -1
  305. data/lib/klaviyo-api-sdk/models/is_set_existence_filter.rb +1 -1
  306. data/lib/klaviyo-api-sdk/models/less_than_enum.rb +1 -1
  307. data/lib/klaviyo-api-sdk/models/list_contains_operator_filter.rb +1 -1
  308. data/lib/klaviyo-api-sdk/models/list_contains_operator_filter_value.rb +1 -1
  309. data/lib/klaviyo-api-sdk/models/list_create_query.rb +1 -1
  310. data/lib/klaviyo-api-sdk/models/list_create_query_resource_object.rb +1 -1
  311. data/lib/klaviyo-api-sdk/models/list_create_query_resource_object_attributes.rb +1 -1
  312. data/lib/klaviyo-api-sdk/models/list_enum.rb +1 -1
  313. data/lib/klaviyo-api-sdk/models/list_length_filter.rb +1 -1
  314. data/lib/klaviyo-api-sdk/models/list_members_add_query.rb +1 -1
  315. data/lib/klaviyo-api-sdk/models/list_members_add_query_data_inner.rb +1 -1
  316. data/lib/klaviyo-api-sdk/models/list_members_delete_query.rb +1 -1
  317. data/lib/klaviyo-api-sdk/models/list_partial_update_query.rb +1 -1
  318. data/lib/klaviyo-api-sdk/models/list_partial_update_query_resource_object.rb +1 -1
  319. data/lib/klaviyo-api-sdk/models/list_set_filter.rb +3 -3
  320. data/lib/klaviyo-api-sdk/models/list_substring_filter.rb +283 -0
  321. data/lib/klaviyo-api-sdk/models/mailbox_provider_enum.rb +1 -1
  322. data/lib/klaviyo-api-sdk/models/mailbox_provider_method_filter.rb +1 -1
  323. data/lib/klaviyo-api-sdk/models/manual_add_enum.rb +1 -1
  324. data/lib/klaviyo-api-sdk/models/manual_add_method_filter.rb +1 -1
  325. data/lib/klaviyo-api-sdk/models/manual_import_enum.rb +1 -1
  326. data/lib/klaviyo-api-sdk/models/manual_import_method_filter.rb +1 -1
  327. data/lib/klaviyo-api-sdk/models/manual_remove_enum.rb +1 -1
  328. data/lib/klaviyo-api-sdk/models/manual_remove_method_filter.rb +1 -1
  329. data/lib/klaviyo-api-sdk/models/manual_suppression_date_enum.rb +1 -1
  330. data/lib/klaviyo-api-sdk/models/manual_suppression_date_filter.rb +1 -1
  331. data/lib/klaviyo-api-sdk/models/message_blocked_enum.rb +1 -1
  332. data/lib/klaviyo-api-sdk/models/message_blocked_method_filter.rb +1 -1
  333. data/lib/klaviyo-api-sdk/models/method_enum.rb +1 -1
  334. data/lib/klaviyo-api-sdk/models/metric_aggregate_enum.rb +1 -1
  335. data/lib/klaviyo-api-sdk/models/metric_aggregate_query.rb +1 -1
  336. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object.rb +1 -1
  337. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object_attributes.rb +1 -1
  338. data/lib/klaviyo-api-sdk/models/metric_create_query_resource_object.rb +1 -1
  339. data/lib/klaviyo-api-sdk/models/metric_create_query_resource_object_attributes.rb +1 -1
  340. data/lib/klaviyo-api-sdk/models/metric_enum.rb +1 -1
  341. data/lib/klaviyo-api-sdk/models/never_subscribed_enum.rb +1 -1
  342. data/lib/klaviyo-api-sdk/models/no_email_marketing.rb +1 -1
  343. data/lib/klaviyo-api-sdk/models/no_email_marketing_consent.rb +1 -1
  344. data/lib/klaviyo-api-sdk/models/no_email_marketing_consent_consent_status.rb +1 -1
  345. data/lib/klaviyo-api-sdk/models/no_email_marketing_filters_inner.rb +1 -1
  346. data/lib/klaviyo-api-sdk/models/no_email_marketing_never_subscribed.rb +1 -1
  347. data/lib/klaviyo-api-sdk/models/no_email_marketing_subscribed.rb +1 -1
  348. data/lib/klaviyo-api-sdk/models/no_email_marketing_unsubscribed.rb +1 -1
  349. data/lib/klaviyo-api-sdk/models/no_email_marketing_unsubscribed_filters.rb +1 -1
  350. data/lib/klaviyo-api-sdk/models/no_email_marketing_unsubscribed_filters_one_of_inner.rb +1 -1
  351. data/lib/klaviyo-api-sdk/models/no_push_marketing.rb +1 -1
  352. data/lib/klaviyo-api-sdk/models/no_push_marketing_consent.rb +1 -1
  353. data/lib/klaviyo-api-sdk/models/no_sms_marketing.rb +1 -1
  354. data/lib/klaviyo-api-sdk/models/no_sms_marketing_consent.rb +1 -1
  355. data/lib/klaviyo-api-sdk/models/no_sms_marketing_consent_consent_status.rb +1 -1
  356. data/lib/klaviyo-api-sdk/models/no_sms_marketing_never_subscribed.rb +1 -1
  357. data/lib/klaviyo-api-sdk/models/no_sms_marketing_unsubscribed.rb +1 -1
  358. data/lib/klaviyo-api-sdk/models/no_sms_marketing_unsubscribed_filters_inner.rb +1 -1
  359. data/lib/klaviyo-api-sdk/models/not_equals_enum.rb +1 -1
  360. data/lib/klaviyo-api-sdk/models/numeric_enum.rb +1 -1
  361. data/lib/klaviyo-api-sdk/models/numeric_operator_filter.rb +1 -1
  362. data/lib/klaviyo-api-sdk/models/numeric_operator_filter_value.rb +1 -1
  363. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object.rb +1 -1
  364. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_resource_object_attributes.rb +13 -2
  365. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +1 -1
  366. data/lib/klaviyo-api-sdk/models/preference_page_enum.rb +1 -1
  367. data/lib/klaviyo-api-sdk/models/preference_page_filter.rb +1 -1
  368. data/lib/klaviyo-api-sdk/models/preference_page_method_filter.rb +1 -1
  369. data/lib/klaviyo-api-sdk/models/profile_bulk_import_job_enum.rb +1 -1
  370. data/lib/klaviyo-api-sdk/models/profile_create_query.rb +1 -1
  371. data/lib/klaviyo-api-sdk/models/profile_create_query_resource_object.rb +1 -1
  372. data/lib/klaviyo-api-sdk/models/profile_create_query_resource_object_attributes.rb +13 -2
  373. data/lib/klaviyo-api-sdk/models/profile_enum.rb +1 -1
  374. data/lib/klaviyo-api-sdk/models/profile_group_membership_enum.rb +1 -1
  375. data/lib/klaviyo-api-sdk/models/profile_has_group_membership_condition.rb +1 -1
  376. data/lib/klaviyo-api-sdk/models/profile_has_group_membership_condition_timeframe_filter.rb +1 -1
  377. data/lib/klaviyo-api-sdk/models/profile_identifier_dto_resource_object.rb +1 -1
  378. data/lib/klaviyo-api-sdk/models/profile_identifier_dto_resource_object_attributes.rb +1 -1
  379. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query.rb +1 -1
  380. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object.rb +1 -1
  381. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object_attributes.rb +1 -1
  382. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object_attributes_profiles.rb +1 -1
  383. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object_relationships.rb +1 -1
  384. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object_relationships_lists.rb +1 -1
  385. data/lib/klaviyo-api-sdk/models/profile_import_job_create_query_resource_object_relationships_lists_data_inner.rb +1 -1
  386. data/lib/klaviyo-api-sdk/models/profile_location.rb +1 -1
  387. data/lib/klaviyo-api-sdk/models/profile_location_latitude.rb +1 -1
  388. data/lib/klaviyo-api-sdk/models/profile_location_longitude.rb +1 -1
  389. data/lib/klaviyo-api-sdk/models/profile_marketing_consent_condition.rb +1 -1
  390. data/lib/klaviyo-api-sdk/models/profile_marketing_consent_condition_consent.rb +1 -1
  391. data/lib/klaviyo-api-sdk/models/profile_marketing_consent_enum.rb +1 -1
  392. data/lib/klaviyo-api-sdk/models/profile_merge_enum.rb +1 -1
  393. data/lib/klaviyo-api-sdk/models/profile_merge_query.rb +1 -1
  394. data/lib/klaviyo-api-sdk/models/profile_merge_query_resource_object.rb +1 -1
  395. data/lib/klaviyo-api-sdk/models/profile_merge_query_resource_object_relationships.rb +1 -1
  396. data/lib/klaviyo-api-sdk/models/profile_merge_query_resource_object_relationships_profiles.rb +1 -1
  397. data/lib/klaviyo-api-sdk/models/profile_merge_query_resource_object_relationships_profiles_data_inner.rb +1 -1
  398. data/lib/klaviyo-api-sdk/models/profile_meta.rb +1 -1
  399. data/lib/klaviyo-api-sdk/models/profile_meta_patch_properties.rb +1 -1
  400. data/lib/klaviyo-api-sdk/models/profile_meta_patch_properties_unset.rb +1 -1
  401. data/lib/klaviyo-api-sdk/models/profile_metric_condition.rb +1 -1
  402. data/lib/klaviyo-api-sdk/models/profile_metric_condition_timeframe_filter.rb +1 -1
  403. data/lib/klaviyo-api-sdk/models/profile_metric_enum.rb +1 -1
  404. data/lib/klaviyo-api-sdk/models/profile_metric_property_filter.rb +1 -1
  405. data/lib/klaviyo-api-sdk/models/profile_metric_property_filter_filter.rb +9 -3
  406. data/lib/klaviyo-api-sdk/models/profile_no_group_membership_condition.rb +1 -1
  407. data/lib/klaviyo-api-sdk/models/profile_partial_update_query.rb +1 -1
  408. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_resource_object.rb +1 -1
  409. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_resource_object_attributes.rb +13 -2
  410. data/lib/klaviyo-api-sdk/models/profile_postal_code_distance_condition.rb +1 -1
  411. data/lib/klaviyo-api-sdk/models/profile_postal_code_distance_enum.rb +1 -1
  412. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_enum.rb +1 -1
  413. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_numeric_condition.rb +1 -1
  414. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_string_condition.rb +1 -1
  415. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_string_filter.rb +1 -1
  416. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_string_filter_operator.rb +1 -1
  417. data/lib/klaviyo-api-sdk/models/profile_property_condition.rb +1 -1
  418. data/lib/klaviyo-api-sdk/models/profile_property_condition_filter.rb +1 -1
  419. data/lib/klaviyo-api-sdk/models/profile_property_enum.rb +1 -1
  420. data/lib/klaviyo-api-sdk/models/profile_region_condition.rb +1 -1
  421. data/lib/klaviyo-api-sdk/models/profile_region_enum.rb +1 -1
  422. data/lib/klaviyo-api-sdk/models/profile_subscription_bulk_create_job_enum.rb +1 -1
  423. data/lib/klaviyo-api-sdk/models/profile_subscription_bulk_delete_job_enum.rb +1 -1
  424. data/lib/klaviyo-api-sdk/models/profile_subscription_create_query_resource_object.rb +1 -1
  425. data/lib/klaviyo-api-sdk/models/profile_subscription_create_query_resource_object_attributes.rb +1 -1
  426. data/lib/klaviyo-api-sdk/models/profile_subscription_delete_query_resource_object.rb +1 -1
  427. data/lib/klaviyo-api-sdk/models/profile_subscription_delete_query_resource_object_attributes.rb +1 -1
  428. data/lib/klaviyo-api-sdk/models/profile_suppression_bulk_create_job_enum.rb +1 -1
  429. data/lib/klaviyo-api-sdk/models/profile_suppression_bulk_delete_job_enum.rb +1 -1
  430. data/lib/klaviyo-api-sdk/models/profile_suppression_create_query_resource_object.rb +1 -1
  431. data/lib/klaviyo-api-sdk/models/profile_suppression_create_query_resource_object_attributes.rb +1 -1
  432. data/lib/klaviyo-api-sdk/models/profile_suppression_delete_query_resource_object.rb +1 -1
  433. data/lib/klaviyo-api-sdk/models/profile_suppression_delete_query_resource_object_attributes.rb +1 -1
  434. data/lib/klaviyo-api-sdk/models/profile_upsert_query.rb +1 -1
  435. data/lib/klaviyo-api-sdk/models/profile_upsert_query_resource_object.rb +1 -1
  436. data/lib/klaviyo-api-sdk/models/profile_upsert_query_resource_object_attributes.rb +13 -2
  437. data/lib/klaviyo-api-sdk/models/provided_landline_enum.rb +1 -1
  438. data/lib/klaviyo-api-sdk/models/provided_landline_method_filter.rb +1 -1
  439. data/lib/klaviyo-api-sdk/models/provided_no_age_enum.rb +1 -1
  440. data/lib/klaviyo-api-sdk/models/provided_no_age_method_filter.rb +1 -1
  441. data/lib/klaviyo-api-sdk/models/push_enum.rb +1 -1
  442. data/lib/klaviyo-api-sdk/models/push_profile_upsert_query_resource_object.rb +1 -1
  443. data/lib/klaviyo-api-sdk/models/push_profile_upsert_query_resource_object_attributes.rb +13 -2
  444. data/lib/klaviyo-api-sdk/models/push_token_create_query.rb +1 -1
  445. data/lib/klaviyo-api-sdk/models/push_token_create_query_resource_object.rb +1 -1
  446. data/lib/klaviyo-api-sdk/models/push_token_create_query_resource_object_attributes.rb +1 -1
  447. data/lib/klaviyo-api-sdk/models/push_token_create_query_resource_object_attributes_profile.rb +1 -1
  448. data/lib/klaviyo-api-sdk/models/push_token_enum.rb +1 -1
  449. data/lib/klaviyo-api-sdk/models/relative_anniversary_date_filter.rb +1 -1
  450. data/lib/klaviyo-api-sdk/models/relative_date_operator_base_filter.rb +1 -1
  451. data/lib/klaviyo-api-sdk/models/relative_date_range_filter.rb +1 -1
  452. data/lib/klaviyo-api-sdk/models/render_options_sub_object.rb +1 -1
  453. data/lib/klaviyo-api-sdk/models/segment_create_query.rb +1 -1
  454. data/lib/klaviyo-api-sdk/models/segment_create_query_resource_object.rb +1 -1
  455. data/lib/klaviyo-api-sdk/models/segment_create_query_resource_object_attributes.rb +1 -1
  456. data/lib/klaviyo-api-sdk/models/segment_definition.rb +1 -1
  457. data/lib/klaviyo-api-sdk/models/segment_enum.rb +1 -1
  458. data/lib/klaviyo-api-sdk/models/segment_partial_update_query.rb +1 -1
  459. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_resource_object.rb +1 -1
  460. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_resource_object_attributes.rb +1 -1
  461. data/lib/klaviyo-api-sdk/models/segment_series_report_enum.rb +36 -0
  462. data/lib/klaviyo-api-sdk/models/segment_series_request_dto.rb +224 -0
  463. data/lib/klaviyo-api-sdk/models/segment_series_request_dto_resource_object.rb +238 -0
  464. data/lib/klaviyo-api-sdk/models/segment_series_request_dto_resource_object_attributes.rb +301 -0
  465. data/lib/klaviyo-api-sdk/models/segment_values_report_enum.rb +36 -0
  466. data/lib/klaviyo-api-sdk/models/segment_values_request_dto.rb +224 -0
  467. data/lib/klaviyo-api-sdk/models/segment_values_request_dto_resource_object.rb +238 -0
  468. data/lib/klaviyo-api-sdk/models/segment_values_request_dto_resource_object_attributes.rb +274 -0
  469. data/lib/klaviyo-api-sdk/models/segment_values_request_dto_resource_object_attributes_timeframe.rb +106 -0
  470. data/lib/klaviyo-api-sdk/models/send_strategy_sub_object.rb +1 -1
  471. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query.rb +1 -1
  472. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object.rb +1 -1
  473. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_attributes.rb +1 -1
  474. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_attributes_profile.rb +1 -1
  475. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships.rb +1 -1
  476. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships_variant.rb +1 -1
  477. data/lib/klaviyo-api-sdk/models/server_bis_subscription_create_query_resource_object_relationships_variant_data.rb +1 -1
  478. data/lib/klaviyo-api-sdk/models/sftp_enum.rb +1 -1
  479. data/lib/klaviyo-api-sdk/models/sftp_method_filter.rb +1 -1
  480. data/lib/klaviyo-api-sdk/models/shopify_enum.rb +1 -1
  481. data/lib/klaviyo-api-sdk/models/shopify_integration_filter.rb +1 -1
  482. data/lib/klaviyo-api-sdk/models/shopify_integration_method_filter.rb +1 -1
  483. data/lib/klaviyo-api-sdk/models/sms_content_sub_object_create.rb +1 -1
  484. data/lib/klaviyo-api-sdk/models/sms_enum.rb +1 -1
  485. data/lib/klaviyo-api-sdk/models/sms_send_options_sub_object.rb +1 -1
  486. data/lib/klaviyo-api-sdk/models/sms_subscription_parameters.rb +14 -10
  487. data/lib/klaviyo-api-sdk/models/sms_tracking_options_sub_object.rb +19 -19
  488. data/lib/klaviyo-api-sdk/models/spam_complaint_enum.rb +1 -1
  489. data/lib/klaviyo-api-sdk/models/spam_complaint_method_filter.rb +1 -1
  490. data/lib/klaviyo-api-sdk/models/static_date_filter.rb +1 -1
  491. data/lib/klaviyo-api-sdk/models/static_date_range_filter.rb +1 -1
  492. data/lib/klaviyo-api-sdk/models/static_enum.rb +36 -0
  493. data/lib/klaviyo-api-sdk/models/static_schedule_options.rb +1 -1
  494. data/lib/klaviyo-api-sdk/models/static_tracking_param.rb +254 -0
  495. data/lib/klaviyo-api-sdk/models/status_date_enum.rb +1 -1
  496. data/lib/klaviyo-api-sdk/models/status_date_filter.rb +1 -1
  497. data/lib/klaviyo-api-sdk/models/status_date_filter_filter.rb +1 -1
  498. data/lib/klaviyo-api-sdk/models/sto_schedule_options.rb +1 -1
  499. data/lib/klaviyo-api-sdk/models/string_array_operator_filter.rb +1 -1
  500. data/lib/klaviyo-api-sdk/models/string_enum.rb +1 -1
  501. data/lib/klaviyo-api-sdk/models/string_operator_filter.rb +1 -1
  502. data/lib/klaviyo-api-sdk/models/string_phone_operator_array_filter.rb +1 -1
  503. data/lib/klaviyo-api-sdk/models/subscribed_enum.rb +1 -1
  504. data/lib/klaviyo-api-sdk/models/subscription_channels.rb +1 -1
  505. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query.rb +1 -1
  506. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object.rb +1 -1
  507. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_attributes.rb +1 -1
  508. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_attributes_profiles.rb +1 -1
  509. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_relationships.rb +1 -1
  510. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_relationships_list.rb +1 -1
  511. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_resource_object_relationships_list_data.rb +1 -1
  512. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query.rb +1 -1
  513. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object.rb +1 -1
  514. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_attributes.rb +1 -1
  515. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_attributes_profiles.rb +1 -1
  516. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships.rb +1 -1
  517. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships_list.rb +1 -1
  518. data/lib/klaviyo-api-sdk/models/subscription_delete_job_create_query_resource_object_relationships_list_data.rb +1 -1
  519. data/lib/klaviyo-api-sdk/models/{marketing_subscription_parameters.rb → subscription_parameters.rb} +5 -5
  520. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query.rb +1 -1
  521. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object.rb +1 -1
  522. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_attributes.rb +1 -1
  523. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_attributes_profiles.rb +1 -1
  524. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_relationships.rb +1 -1
  525. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_relationships_list.rb +1 -1
  526. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_relationships_list_data.rb +1 -1
  527. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_relationships_segment.rb +1 -1
  528. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_resource_object_relationships_segment_data.rb +1 -1
  529. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query.rb +1 -1
  530. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object.rb +1 -1
  531. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_attributes.rb +1 -1
  532. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_attributes_profiles.rb +1 -1
  533. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_relationships.rb +1 -1
  534. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_relationships_list.rb +1 -1
  535. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_relationships_list_data.rb +1 -1
  536. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_relationships_segment.rb +1 -1
  537. data/lib/klaviyo-api-sdk/models/suppression_delete_job_create_query_resource_object_relationships_segment_data.rb +1 -1
  538. data/lib/klaviyo-api-sdk/models/tag_campaign_op.rb +1 -1
  539. data/lib/klaviyo-api-sdk/models/tag_campaign_op_data_inner.rb +1 -1
  540. data/lib/klaviyo-api-sdk/models/tag_create_query.rb +1 -1
  541. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object.rb +1 -1
  542. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_attributes.rb +1 -1
  543. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships.rb +1 -1
  544. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships_tag_group.rb +1 -1
  545. data/lib/klaviyo-api-sdk/models/tag_create_query_resource_object_relationships_tag_group_data.rb +1 -1
  546. data/lib/klaviyo-api-sdk/models/tag_enum.rb +1 -1
  547. data/lib/klaviyo-api-sdk/models/tag_flow_op.rb +1 -1
  548. data/lib/klaviyo-api-sdk/models/tag_flow_op_data_inner.rb +1 -1
  549. data/lib/klaviyo-api-sdk/models/tag_group_create_query.rb +1 -1
  550. data/lib/klaviyo-api-sdk/models/tag_group_create_query_resource_object.rb +1 -1
  551. data/lib/klaviyo-api-sdk/models/tag_group_create_query_resource_object_attributes.rb +1 -1
  552. data/lib/klaviyo-api-sdk/models/tag_group_enum.rb +1 -1
  553. data/lib/klaviyo-api-sdk/models/tag_group_update_query.rb +1 -1
  554. data/lib/klaviyo-api-sdk/models/tag_group_update_query_resource_object.rb +1 -1
  555. data/lib/klaviyo-api-sdk/models/tag_group_update_query_resource_object_attributes.rb +1 -1
  556. data/lib/klaviyo-api-sdk/models/tag_list_op.rb +1 -1
  557. data/lib/klaviyo-api-sdk/models/tag_list_op_data_inner.rb +1 -1
  558. data/lib/klaviyo-api-sdk/models/tag_segment_op.rb +1 -1
  559. data/lib/klaviyo-api-sdk/models/tag_segment_op_data_inner.rb +1 -1
  560. data/lib/klaviyo-api-sdk/models/tag_update_query.rb +1 -1
  561. data/lib/klaviyo-api-sdk/models/tag_update_query_resource_object.rb +1 -1
  562. data/lib/klaviyo-api-sdk/models/template_clone_query.rb +1 -1
  563. data/lib/klaviyo-api-sdk/models/template_clone_query_resource_object.rb +1 -1
  564. data/lib/klaviyo-api-sdk/models/template_clone_query_resource_object_attributes.rb +1 -1
  565. data/lib/klaviyo-api-sdk/models/template_create_query.rb +1 -1
  566. data/lib/klaviyo-api-sdk/models/template_create_query_resource_object.rb +1 -1
  567. data/lib/klaviyo-api-sdk/models/template_create_query_resource_object_attributes.rb +1 -1
  568. data/lib/klaviyo-api-sdk/models/template_enum.rb +1 -1
  569. data/lib/klaviyo-api-sdk/models/template_render_query.rb +1 -1
  570. data/lib/klaviyo-api-sdk/models/template_render_query_resource_object.rb +1 -1
  571. data/lib/klaviyo-api-sdk/models/template_render_query_resource_object_attributes.rb +1 -1
  572. data/lib/klaviyo-api-sdk/models/template_universal_content_enum.rb +36 -0
  573. data/lib/klaviyo-api-sdk/models/template_update_query.rb +1 -1
  574. data/lib/klaviyo-api-sdk/models/template_update_query_resource_object.rb +1 -1
  575. data/lib/klaviyo-api-sdk/models/template_update_query_resource_object_attributes.rb +1 -1
  576. data/lib/klaviyo-api-sdk/models/text_block.rb +252 -0
  577. data/lib/klaviyo-api-sdk/models/text_block_data.rb +252 -0
  578. data/lib/klaviyo-api-sdk/models/text_block_styles.rb +534 -0
  579. data/lib/klaviyo-api-sdk/models/text_enum.rb +36 -0
  580. data/lib/klaviyo-api-sdk/models/throttled_schedule_options.rb +1 -1
  581. data/lib/klaviyo-api-sdk/models/timeframe.rb +1 -1
  582. data/lib/klaviyo-api-sdk/models/tracking_param_dto.rb +230 -0
  583. data/lib/klaviyo-api-sdk/models/tracking_param_dto_campaign.rb +106 -0
  584. data/lib/klaviyo-api-sdk/models/tracking_param_dto_flow.rb +106 -0
  585. data/lib/klaviyo-api-sdk/models/tracking_setting_enum.rb +36 -0
  586. data/lib/klaviyo-api-sdk/models/tracking_setting_partial_update_query.rb +224 -0
  587. data/lib/klaviyo-api-sdk/models/tracking_setting_partial_update_query_resource_object.rb +253 -0
  588. data/lib/klaviyo-api-sdk/models/tracking_setting_partial_update_query_resource_object_attributes.rb +279 -0
  589. data/lib/klaviyo-api-sdk/models/union_positive_numeric_filter.rb +1 -1
  590. data/lib/klaviyo-api-sdk/models/union_positive_numeric_filter_operator.rb +1 -1
  591. data/lib/klaviyo-api-sdk/models/universal_content_create_query.rb +224 -0
  592. data/lib/klaviyo-api-sdk/models/universal_content_create_query_resource_object.rb +238 -0
  593. data/lib/klaviyo-api-sdk/models/universal_content_create_query_resource_object_attributes.rb +239 -0
  594. data/lib/klaviyo-api-sdk/models/universal_content_create_query_resource_object_attributes_definition.rb +105 -0
  595. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query.rb +224 -0
  596. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_resource_object.rb +253 -0
  597. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_resource_object_attributes.rb +231 -0
  598. data/lib/klaviyo-api-sdk/models/universal_content_partial_update_query_resource_object_attributes_definition.rb +105 -0
  599. data/lib/klaviyo-api-sdk/models/unsubscribed_enum.rb +1 -1
  600. data/lib/klaviyo-api-sdk/models/webhook_create_query.rb +1 -1
  601. data/lib/klaviyo-api-sdk/models/webhook_create_query_resource_object.rb +1 -1
  602. data/lib/klaviyo-api-sdk/models/webhook_create_query_resource_object_attributes.rb +1 -1
  603. data/lib/klaviyo-api-sdk/models/webhook_create_query_resource_object_relationships.rb +1 -1
  604. data/lib/klaviyo-api-sdk/models/webhook_create_query_resource_object_relationships_webhook_topics.rb +1 -1
  605. data/lib/klaviyo-api-sdk/models/webhook_create_query_resource_object_relationships_webhook_topics_data_inner.rb +1 -1
  606. data/lib/klaviyo-api-sdk/models/webhook_enum.rb +1 -1
  607. data/lib/klaviyo-api-sdk/models/webhook_partial_update_query.rb +1 -1
  608. data/lib/klaviyo-api-sdk/models/webhook_partial_update_query_resource_object.rb +1 -1
  609. data/lib/klaviyo-api-sdk/models/webhook_partial_update_query_resource_object_attributes.rb +1 -1
  610. data/lib/klaviyo-api-sdk/models/webhook_topic_enum.rb +1 -1
  611. data/lib/klaviyo-api-sdk/version.rb +1 -1
  612. data/lib/klaviyo-api-sdk.rb +90 -22
  613. metadata +59 -4
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
5
 
6
- The version of the OpenAPI document: 2024-07-15
6
+ The version of the OpenAPI document: 2024-10-15
7
7
  Contact: developers@klaviyo.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.2.1
@@ -19,10 +19,339 @@ module KlaviyoAPI
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Bulk Subscribe Profiles
23
+ # 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. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any `UNSUBSCRIBE`, `SPAM_REPORT` or `USER_SUPPRESSED` suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a `historical_import` flag. If this flag is set `true`, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \"Added to list\" flows. This is useful for importing historical data where you have already collected consent. If `historical_import` is set to true, the `consented_at` field is required and must be in the past.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
24
+ # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [nil]
27
+ def bulk_subscribe_profiles(subscription_create_job_create_query, opts = {})
28
+ bulk_subscribe_profiles_with_http_info(subscription_create_job_create_query, opts)
29
+ nil
30
+ end
31
+
32
+ # alias of `bulk_subscribe_profiles`
33
+ alias subscribe_profiles bulk_subscribe_profiles
34
+
35
+ # alias of `bulk_subscribe_profiles`
36
+ alias create_profile_subscription_bulk_create_job bulk_subscribe_profiles
37
+
38
+ # Bulk Subscribe Profiles
39
+ # 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. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any &#x60;UNSUBSCRIBE&#x60;, &#x60;SPAM_REPORT&#x60; or &#x60;USER_SUPPRESSED&#x60; suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a &#x60;historical_import&#x60; flag. If this flag is set &#x60;true&#x60;, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \&quot;Added to list\&quot; flows. This is useful for importing historical data where you have already collected consent. If &#x60;historical_import&#x60; is set to true, the &#x60;consented_at&#x60; field is required and must be in the past.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
40
+ # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
41
+ # @param [Hash] opts the optional parameters
42
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
43
+ def bulk_subscribe_profiles_with_http_info(subscription_create_job_create_query, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.bulk_subscribe_profiles ...'
46
+ end
47
+ # verify the required parameter 'subscription_create_job_create_query' is set
48
+ if @api_client.config.client_side_validation && subscription_create_job_create_query.nil?
49
+ fail ArgumentError, "Missing the required parameter 'subscription_create_job_create_query' when calling ProfilesApi.bulk_subscribe_profiles"
50
+ end
51
+ # resource path
52
+ local_var_path = '/api/profile-subscription-bulk-create-jobs'
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # klaviyo api revision
60
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
61
+ # HTTP header 'Accept' (if needed)
62
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
63
+ # HTTP header 'Content-Type'
64
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
65
+ if !content_type.nil?
66
+ header_params['Content-Type'] = content_type
67
+ end
68
+
69
+ # form parameters
70
+ form_params = opts[:form_params] || {}
71
+
72
+ # http body (model)
73
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_create_job_create_query)
74
+
75
+ # return_type
76
+ return_type = opts[:debug_return_type]
77
+
78
+ # auth_names
79
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
80
+
81
+ new_options = opts.merge(
82
+ :operation => :"ProfilesApi.bulk_subscribe_profiles",
83
+ :header_params => header_params,
84
+ :query_params => query_params,
85
+ :form_params => form_params,
86
+ :body => post_body,
87
+ :auth_names => auth_names,
88
+ :return_type => return_type
89
+ )
90
+
91
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
92
+ if @api_client.config.debugging
93
+ @api_client.config.logger.debug "API called: ProfilesApi#bulk_subscribe_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
94
+ end
95
+ return data, status_code, headers
96
+ end
97
+
98
+ # alias of `bulk_subscribe_profiles_with_http_info`
99
+ alias subscribe_profiles_with_http_info bulk_subscribe_profiles_with_http_info
100
+
101
+ # alias of `bulk_subscribe_profiles_with_http_info`
102
+ alias create_profile_subscription_bulk_create_job_with_http_info bulk_subscribe_profiles_with_http_info
103
+
104
+ # Bulk Suppress Profiles
105
+ # Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write` `subscriptions:write`
106
+ # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Hash<String, Object>]
109
+ def bulk_suppress_profiles(suppression_create_job_create_query, opts = {})
110
+ data, _status_code, _headers = bulk_suppress_profiles_with_http_info(suppression_create_job_create_query, opts)
111
+ data
112
+ end
113
+
114
+ # alias of `bulk_suppress_profiles`
115
+ alias suppress_profiles bulk_suppress_profiles
116
+
117
+ # alias of `bulk_suppress_profiles`
118
+ alias create_profile_suppression_bulk_create_job bulk_suppress_profiles
119
+
120
+ # Bulk Suppress Profiles
121
+ # Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
122
+ # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
123
+ # @param [Hash] opts the optional parameters
124
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
125
+ def bulk_suppress_profiles_with_http_info(suppression_create_job_create_query, opts = {})
126
+ if @api_client.config.debugging
127
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.bulk_suppress_profiles ...'
128
+ end
129
+ # verify the required parameter 'suppression_create_job_create_query' is set
130
+ if @api_client.config.client_side_validation && suppression_create_job_create_query.nil?
131
+ fail ArgumentError, "Missing the required parameter 'suppression_create_job_create_query' when calling ProfilesApi.bulk_suppress_profiles"
132
+ end
133
+ # resource path
134
+ local_var_path = '/api/profile-suppression-bulk-create-jobs'
135
+
136
+ # query parameters
137
+ query_params = opts[:query_params] || {}
138
+
139
+ # header parameters
140
+ header_params = opts[:header_params] || {}
141
+ # klaviyo api revision
142
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
143
+ # HTTP header 'Accept' (if needed)
144
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
145
+ # HTTP header 'Content-Type'
146
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
147
+ if !content_type.nil?
148
+ header_params['Content-Type'] = content_type
149
+ end
150
+
151
+ # form parameters
152
+ form_params = opts[:form_params] || {}
153
+
154
+ # http body (model)
155
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(suppression_create_job_create_query)
156
+
157
+ # return_type
158
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
159
+
160
+ # auth_names
161
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
162
+
163
+ new_options = opts.merge(
164
+ :operation => :"ProfilesApi.bulk_suppress_profiles",
165
+ :header_params => header_params,
166
+ :query_params => query_params,
167
+ :form_params => form_params,
168
+ :body => post_body,
169
+ :auth_names => auth_names,
170
+ :return_type => return_type
171
+ )
172
+
173
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug "API called: ProfilesApi#bulk_suppress_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
176
+ end
177
+ return data, status_code, headers
178
+ end
179
+
180
+ # alias of `bulk_suppress_profiles_with_http_info`
181
+ alias suppress_profiles_with_http_info bulk_suppress_profiles_with_http_info
182
+
183
+ # alias of `bulk_suppress_profiles_with_http_info`
184
+ alias create_profile_suppression_bulk_create_job_with_http_info bulk_suppress_profiles_with_http_info
185
+
186
+ # Bulk Unsubscribe Profiles
187
+ # 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). 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). Maximum number of profile can be submitted for unsubscription: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
188
+ # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
189
+ # @param [Hash] opts the optional parameters
190
+ # @return [nil]
191
+ def bulk_unsubscribe_profiles(subscription_delete_job_create_query, opts = {})
192
+ bulk_unsubscribe_profiles_with_http_info(subscription_delete_job_create_query, opts)
193
+ nil
194
+ end
195
+
196
+ # alias of `bulk_unsubscribe_profiles`
197
+ alias unsubscribe_profiles bulk_unsubscribe_profiles
198
+
199
+ # alias of `bulk_unsubscribe_profiles`
200
+ alias create_profile_subscription_bulk_delete_job bulk_unsubscribe_profiles
201
+
202
+ # Bulk Unsubscribe Profiles
203
+ # 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). 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). Maximum number of profile can be submitted for unsubscription: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
204
+ # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
205
+ # @param [Hash] opts the optional parameters
206
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
207
+ def bulk_unsubscribe_profiles_with_http_info(subscription_delete_job_create_query, opts = {})
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.bulk_unsubscribe_profiles ...'
210
+ end
211
+ # verify the required parameter 'subscription_delete_job_create_query' is set
212
+ if @api_client.config.client_side_validation && subscription_delete_job_create_query.nil?
213
+ fail ArgumentError, "Missing the required parameter 'subscription_delete_job_create_query' when calling ProfilesApi.bulk_unsubscribe_profiles"
214
+ end
215
+ # resource path
216
+ local_var_path = '/api/profile-subscription-bulk-delete-jobs'
217
+
218
+ # query parameters
219
+ query_params = opts[:query_params] || {}
220
+
221
+ # header parameters
222
+ header_params = opts[:header_params] || {}
223
+ # klaviyo api revision
224
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
225
+ # HTTP header 'Accept' (if needed)
226
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
227
+ # HTTP header 'Content-Type'
228
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
229
+ if !content_type.nil?
230
+ header_params['Content-Type'] = content_type
231
+ end
232
+
233
+ # form parameters
234
+ form_params = opts[:form_params] || {}
235
+
236
+ # http body (model)
237
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_delete_job_create_query)
238
+
239
+ # return_type
240
+ return_type = opts[:debug_return_type]
241
+
242
+ # auth_names
243
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
244
+
245
+ new_options = opts.merge(
246
+ :operation => :"ProfilesApi.bulk_unsubscribe_profiles",
247
+ :header_params => header_params,
248
+ :query_params => query_params,
249
+ :form_params => form_params,
250
+ :body => post_body,
251
+ :auth_names => auth_names,
252
+ :return_type => return_type
253
+ )
254
+
255
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
256
+ if @api_client.config.debugging
257
+ @api_client.config.logger.debug "API called: ProfilesApi#bulk_unsubscribe_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
258
+ end
259
+ return data, status_code, headers
260
+ end
261
+
262
+ # alias of `bulk_unsubscribe_profiles_with_http_info`
263
+ alias unsubscribe_profiles_with_http_info bulk_unsubscribe_profiles_with_http_info
264
+
265
+ # alias of `bulk_unsubscribe_profiles_with_http_info`
266
+ alias create_profile_subscription_bulk_delete_job_with_http_info bulk_unsubscribe_profiles_with_http_info
267
+
268
+ # Bulk Unsuppress Profiles
269
+ # Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:write`
270
+ # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
271
+ # @param [Hash] opts the optional parameters
272
+ # @return [Hash<String, Object>]
273
+ def bulk_unsuppress_profiles(suppression_delete_job_create_query, opts = {})
274
+ data, _status_code, _headers = bulk_unsuppress_profiles_with_http_info(suppression_delete_job_create_query, opts)
275
+ data
276
+ end
277
+
278
+ # alias of `bulk_unsuppress_profiles`
279
+ alias unsuppress_profiles bulk_unsuppress_profiles
280
+
281
+ # alias of `bulk_unsuppress_profiles`
282
+ alias create_profile_suppression_bulk_delete_job bulk_unsuppress_profiles
283
+
284
+ # Bulk Unsuppress Profiles
285
+ # Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:write&#x60;
286
+ # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
287
+ # @param [Hash] opts the optional parameters
288
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
289
+ def bulk_unsuppress_profiles_with_http_info(suppression_delete_job_create_query, opts = {})
290
+ if @api_client.config.debugging
291
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.bulk_unsuppress_profiles ...'
292
+ end
293
+ # verify the required parameter 'suppression_delete_job_create_query' is set
294
+ if @api_client.config.client_side_validation && suppression_delete_job_create_query.nil?
295
+ fail ArgumentError, "Missing the required parameter 'suppression_delete_job_create_query' when calling ProfilesApi.bulk_unsuppress_profiles"
296
+ end
297
+ # resource path
298
+ local_var_path = '/api/profile-suppression-bulk-delete-jobs'
299
+
300
+ # query parameters
301
+ query_params = opts[:query_params] || {}
302
+
303
+ # header parameters
304
+ header_params = opts[:header_params] || {}
305
+ # klaviyo api revision
306
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
307
+ # HTTP header 'Accept' (if needed)
308
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
309
+ # HTTP header 'Content-Type'
310
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
311
+ if !content_type.nil?
312
+ header_params['Content-Type'] = content_type
313
+ end
314
+
315
+ # form parameters
316
+ form_params = opts[:form_params] || {}
317
+
318
+ # http body (model)
319
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(suppression_delete_job_create_query)
320
+
321
+ # return_type
322
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
323
+
324
+ # auth_names
325
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
326
+
327
+ new_options = opts.merge(
328
+ :operation => :"ProfilesApi.bulk_unsuppress_profiles",
329
+ :header_params => header_params,
330
+ :query_params => query_params,
331
+ :form_params => form_params,
332
+ :body => post_body,
333
+ :auth_names => auth_names,
334
+ :return_type => return_type
335
+ )
336
+
337
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
338
+ if @api_client.config.debugging
339
+ @api_client.config.logger.debug "API called: ProfilesApi#bulk_unsuppress_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
340
+ end
341
+ return data, status_code, headers
342
+ end
343
+
344
+ # alias of `bulk_unsuppress_profiles_with_http_info`
345
+ alias unsuppress_profiles_with_http_info bulk_unsuppress_profiles_with_http_info
346
+
347
+ # alias of `bulk_unsuppress_profiles_with_http_info`
348
+ alias create_profile_suppression_bulk_delete_job_with_http_info bulk_unsuppress_profiles_with_http_info
349
+
22
350
  # Create or Update Profile
23
351
  # Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
24
352
  # @param profile_upsert_query [ProfileUpsertQuery]
25
353
  # @param [Hash] opts the optional parameters
354
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
26
355
  # @return [Hash<String, Object>]
27
356
  def create_or_update_profile(profile_upsert_query, opts = {})
28
357
  data, _status_code, _headers = create_or_update_profile_with_http_info(profile_upsert_query, opts)
@@ -36,6 +365,7 @@ module KlaviyoAPI
36
365
  # Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Note that setting a field to &#x60;null&#x60; will clear out the field, whereas not including a field in your request will leave it unchanged.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
37
366
  # @param profile_upsert_query [ProfileUpsertQuery]
38
367
  # @param [Hash] opts the optional parameters
368
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
39
369
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
40
370
  def create_or_update_profile_with_http_info(profile_upsert_query, opts = {})
41
371
  if @api_client.config.debugging
@@ -45,20 +375,25 @@ module KlaviyoAPI
45
375
  if @api_client.config.client_side_validation && profile_upsert_query.nil?
46
376
  fail ArgumentError, "Missing the required parameter 'profile_upsert_query' when calling ProfilesApi.create_or_update_profile"
47
377
  end
378
+ allowable_values = ["subscriptions", "predictive_analytics"]
379
+ if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
380
+ fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
381
+ end
48
382
  # resource path
49
- local_var_path = '/api/profile-import/'
383
+ local_var_path = '/api/profile-import'
50
384
 
51
385
  # query parameters
52
386
  query_params = opts[:query_params] || {}
387
+ query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
53
388
 
54
389
  # header parameters
55
390
  header_params = opts[:header_params] || {}
56
391
  # klaviyo api revision
57
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
392
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
58
393
  # HTTP header 'Accept' (if needed)
59
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
394
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
60
395
  # HTTP header 'Content-Type'
61
- content_type = @api_client.select_header_content_type(['application/json'])
396
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
62
397
  if !content_type.nil?
63
398
  header_params['Content-Type'] = content_type
64
399
  end
@@ -99,6 +434,7 @@ module KlaviyoAPI
99
434
  # Create a new profile.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
100
435
  # @param profile_create_query [ProfileCreateQuery]
101
436
  # @param [Hash] opts the optional parameters
437
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
102
438
  # @return [Hash<String, Object>]
103
439
  def create_profile(profile_create_query, opts = {})
104
440
  data, _status_code, _headers = create_profile_with_http_info(profile_create_query, opts)
@@ -109,6 +445,7 @@ module KlaviyoAPI
109
445
  # Create a new profile.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
110
446
  # @param profile_create_query [ProfileCreateQuery]
111
447
  # @param [Hash] opts the optional parameters
448
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
112
449
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
113
450
  def create_profile_with_http_info(profile_create_query, opts = {})
114
451
  if @api_client.config.debugging
@@ -118,20 +455,25 @@ module KlaviyoAPI
118
455
  if @api_client.config.client_side_validation && profile_create_query.nil?
119
456
  fail ArgumentError, "Missing the required parameter 'profile_create_query' when calling ProfilesApi.create_profile"
120
457
  end
458
+ allowable_values = ["subscriptions", "predictive_analytics"]
459
+ if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
460
+ fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
461
+ end
121
462
  # resource path
122
- local_var_path = '/api/profiles/'
463
+ local_var_path = '/api/profiles'
123
464
 
124
465
  # query parameters
125
466
  query_params = opts[:query_params] || {}
467
+ query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
126
468
 
127
469
  # header parameters
128
470
  header_params = opts[:header_params] || {}
129
471
  # klaviyo api revision
130
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
472
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
131
473
  # HTTP header 'Accept' (if needed)
132
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
474
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
133
475
  # HTTP header 'Content-Type'
134
- content_type = @api_client.select_header_content_type(['application/json'])
476
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
135
477
  if !content_type.nil?
136
478
  header_params['Content-Type'] = content_type
137
479
  end
@@ -189,7 +531,7 @@ module KlaviyoAPI
189
531
  fail ArgumentError, "Missing the required parameter 'push_token_create_query' when calling ProfilesApi.create_push_token"
190
532
  end
191
533
  # resource path
192
- local_var_path = '/api/push-tokens/'
534
+ local_var_path = '/api/push-tokens'
193
535
 
194
536
  # query parameters
195
537
  query_params = opts[:query_params] || {}
@@ -197,11 +539,11 @@ module KlaviyoAPI
197
539
  # header parameters
198
540
  header_params = opts[:header_params] || {}
199
541
  # klaviyo api revision
200
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
542
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
201
543
  # HTTP header 'Accept' (if needed)
202
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
544
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
203
545
  # HTTP header 'Content-Type'
204
- content_type = @api_client.select_header_content_type(['application/json'])
546
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
205
547
  if !content_type.nil?
206
548
  header_params['Content-Type'] = content_type
207
549
  end
@@ -235,37 +577,40 @@ module KlaviyoAPI
235
577
  return data, status_code, headers
236
578
  end
237
579
 
238
- # Get Bulk Profile Import Job
580
+ # Get Bulk Import Profiles Job
239
581
  # Get a bulk profile import job with the given job ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
240
582
  # @param job_id [String] ID of the job to retrieve.
241
583
  # @param [Hash] opts the optional parameters
242
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
243
- # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
244
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#relationships
584
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
585
+ # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
586
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#relationships
245
587
  # @return [Hash<String, Object>]
246
- def get_bulk_profile_import_job(job_id, opts = {})
247
- data, _status_code, _headers = get_bulk_profile_import_job_with_http_info(job_id, opts)
588
+ def get_bulk_import_profiles_job(job_id, opts = {})
589
+ data, _status_code, _headers = get_bulk_import_profiles_job_with_http_info(job_id, opts)
248
590
  data
249
591
  end
250
592
 
251
- # alias of `get_bulk_profile_import_job`
252
- alias get_profile_bulk_import_job get_bulk_profile_import_job
593
+ # alias of `get_bulk_import_profiles_job`
594
+ alias get_bulk_profile_import_job get_bulk_import_profiles_job
253
595
 
254
- # Get Bulk Profile Import Job
596
+ # alias of `get_bulk_import_profiles_job`
597
+ alias get_profile_bulk_import_job get_bulk_import_profiles_job
598
+
599
+ # Get Bulk Import Profiles Job
255
600
  # Get a bulk profile import job with the given job ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
256
601
  # @param job_id [String] ID of the job to retrieve.
257
602
  # @param [Hash] opts the optional parameters
258
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
259
- # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
260
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#relationships
603
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
604
+ # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
605
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#relationships
261
606
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
262
- def get_bulk_profile_import_job_with_http_info(job_id, opts = {})
607
+ def get_bulk_import_profiles_job_with_http_info(job_id, opts = {})
263
608
  if @api_client.config.debugging
264
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job ...'
609
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_import_profiles_job ...'
265
610
  end
266
611
  # verify the required parameter 'job_id' is set
267
612
  if @api_client.config.client_side_validation && job_id.nil?
268
- fail ArgumentError, "Missing the required parameter 'job_id' when calling ProfilesApi.get_bulk_profile_import_job"
613
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling ProfilesApi.get_bulk_import_profiles_job"
269
614
  end
270
615
  allowable_values = ["name", "created", "updated", "opt_in_process"]
271
616
  if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
@@ -275,25 +620,127 @@ module KlaviyoAPI
275
620
  if @api_client.config.client_side_validation && opts[:'fields_profile_bulk_import_job'] && !opts[:'fields_profile_bulk_import_job'].all? { |item| allowable_values.include?(item) }
276
621
  fail ArgumentError, "invalid value for \"fields_profile_bulk_import_job\", must include one of #{allowable_values}"
277
622
  end
278
- allowable_values = ["lists"]
279
- if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
280
- fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
623
+ allowable_values = ["lists"]
624
+ if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
625
+ fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
626
+ end
627
+ # resource path
628
+ local_var_path = '/api/profile-bulk-import-jobs/{job_id}'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s))
629
+
630
+ # query parameters
631
+ query_params = opts[:query_params] || {}
632
+ query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
633
+ query_params[:'fields[profile-bulk-import-job]'] = @api_client.build_collection_param(opts[:'fields_profile_bulk_import_job'], :csv) if !opts[:'fields_profile_bulk_import_job'].nil?
634
+ query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
635
+
636
+ # header parameters
637
+ header_params = opts[:header_params] || {}
638
+ # klaviyo api revision
639
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
640
+ # HTTP header 'Accept' (if needed)
641
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
642
+
643
+ # form parameters
644
+ form_params = opts[:form_params] || {}
645
+
646
+ # http body (model)
647
+ post_body = opts[:debug_body]
648
+
649
+ # return_type
650
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
651
+
652
+ # auth_names
653
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
654
+
655
+ new_options = opts.merge(
656
+ :operation => :"ProfilesApi.get_bulk_import_profiles_job",
657
+ :header_params => header_params,
658
+ :query_params => query_params,
659
+ :form_params => form_params,
660
+ :body => post_body,
661
+ :auth_names => auth_names,
662
+ :return_type => return_type
663
+ )
664
+
665
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
666
+ if @api_client.config.debugging
667
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
668
+ end
669
+ return data, status_code, headers
670
+ end
671
+
672
+ # alias of `get_bulk_import_profiles_job_with_http_info`
673
+ alias get_bulk_profile_import_job_with_http_info get_bulk_import_profiles_job_with_http_info
674
+
675
+ # alias of `get_bulk_import_profiles_job_with_http_info`
676
+ alias get_profile_bulk_import_job_with_http_info get_bulk_import_profiles_job_with_http_info
677
+
678
+ # Get Bulk Import Profiles Jobs
679
+ # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
680
+ # @param [Hash] opts the optional parameters
681
+ # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
682
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;
683
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
684
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
685
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
686
+ # @return [Hash<String, Object>]
687
+ def get_bulk_import_profiles_jobs(opts = {})
688
+ data, _status_code, _headers = get_bulk_import_profiles_jobs_with_http_info(opts)
689
+ data
690
+ end
691
+
692
+ # alias of `get_bulk_import_profiles_jobs`
693
+ alias get_bulk_profile_import_jobs get_bulk_import_profiles_jobs
694
+
695
+ # alias of `get_bulk_import_profiles_jobs`
696
+ alias get_profile_bulk_import_jobs get_bulk_import_profiles_jobs
697
+
698
+ # Get Bulk Import Profiles Jobs
699
+ # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
700
+ # @param [Hash] opts the optional parameters
701
+ # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
702
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;
703
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
704
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
705
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
706
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
707
+ def get_bulk_import_profiles_jobs_with_http_info(opts = {})
708
+ if @api_client.config.debugging
709
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_import_profiles_jobs ...'
710
+ end
711
+ allowable_values = ["status", "created_at", "total_count", "completed_count", "failed_count", "completed_at", "expires_at", "started_at"]
712
+ if @api_client.config.client_side_validation && opts[:'fields_profile_bulk_import_job'] && !opts[:'fields_profile_bulk_import_job'].all? { |item| allowable_values.include?(item) }
713
+ fail ArgumentError, "invalid value for \"fields_profile_bulk_import_job\", must include one of #{allowable_values}"
714
+ end
715
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
716
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_import_profiles_jobs, must be smaller than or equal to 100.'
717
+ end
718
+
719
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
720
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_import_profiles_jobs, must be greater than or equal to 1.'
721
+ end
722
+
723
+ allowable_values = ["created_at", "-created_at"]
724
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
725
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
281
726
  end
282
727
  # resource path
283
- local_var_path = '/api/profile-bulk-import-jobs/{job_id}/'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s))
728
+ local_var_path = '/api/profile-bulk-import-jobs'
284
729
 
285
730
  # query parameters
286
731
  query_params = opts[:query_params] || {}
287
- query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
288
732
  query_params[:'fields[profile-bulk-import-job]'] = @api_client.build_collection_param(opts[:'fields_profile_bulk_import_job'], :csv) if !opts[:'fields_profile_bulk_import_job'].nil?
289
- query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
733
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
734
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
735
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
736
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
290
737
 
291
738
  # header parameters
292
739
  header_params = opts[:header_params] || {}
293
740
  # klaviyo api revision
294
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
741
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
295
742
  # HTTP header 'Accept' (if needed)
296
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
743
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
297
744
 
298
745
  # form parameters
299
746
  form_params = opts[:form_params] || {}
@@ -308,7 +755,7 @@ module KlaviyoAPI
308
755
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
309
756
 
310
757
  new_options = opts.merge(
311
- :operation => :"ProfilesApi.get_bulk_profile_import_job",
758
+ :operation => :"ProfilesApi.get_bulk_import_profiles_jobs",
312
759
  :header_params => header_params,
313
760
  :query_params => query_params,
314
761
  :form_params => form_params,
@@ -319,73 +766,62 @@ module KlaviyoAPI
319
766
 
320
767
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
321
768
  if @api_client.config.debugging
322
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
769
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_import_profiles_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
323
770
  end
324
771
  return data, status_code, headers
325
772
  end
326
773
 
327
- # alias of `get_bulk_profile_import_job_with_http_info`
328
- alias get_profile_bulk_import_job_with_http_info get_bulk_profile_import_job_with_http_info
774
+ # alias of `get_bulk_import_profiles_jobs_with_http_info`
775
+ alias get_bulk_profile_import_jobs_with_http_info get_bulk_import_profiles_jobs_with_http_info
329
776
 
330
- # Get Bulk Profile Import Job Errors
331
- # 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` **Scopes:** `profiles:read`
332
- # @param id [String]
777
+ # alias of `get_bulk_import_profiles_jobs_with_http_info`
778
+ alias get_profile_bulk_import_jobs_with_http_info get_bulk_import_profiles_jobs_with_http_info
779
+
780
+ # Get Bulk Suppress Profiles Job
781
+ # Get the bulk suppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:read`
782
+ # @param job_id [String] ID of the job to retrieve.
333
783
  # @param [Hash] opts the optional parameters
334
- # @option opts [Array<String>] :fields_import_error For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
335
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
336
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
784
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_create_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
337
785
  # @return [Hash<String, Object>]
338
- def get_bulk_profile_import_job_import_errors(id, opts = {})
339
- data, _status_code, _headers = get_bulk_profile_import_job_import_errors_with_http_info(id, opts)
786
+ def get_bulk_suppress_profiles_job(job_id, opts = {})
787
+ data, _status_code, _headers = get_bulk_suppress_profiles_job_with_http_info(job_id, opts)
340
788
  data
341
789
  end
342
790
 
343
- # alias of `get_bulk_profile_import_job_import_errors`
344
- alias get_profile_bulk_import_job_import_errors get_bulk_profile_import_job_import_errors
791
+ # alias of `get_bulk_suppress_profiles_job`
792
+ alias get_profile_suppression_bulk_create_job get_bulk_suppress_profiles_job
345
793
 
346
- # Get Bulk Profile Import Job Errors
347
- # Get import errors for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
348
- # @param id [String]
794
+ # Get Bulk Suppress Profiles Job
795
+ # Get the bulk suppress profiles job with the given job ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:read&#x60;
796
+ # @param job_id [String] ID of the job to retrieve.
349
797
  # @param [Hash] opts the optional parameters
350
- # @option opts [Array<String>] :fields_import_error For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
351
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
352
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
798
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_create_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
353
799
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
354
- def get_bulk_profile_import_job_import_errors_with_http_info(id, opts = {})
800
+ def get_bulk_suppress_profiles_job_with_http_info(job_id, opts = {})
355
801
  if @api_client.config.debugging
356
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job_import_errors ...'
357
- end
358
- # verify the required parameter 'id' is set
359
- if @api_client.config.client_side_validation && id.nil?
360
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_bulk_profile_import_job_import_errors"
361
- end
362
- allowable_values = ["code", "title", "detail", "source", "source.pointer", "original_payload"]
363
- if @api_client.config.client_side_validation && opts[:'fields_import_error'] && !opts[:'fields_import_error'].all? { |item| allowable_values.include?(item) }
364
- fail ArgumentError, "invalid value for \"fields_import_error\", must include one of #{allowable_values}"
802
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_suppress_profiles_job ...'
365
803
  end
366
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
367
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_import_errors, must be smaller than or equal to 100.'
804
+ # verify the required parameter 'job_id' is set
805
+ if @api_client.config.client_side_validation && job_id.nil?
806
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling ProfilesApi.get_bulk_suppress_profiles_job"
368
807
  end
369
-
370
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
371
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_import_errors, must be greater than or equal to 1.'
808
+ allowable_values = ["status", "created_at", "total_count", "completed_count", "completed_at", "skipped_count"]
809
+ if @api_client.config.client_side_validation && opts[:'fields_profile_suppression_bulk_create_job'] && !opts[:'fields_profile_suppression_bulk_create_job'].all? { |item| allowable_values.include?(item) }
810
+ fail ArgumentError, "invalid value for \"fields_profile_suppression_bulk_create_job\", must include one of #{allowable_values}"
372
811
  end
373
-
374
812
  # resource path
375
- local_var_path = '/api/profile-bulk-import-jobs/{id}/import-errors/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
813
+ local_var_path = '/api/profile-suppression-bulk-create-jobs/{job_id}'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s))
376
814
 
377
815
  # query parameters
378
816
  query_params = opts[:query_params] || {}
379
- query_params[:'fields[import-error]'] = @api_client.build_collection_param(opts[:'fields_import_error'], :csv) if !opts[:'fields_import_error'].nil?
380
- query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
381
- query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
817
+ query_params[:'fields[profile-suppression-bulk-create-job]'] = @api_client.build_collection_param(opts[:'fields_profile_suppression_bulk_create_job'], :csv) if !opts[:'fields_profile_suppression_bulk_create_job'].nil?
382
818
 
383
819
  # header parameters
384
820
  header_params = opts[:header_params] || {}
385
821
  # klaviyo api revision
386
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
822
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
387
823
  # HTTP header 'Accept' (if needed)
388
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
824
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
389
825
 
390
826
  # form parameters
391
827
  form_params = opts[:form_params] || {}
@@ -400,7 +836,7 @@ module KlaviyoAPI
400
836
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
401
837
 
402
838
  new_options = opts.merge(
403
- :operation => :"ProfilesApi.get_bulk_profile_import_job_import_errors",
839
+ :operation => :"ProfilesApi.get_bulk_suppress_profiles_job",
404
840
  :header_params => header_params,
405
841
  :query_params => query_params,
406
842
  :form_params => form_params,
@@ -411,59 +847,66 @@ module KlaviyoAPI
411
847
 
412
848
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
413
849
  if @api_client.config.debugging
414
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job_import_errors\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
850
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_suppress_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
415
851
  end
416
852
  return data, status_code, headers
417
853
  end
418
854
 
419
- # alias of `get_bulk_profile_import_job_import_errors_with_http_info`
420
- alias get_profile_bulk_import_job_import_errors_with_http_info get_bulk_profile_import_job_import_errors_with_http_info
855
+ # alias of `get_bulk_suppress_profiles_job_with_http_info`
856
+ alias get_profile_suppression_bulk_create_job_with_http_info get_bulk_suppress_profiles_job_with_http_info
421
857
 
422
- # Get Bulk Profile Import Job Lists
423
- # Get list for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read`
424
- # @param id [String]
858
+ # Get Bulk Suppress Profiles Jobs
859
+ # Get the status of all bulk profile suppression jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:read`
425
860
  # @param [Hash] opts the optional parameters
426
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
861
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_create_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
862
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;segment_id&#x60;: &#x60;equals&#x60;
863
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
864
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
427
865
  # @return [Hash<String, Object>]
428
- def get_bulk_profile_import_job_lists(id, opts = {})
429
- data, _status_code, _headers = get_bulk_profile_import_job_lists_with_http_info(id, opts)
866
+ def get_bulk_suppress_profiles_jobs(opts = {})
867
+ data, _status_code, _headers = get_bulk_suppress_profiles_jobs_with_http_info(opts)
430
868
  data
431
869
  end
432
870
 
433
- # alias of `get_bulk_profile_import_job_lists`
434
- alias get_profile_bulk_import_job_lists get_bulk_profile_import_job_lists
871
+ # alias of `get_bulk_suppress_profiles_jobs`
872
+ alias get_profile_suppression_bulk_create_jobs get_bulk_suppress_profiles_jobs
435
873
 
436
- # Get Bulk Profile Import Job Lists
437
- # Get list for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
438
- # @param id [String]
874
+ # Get Bulk Suppress Profiles Jobs
875
+ # Get the status of all bulk profile suppression jobs.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:read&#x60;
439
876
  # @param [Hash] opts the optional parameters
440
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
877
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_create_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
878
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;segment_id&#x60;: &#x60;equals&#x60;
879
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
880
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
441
881
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
442
- def get_bulk_profile_import_job_lists_with_http_info(id, opts = {})
882
+ def get_bulk_suppress_profiles_jobs_with_http_info(opts = {})
443
883
  if @api_client.config.debugging
444
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job_lists ...'
884
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_suppress_profiles_jobs ...'
445
885
  end
446
- # verify the required parameter 'id' is set
447
- if @api_client.config.client_side_validation && id.nil?
448
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_bulk_profile_import_job_lists"
886
+ allowable_values = ["status", "created_at", "total_count", "completed_count", "completed_at", "skipped_count"]
887
+ if @api_client.config.client_side_validation && opts[:'fields_profile_suppression_bulk_create_job'] && !opts[:'fields_profile_suppression_bulk_create_job'].all? { |item| allowable_values.include?(item) }
888
+ fail ArgumentError, "invalid value for \"fields_profile_suppression_bulk_create_job\", must include one of #{allowable_values}"
449
889
  end
450
- allowable_values = ["name", "created", "updated", "opt_in_process"]
451
- if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
452
- fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
890
+ allowable_values = ["created", "-created"]
891
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
892
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
453
893
  end
454
894
  # resource path
455
- local_var_path = '/api/profile-bulk-import-jobs/{id}/lists/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
895
+ local_var_path = '/api/profile-suppression-bulk-create-jobs'
456
896
 
457
897
  # query parameters
458
898
  query_params = opts[:query_params] || {}
459
- query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
899
+ query_params[:'fields[profile-suppression-bulk-create-job]'] = @api_client.build_collection_param(opts[:'fields_profile_suppression_bulk_create_job'], :csv) if !opts[:'fields_profile_suppression_bulk_create_job'].nil?
900
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
901
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
902
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
460
903
 
461
904
  # header parameters
462
905
  header_params = opts[:header_params] || {}
463
906
  # klaviyo api revision
464
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
907
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
465
908
  # HTTP header 'Accept' (if needed)
466
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
909
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
467
910
 
468
911
  # form parameters
469
912
  form_params = opts[:form_params] || {}
@@ -478,7 +921,7 @@ module KlaviyoAPI
478
921
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
479
922
 
480
923
  new_options = opts.merge(
481
- :operation => :"ProfilesApi.get_bulk_profile_import_job_lists",
924
+ :operation => :"ProfilesApi.get_bulk_suppress_profiles_jobs",
482
925
  :header_params => header_params,
483
926
  :query_params => query_params,
484
927
  :form_params => form_params,
@@ -489,80 +932,59 @@ module KlaviyoAPI
489
932
 
490
933
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
491
934
  if @api_client.config.debugging
492
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job_lists\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
935
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_suppress_profiles_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
936
  end
494
937
  return data, status_code, headers
495
938
  end
496
939
 
497
- # alias of `get_bulk_profile_import_job_lists_with_http_info`
498
- alias get_profile_bulk_import_job_lists_with_http_info get_bulk_profile_import_job_lists_with_http_info
940
+ # alias of `get_bulk_suppress_profiles_jobs_with_http_info`
941
+ alias get_profile_suppression_bulk_create_jobs_with_http_info get_bulk_suppress_profiles_jobs_with_http_info
499
942
 
500
- # Get Bulk Profile Import Job Profiles
501
- # Get profiles for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:read`
502
- # @param id [String]
943
+ # Get Bulk Unsuppress Profiles Job
944
+ # Get the bulk unsuppress profiles job with the given job ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:read`
945
+ # @param job_id [String] ID of the job to retrieve.
503
946
  # @param [Hash] opts the optional parameters
504
- # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
505
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
506
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
507
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
947
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_delete_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
508
948
  # @return [Hash<String, Object>]
509
- def get_bulk_profile_import_job_profiles(id, opts = {})
510
- data, _status_code, _headers = get_bulk_profile_import_job_profiles_with_http_info(id, opts)
949
+ def get_bulk_unsuppress_profiles_job(job_id, opts = {})
950
+ data, _status_code, _headers = get_bulk_unsuppress_profiles_job_with_http_info(job_id, opts)
511
951
  data
512
952
  end
513
953
 
514
- # alias of `get_bulk_profile_import_job_profiles`
515
- alias get_profile_bulk_import_job_profiles get_bulk_profile_import_job_profiles
954
+ # alias of `get_bulk_unsuppress_profiles_job`
955
+ alias get_profile_suppression_bulk_delete_job get_bulk_unsuppress_profiles_job
516
956
 
517
- # Get Bulk Profile Import Job Profiles
518
- # Get profiles for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
519
- # @param id [String]
957
+ # Get Bulk Unsuppress Profiles Job
958
+ # Get the bulk unsuppress profiles job with the given job ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:read&#x60;
959
+ # @param job_id [String] ID of the job to retrieve.
520
960
  # @param [Hash] opts the optional parameters
521
- # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
522
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
523
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
524
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
961
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_delete_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
525
962
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
526
- def get_bulk_profile_import_job_profiles_with_http_info(id, opts = {})
963
+ def get_bulk_unsuppress_profiles_job_with_http_info(job_id, opts = {})
527
964
  if @api_client.config.debugging
528
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job_profiles ...'
529
- end
530
- # verify the required parameter 'id' is set
531
- if @api_client.config.client_side_validation && id.nil?
532
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_bulk_profile_import_job_profiles"
533
- end
534
- allowable_values = ["subscriptions", "predictive_analytics"]
535
- if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
536
- fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
537
- end
538
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
539
- if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
540
- fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
965
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_unsuppress_profiles_job ...'
541
966
  end
542
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
543
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_profiles, must be smaller than or equal to 100.'
967
+ # verify the required parameter 'job_id' is set
968
+ if @api_client.config.client_side_validation && job_id.nil?
969
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling ProfilesApi.get_bulk_unsuppress_profiles_job"
544
970
  end
545
-
546
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
547
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_profiles, must be greater than or equal to 1.'
971
+ allowable_values = ["status", "created_at", "total_count", "completed_count", "completed_at", "skipped_count"]
972
+ if @api_client.config.client_side_validation && opts[:'fields_profile_suppression_bulk_delete_job'] && !opts[:'fields_profile_suppression_bulk_delete_job'].all? { |item| allowable_values.include?(item) }
973
+ fail ArgumentError, "invalid value for \"fields_profile_suppression_bulk_delete_job\", must include one of #{allowable_values}"
548
974
  end
549
-
550
975
  # resource path
551
- local_var_path = '/api/profile-bulk-import-jobs/{id}/profiles/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
976
+ local_var_path = '/api/profile-suppression-bulk-delete-jobs/{job_id}'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s))
552
977
 
553
978
  # query parameters
554
979
  query_params = opts[:query_params] || {}
555
- query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
556
- query_params[:'fields[profile]'] = @api_client.build_collection_param(opts[:'fields_profile'], :csv) if !opts[:'fields_profile'].nil?
557
- query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
558
- query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
980
+ query_params[:'fields[profile-suppression-bulk-delete-job]'] = @api_client.build_collection_param(opts[:'fields_profile_suppression_bulk_delete_job'], :csv) if !opts[:'fields_profile_suppression_bulk_delete_job'].nil?
559
981
 
560
982
  # header parameters
561
983
  header_params = opts[:header_params] || {}
562
984
  # klaviyo api revision
563
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
985
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
564
986
  # HTTP header 'Accept' (if needed)
565
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
987
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
566
988
 
567
989
  # form parameters
568
990
  form_params = opts[:form_params] || {}
@@ -577,7 +999,7 @@ module KlaviyoAPI
577
999
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
578
1000
 
579
1001
  new_options = opts.merge(
580
- :operation => :"ProfilesApi.get_bulk_profile_import_job_profiles",
1002
+ :operation => :"ProfilesApi.get_bulk_unsuppress_profiles_job",
581
1003
  :header_params => header_params,
582
1004
  :query_params => query_params,
583
1005
  :form_params => form_params,
@@ -588,52 +1010,66 @@ module KlaviyoAPI
588
1010
 
589
1011
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
590
1012
  if @api_client.config.debugging
591
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1013
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_unsuppress_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
592
1014
  end
593
1015
  return data, status_code, headers
594
1016
  end
595
1017
 
596
- # alias of `get_bulk_profile_import_job_profiles_with_http_info`
597
- alias get_profile_bulk_import_job_profiles_with_http_info get_bulk_profile_import_job_profiles_with_http_info
1018
+ # alias of `get_bulk_unsuppress_profiles_job_with_http_info`
1019
+ alias get_profile_suppression_bulk_delete_job_with_http_info get_bulk_unsuppress_profiles_job_with_http_info
598
1020
 
599
- # Get Bulk Profile Import Job Relationships Lists
600
- # 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` **Scopes:** `lists:read`
601
- # @param id [String]
1021
+ # Get Bulk Unsuppress Profiles Jobs
1022
+ # Get all bulk unsuppress profiles jobs.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:read`
602
1023
  # @param [Hash] opts the optional parameters
1024
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_delete_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1025
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;segment_id&#x60;: &#x60;equals&#x60;
1026
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1027
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
603
1028
  # @return [Hash<String, Object>]
604
- def get_bulk_profile_import_job_relationships_lists(id, opts = {})
605
- data, _status_code, _headers = get_bulk_profile_import_job_relationships_lists_with_http_info(id, opts)
1029
+ def get_bulk_unsuppress_profiles_jobs(opts = {})
1030
+ data, _status_code, _headers = get_bulk_unsuppress_profiles_jobs_with_http_info(opts)
606
1031
  data
607
1032
  end
608
1033
 
609
- # alias of `get_bulk_profile_import_job_relationships_lists`
610
- alias get_profile_bulk_import_job_relationships_lists get_bulk_profile_import_job_relationships_lists
1034
+ # alias of `get_bulk_unsuppress_profiles_jobs`
1035
+ alias get_profile_suppression_bulk_delete_jobs get_bulk_unsuppress_profiles_jobs
611
1036
 
612
- # Get Bulk Profile Import Job Relationships Lists
613
- # Get list relationship for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
614
- # @param id [String]
1037
+ # Get Bulk Unsuppress Profiles Jobs
1038
+ # Get all bulk unsuppress profiles jobs.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:read&#x60;
615
1039
  # @param [Hash] opts the optional parameters
1040
+ # @option opts [Array<String>] :fields_profile_suppression_bulk_delete_job For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1041
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;segment_id&#x60;: &#x60;equals&#x60;
1042
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1043
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
616
1044
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
617
- def get_bulk_profile_import_job_relationships_lists_with_http_info(id, opts = {})
1045
+ def get_bulk_unsuppress_profiles_jobs_with_http_info(opts = {})
618
1046
  if @api_client.config.debugging
619
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job_relationships_lists ...'
1047
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_unsuppress_profiles_jobs ...'
620
1048
  end
621
- # verify the required parameter 'id' is set
622
- if @api_client.config.client_side_validation && id.nil?
623
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_bulk_profile_import_job_relationships_lists"
1049
+ allowable_values = ["status", "created_at", "total_count", "completed_count", "completed_at", "skipped_count"]
1050
+ if @api_client.config.client_side_validation && opts[:'fields_profile_suppression_bulk_delete_job'] && !opts[:'fields_profile_suppression_bulk_delete_job'].all? { |item| allowable_values.include?(item) }
1051
+ fail ArgumentError, "invalid value for \"fields_profile_suppression_bulk_delete_job\", must include one of #{allowable_values}"
1052
+ end
1053
+ allowable_values = ["created", "-created"]
1054
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1055
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
624
1056
  end
625
1057
  # resource path
626
- local_var_path = '/api/profile-bulk-import-jobs/{id}/relationships/lists/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1058
+ local_var_path = '/api/profile-suppression-bulk-delete-jobs'
627
1059
 
628
1060
  # query parameters
629
1061
  query_params = opts[:query_params] || {}
1062
+ query_params[:'fields[profile-suppression-bulk-delete-job]'] = @api_client.build_collection_param(opts[:'fields_profile_suppression_bulk_delete_job'], :csv) if !opts[:'fields_profile_suppression_bulk_delete_job'].nil?
1063
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
1064
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1065
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
630
1066
 
631
1067
  # header parameters
632
1068
  header_params = opts[:header_params] || {}
633
1069
  # klaviyo api revision
634
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1070
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
635
1071
  # HTTP header 'Accept' (if needed)
636
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1072
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
637
1073
 
638
1074
  # form parameters
639
1075
  form_params = opts[:form_params] || {}
@@ -648,7 +1084,7 @@ module KlaviyoAPI
648
1084
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
649
1085
 
650
1086
  new_options = opts.merge(
651
- :operation => :"ProfilesApi.get_bulk_profile_import_job_relationships_lists",
1087
+ :operation => :"ProfilesApi.get_bulk_unsuppress_profiles_jobs",
652
1088
  :header_params => header_params,
653
1089
  :query_params => query_params,
654
1090
  :form_params => form_params,
@@ -659,66 +1095,76 @@ module KlaviyoAPI
659
1095
 
660
1096
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
661
1097
  if @api_client.config.debugging
662
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job_relationships_lists\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1098
+ @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_unsuppress_profiles_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
663
1099
  end
664
1100
  return data, status_code, headers
665
1101
  end
666
1102
 
667
- # alias of `get_bulk_profile_import_job_relationships_lists_with_http_info`
668
- alias get_profile_bulk_import_job_relationships_lists_with_http_info get_bulk_profile_import_job_relationships_lists_with_http_info
1103
+ # alias of `get_bulk_unsuppress_profiles_jobs_with_http_info`
1104
+ alias get_profile_suppression_bulk_delete_jobs_with_http_info get_bulk_unsuppress_profiles_jobs_with_http_info
669
1105
 
670
- # Get Bulk Profile Import Job Relationships Profiles
671
- # 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` **Scopes:** `profiles:read`
1106
+ # Get Errors for Bulk Import Profiles Job
1107
+ # 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` **Scopes:** `profiles:read`
672
1108
  # @param id [String]
673
1109
  # @param [Hash] opts the optional parameters
674
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
1110
+ # @option opts [Array<String>] :fields_import_error For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1111
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
675
1112
  # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
676
1113
  # @return [Hash<String, Object>]
677
- def get_bulk_profile_import_job_relationships_profiles(id, opts = {})
678
- data, _status_code, _headers = get_bulk_profile_import_job_relationships_profiles_with_http_info(id, opts)
1114
+ def get_errors_for_bulk_import_profiles_job(id, opts = {})
1115
+ data, _status_code, _headers = get_errors_for_bulk_import_profiles_job_with_http_info(id, opts)
679
1116
  data
680
1117
  end
681
1118
 
682
- # alias of `get_bulk_profile_import_job_relationships_profiles`
683
- alias get_profile_bulk_import_job_relationships_profiles get_bulk_profile_import_job_relationships_profiles
1119
+ # alias of `get_errors_for_bulk_import_profiles_job`
1120
+ alias get_bulk_profile_import_job_import_errors get_errors_for_bulk_import_profiles_job
684
1121
 
685
- # Get Bulk Profile Import Job Relationships Profiles
686
- # Get profile relationships for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
1122
+ # alias of `get_errors_for_bulk_import_profiles_job`
1123
+ alias get_profile_bulk_import_job_import_errors get_errors_for_bulk_import_profiles_job
1124
+
1125
+ # Get Errors for Bulk Import Profiles Job
1126
+ # Get import errors for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
687
1127
  # @param id [String]
688
1128
  # @param [Hash] opts the optional parameters
689
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
1129
+ # @option opts [Array<String>] :fields_import_error For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1130
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
690
1131
  # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
691
1132
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
692
- def get_bulk_profile_import_job_relationships_profiles_with_http_info(id, opts = {})
1133
+ def get_errors_for_bulk_import_profiles_job_with_http_info(id, opts = {})
693
1134
  if @api_client.config.debugging
694
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_job_relationships_profiles ...'
1135
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_errors_for_bulk_import_profiles_job ...'
695
1136
  end
696
1137
  # verify the required parameter 'id' is set
697
1138
  if @api_client.config.client_side_validation && id.nil?
698
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_bulk_profile_import_job_relationships_profiles"
1139
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_errors_for_bulk_import_profiles_job"
1140
+ end
1141
+ allowable_values = ["code", "title", "detail", "source", "source.pointer", "original_payload"]
1142
+ if @api_client.config.client_side_validation && opts[:'fields_import_error'] && !opts[:'fields_import_error'].all? { |item| allowable_values.include?(item) }
1143
+ fail ArgumentError, "invalid value for \"fields_import_error\", must include one of #{allowable_values}"
699
1144
  end
700
1145
  if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
701
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_relationships_profiles, must be smaller than or equal to 100.'
1146
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_errors_for_bulk_import_profiles_job, must be smaller than or equal to 100.'
702
1147
  end
703
1148
 
704
1149
  if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
705
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_job_relationships_profiles, must be greater than or equal to 1.'
1150
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_errors_for_bulk_import_profiles_job, must be greater than or equal to 1.'
706
1151
  end
707
1152
 
708
1153
  # resource path
709
- local_var_path = '/api/profile-bulk-import-jobs/{id}/relationships/profiles/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1154
+ local_var_path = '/api/profile-bulk-import-jobs/{id}/import-errors'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
710
1155
 
711
1156
  # query parameters
712
1157
  query_params = opts[:query_params] || {}
1158
+ query_params[:'fields[import-error]'] = @api_client.build_collection_param(opts[:'fields_import_error'], :csv) if !opts[:'fields_import_error'].nil?
713
1159
  query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
714
1160
  query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
715
1161
 
716
1162
  # header parameters
717
1163
  header_params = opts[:header_params] || {}
718
1164
  # klaviyo api revision
719
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1165
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
720
1166
  # HTTP header 'Accept' (if needed)
721
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1167
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
722
1168
 
723
1169
  # form parameters
724
1170
  form_params = opts[:form_params] || {}
@@ -733,7 +1179,7 @@ module KlaviyoAPI
733
1179
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
734
1180
 
735
1181
  new_options = opts.merge(
736
- :operation => :"ProfilesApi.get_bulk_profile_import_job_relationships_profiles",
1182
+ :operation => :"ProfilesApi.get_errors_for_bulk_import_profiles_job",
737
1183
  :header_params => header_params,
738
1184
  :query_params => query_params,
739
1185
  :form_params => form_params,
@@ -744,77 +1190,65 @@ module KlaviyoAPI
744
1190
 
745
1191
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
746
1192
  if @api_client.config.debugging
747
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_job_relationships_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1193
+ @api_client.config.logger.debug "API called: ProfilesApi#get_errors_for_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
748
1194
  end
749
1195
  return data, status_code, headers
750
1196
  end
751
1197
 
752
- # alias of `get_bulk_profile_import_job_relationships_profiles_with_http_info`
753
- alias get_profile_bulk_import_job_relationships_profiles_with_http_info get_bulk_profile_import_job_relationships_profiles_with_http_info
1198
+ # alias of `get_errors_for_bulk_import_profiles_job_with_http_info`
1199
+ alias get_bulk_profile_import_job_import_errors_with_http_info get_errors_for_bulk_import_profiles_job_with_http_info
754
1200
 
755
- # Get Bulk Profile Import Jobs
756
- # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
1201
+ # alias of `get_errors_for_bulk_import_profiles_job_with_http_info`
1202
+ alias get_profile_bulk_import_job_import_errors_with_http_info get_errors_for_bulk_import_profiles_job_with_http_info
1203
+
1204
+ # Get List for Bulk Import Profiles Job
1205
+ # Get list for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read`
1206
+ # @param id [String]
757
1207
  # @param [Hash] opts the optional parameters
758
- # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
759
- # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;
760
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
761
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
762
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sorting
1208
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
763
1209
  # @return [Hash<String, Object>]
764
- def get_bulk_profile_import_jobs(opts = {})
765
- data, _status_code, _headers = get_bulk_profile_import_jobs_with_http_info(opts)
1210
+ def get_list_for_bulk_import_profiles_job(id, opts = {})
1211
+ data, _status_code, _headers = get_list_for_bulk_import_profiles_job_with_http_info(id, opts)
766
1212
  data
767
1213
  end
768
1214
 
769
- # alias of `get_bulk_profile_import_jobs`
770
- alias get_profile_bulk_import_jobs get_bulk_profile_import_jobs
1215
+ # alias of `get_list_for_bulk_import_profiles_job`
1216
+ alias get_bulk_profile_import_job_lists get_list_for_bulk_import_profiles_job
771
1217
 
772
- # Get Bulk Profile Import Jobs
773
- # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
1218
+ # alias of `get_list_for_bulk_import_profiles_job`
1219
+ alias get_profile_bulk_import_job_lists get_list_for_bulk_import_profiles_job
1220
+
1221
+ # Get List for Bulk Import Profiles Job
1222
+ # Get list for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
1223
+ # @param id [String]
774
1224
  # @param [Hash] opts the optional parameters
775
- # @option opts [Array<String>] :fields_profile_bulk_import_job For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
776
- # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;
777
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
778
- # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
779
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sorting
1225
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
780
1226
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
781
- def get_bulk_profile_import_jobs_with_http_info(opts = {})
1227
+ def get_list_for_bulk_import_profiles_job_with_http_info(id, opts = {})
782
1228
  if @api_client.config.debugging
783
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_bulk_profile_import_jobs ...'
784
- end
785
- allowable_values = ["status", "created_at", "total_count", "completed_count", "failed_count", "completed_at", "expires_at", "started_at"]
786
- if @api_client.config.client_side_validation && opts[:'fields_profile_bulk_import_job'] && !opts[:'fields_profile_bulk_import_job'].all? { |item| allowable_values.include?(item) }
787
- fail ArgumentError, "invalid value for \"fields_profile_bulk_import_job\", must include one of #{allowable_values}"
788
- end
789
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
790
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_jobs, must be smaller than or equal to 100.'
1229
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_list_for_bulk_import_profiles_job ...'
791
1230
  end
792
-
793
- if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
794
- fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_bulk_profile_import_jobs, must be greater than or equal to 1.'
1231
+ # verify the required parameter 'id' is set
1232
+ if @api_client.config.client_side_validation && id.nil?
1233
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_list_for_bulk_import_profiles_job"
795
1234
  end
796
-
797
- allowable_values = ["created_at", "-created_at"]
798
- if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
799
- fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1235
+ allowable_values = ["name", "created", "updated", "opt_in_process"]
1236
+ if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
1237
+ fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
800
1238
  end
801
1239
  # resource path
802
- local_var_path = '/api/profile-bulk-import-jobs/'
1240
+ local_var_path = '/api/profile-bulk-import-jobs/{id}/lists'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
803
1241
 
804
1242
  # query parameters
805
1243
  query_params = opts[:query_params] || {}
806
- query_params[:'fields[profile-bulk-import-job]'] = @api_client.build_collection_param(opts[:'fields_profile_bulk_import_job'], :csv) if !opts[:'fields_profile_bulk_import_job'].nil?
807
- query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
808
- query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
809
- query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
810
- query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1244
+ query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
811
1245
 
812
1246
  # header parameters
813
1247
  header_params = opts[:header_params] || {}
814
1248
  # klaviyo api revision
815
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1249
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
816
1250
  # HTTP header 'Accept' (if needed)
817
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1251
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
818
1252
 
819
1253
  # form parameters
820
1254
  form_params = opts[:form_params] || {}
@@ -829,7 +1263,7 @@ module KlaviyoAPI
829
1263
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
830
1264
 
831
1265
  new_options = opts.merge(
832
- :operation => :"ProfilesApi.get_bulk_profile_import_jobs",
1266
+ :operation => :"ProfilesApi.get_list_for_bulk_import_profiles_job",
833
1267
  :header_params => header_params,
834
1268
  :query_params => query_params,
835
1269
  :form_params => form_params,
@@ -840,84 +1274,58 @@ module KlaviyoAPI
840
1274
 
841
1275
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
842
1276
  if @api_client.config.debugging
843
- @api_client.config.logger.debug "API called: ProfilesApi#get_bulk_profile_import_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1277
+ @api_client.config.logger.debug "API called: ProfilesApi#get_list_for_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
844
1278
  end
845
1279
  return data, status_code, headers
846
1280
  end
847
1281
 
848
- # alias of `get_bulk_profile_import_jobs_with_http_info`
849
- alias get_profile_bulk_import_jobs_with_http_info get_bulk_profile_import_jobs_with_http_info
1282
+ # alias of `get_list_for_bulk_import_profiles_job_with_http_info`
1283
+ alias get_bulk_profile_import_job_lists_with_http_info get_list_for_bulk_import_profiles_job_with_http_info
850
1284
 
851
- # Get Profile
852
- # Get the profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:read`
1285
+ # alias of `get_list_for_bulk_import_profiles_job_with_http_info`
1286
+ alias get_profile_bulk_import_job_lists_with_http_info get_list_for_bulk_import_profiles_job_with_http_info
1287
+
1288
+ # Get List IDs for Bulk Import Profiles Job
1289
+ # 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` **Scopes:** `lists:read`
853
1290
  # @param id [String]
854
1291
  # @param [Hash] opts the optional parameters
855
- # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
856
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
857
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
858
- # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
859
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#relationships
860
1292
  # @return [Hash<String, Object>]
861
- def get_profile(id, opts = {})
862
- data, _status_code, _headers = get_profile_with_http_info(id, opts)
1293
+ def get_list_ids_for_bulk_import_profiles_job(id, opts = {})
1294
+ data, _status_code, _headers = get_list_ids_for_bulk_import_profiles_job_with_http_info(id, opts)
863
1295
  data
864
1296
  end
865
1297
 
866
- # Get Profile
867
- # Get the profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
1298
+ # alias of `get_list_ids_for_bulk_import_profiles_job`
1299
+ alias get_bulk_profile_import_job_relationships_lists get_list_ids_for_bulk_import_profiles_job
1300
+
1301
+ # alias of `get_list_ids_for_bulk_import_profiles_job`
1302
+ alias get_profile_bulk_import_job_relationships_lists get_list_ids_for_bulk_import_profiles_job
1303
+
1304
+ # Get List IDs for Bulk Import Profiles Job
1305
+ # Get list relationship for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
868
1306
  # @param id [String]
869
1307
  # @param [Hash] opts the optional parameters
870
- # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
871
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
872
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
873
- # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
874
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#relationships
875
1308
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
876
- def get_profile_with_http_info(id, opts = {})
1309
+ def get_list_ids_for_bulk_import_profiles_job_with_http_info(id, opts = {})
877
1310
  if @api_client.config.debugging
878
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile ...'
1311
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_list_ids_for_bulk_import_profiles_job ...'
879
1312
  end
880
1313
  # verify the required parameter 'id' is set
881
1314
  if @api_client.config.client_side_validation && id.nil?
882
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile"
883
- end
884
- allowable_values = ["subscriptions", "predictive_analytics"]
885
- if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
886
- fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
887
- end
888
- allowable_values = ["name", "created", "updated", "opt_in_process"]
889
- if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
890
- fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
891
- end
892
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
893
- if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
894
- fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
895
- end
896
- allowable_values = ["name", "definition", "definition.condition_groups", "created", "updated", "is_active", "is_processing", "is_starred"]
897
- if @api_client.config.client_side_validation && opts[:'fields_segment'] && !opts[:'fields_segment'].all? { |item| allowable_values.include?(item) }
898
- fail ArgumentError, "invalid value for \"fields_segment\", must include one of #{allowable_values}"
899
- end
900
- allowable_values = ["lists", "segments"]
901
- if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
902
- fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
1315
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_list_ids_for_bulk_import_profiles_job"
903
1316
  end
904
1317
  # resource path
905
- local_var_path = '/api/profiles/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1318
+ local_var_path = '/api/profile-bulk-import-jobs/{id}/relationships/lists'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
906
1319
 
907
1320
  # query parameters
908
1321
  query_params = opts[:query_params] || {}
909
- query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
910
- query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
911
- query_params[:'fields[profile]'] = @api_client.build_collection_param(opts[:'fields_profile'], :csv) if !opts[:'fields_profile'].nil?
912
- query_params[:'fields[segment]'] = @api_client.build_collection_param(opts[:'fields_segment'], :csv) if !opts[:'fields_segment'].nil?
913
- query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
914
1322
 
915
1323
  # header parameters
916
1324
  header_params = opts[:header_params] || {}
917
1325
  # klaviyo api revision
918
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1326
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
919
1327
  # HTTP header 'Accept' (if needed)
920
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1328
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
921
1329
 
922
1330
  # form parameters
923
1331
  form_params = opts[:form_params] || {}
@@ -932,7 +1340,7 @@ module KlaviyoAPI
932
1340
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
933
1341
 
934
1342
  new_options = opts.merge(
935
- :operation => :"ProfilesApi.get_profile",
1343
+ :operation => :"ProfilesApi.get_list_ids_for_bulk_import_profiles_job",
936
1344
  :header_params => header_params,
937
1345
  :query_params => query_params,
938
1346
  :form_params => form_params,
@@ -943,53 +1351,55 @@ module KlaviyoAPI
943
1351
 
944
1352
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
945
1353
  if @api_client.config.debugging
946
- @api_client.config.logger.debug "API called: ProfilesApi#get_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1354
+ @api_client.config.logger.debug "API called: ProfilesApi#get_list_ids_for_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
947
1355
  end
948
1356
  return data, status_code, headers
949
1357
  end
950
1358
 
951
- # Get Profile Lists
1359
+ # alias of `get_list_ids_for_bulk_import_profiles_job_with_http_info`
1360
+ alias get_bulk_profile_import_job_relationships_lists_with_http_info get_list_ids_for_bulk_import_profiles_job_with_http_info
1361
+
1362
+ # alias of `get_list_ids_for_bulk_import_profiles_job_with_http_info`
1363
+ alias get_profile_bulk_import_job_relationships_lists_with_http_info get_list_ids_for_bulk_import_profiles_job_with_http_info
1364
+
1365
+ # Get List IDs for Profile
952
1366
  # Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `lists:read` `profiles:read`
953
1367
  # @param id [String]
954
1368
  # @param [Hash] opts the optional parameters
955
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
956
1369
  # @return [Hash<String, Object>]
957
- def get_profile_lists(id, opts = {})
958
- data, _status_code, _headers = get_profile_lists_with_http_info(id, opts)
1370
+ def get_list_ids_for_profile(id, opts = {})
1371
+ data, _status_code, _headers = get_list_ids_for_profile_with_http_info(id, opts)
959
1372
  data
960
1373
  end
961
1374
 
962
- # Get Profile Lists
1375
+ # alias of `get_list_ids_for_profile`
1376
+ alias get_profile_relationships_lists get_list_ids_for_profile
1377
+
1378
+ # Get List IDs for Profile
963
1379
  # Get list memberships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
964
1380
  # @param id [String]
965
1381
  # @param [Hash] opts the optional parameters
966
- # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
967
1382
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
968
- def get_profile_lists_with_http_info(id, opts = {})
1383
+ def get_list_ids_for_profile_with_http_info(id, opts = {})
969
1384
  if @api_client.config.debugging
970
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile_lists ...'
1385
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_list_ids_for_profile ...'
971
1386
  end
972
1387
  # verify the required parameter 'id' is set
973
1388
  if @api_client.config.client_side_validation && id.nil?
974
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile_lists"
975
- end
976
- allowable_values = ["name", "created", "updated", "opt_in_process"]
977
- if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
978
- fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
1389
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_list_ids_for_profile"
979
1390
  end
980
1391
  # resource path
981
- local_var_path = '/api/profiles/{id}/lists/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1392
+ local_var_path = '/api/profiles/{id}/relationships/lists'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
982
1393
 
983
1394
  # query parameters
984
1395
  query_params = opts[:query_params] || {}
985
- query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
986
1396
 
987
1397
  # header parameters
988
1398
  header_params = opts[:header_params] || {}
989
1399
  # klaviyo api revision
990
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1400
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
991
1401
  # HTTP header 'Accept' (if needed)
992
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1402
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
993
1403
 
994
1404
  # form parameters
995
1405
  form_params = opts[:form_params] || {}
@@ -1004,7 +1414,7 @@ module KlaviyoAPI
1004
1414
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1005
1415
 
1006
1416
  new_options = opts.merge(
1007
- :operation => :"ProfilesApi.get_profile_lists",
1417
+ :operation => :"ProfilesApi.get_list_ids_for_profile",
1008
1418
  :header_params => header_params,
1009
1419
  :query_params => query_params,
1010
1420
  :form_params => form_params,
@@ -1015,46 +1425,59 @@ module KlaviyoAPI
1015
1425
 
1016
1426
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1017
1427
  if @api_client.config.debugging
1018
- @api_client.config.logger.debug "API called: ProfilesApi#get_profile_lists\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1428
+ @api_client.config.logger.debug "API called: ProfilesApi#get_list_ids_for_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1019
1429
  end
1020
1430
  return data, status_code, headers
1021
1431
  end
1022
1432
 
1023
- # Get Profile Relationships Lists
1433
+ # alias of `get_list_ids_for_profile_with_http_info`
1434
+ alias get_profile_relationships_lists_with_http_info get_list_ids_for_profile_with_http_info
1435
+
1436
+ # Get Lists for Profile
1024
1437
  # Get list memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `lists:read` `profiles:read`
1025
1438
  # @param id [String]
1026
1439
  # @param [Hash] opts the optional parameters
1440
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1027
1441
  # @return [Hash<String, Object>]
1028
- def get_profile_relationships_lists(id, opts = {})
1029
- data, _status_code, _headers = get_profile_relationships_lists_with_http_info(id, opts)
1442
+ def get_lists_for_profile(id, opts = {})
1443
+ data, _status_code, _headers = get_lists_for_profile_with_http_info(id, opts)
1030
1444
  data
1031
1445
  end
1032
1446
 
1033
- # Get Profile Relationships Lists
1447
+ # alias of `get_lists_for_profile`
1448
+ alias get_profile_lists get_lists_for_profile
1449
+
1450
+ # Get Lists for Profile
1034
1451
  # Get list memberships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
1035
1452
  # @param id [String]
1036
1453
  # @param [Hash] opts the optional parameters
1454
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1037
1455
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1038
- def get_profile_relationships_lists_with_http_info(id, opts = {})
1456
+ def get_lists_for_profile_with_http_info(id, opts = {})
1039
1457
  if @api_client.config.debugging
1040
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile_relationships_lists ...'
1458
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_lists_for_profile ...'
1041
1459
  end
1042
1460
  # verify the required parameter 'id' is set
1043
1461
  if @api_client.config.client_side_validation && id.nil?
1044
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile_relationships_lists"
1462
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_lists_for_profile"
1463
+ end
1464
+ allowable_values = ["name", "created", "updated", "opt_in_process"]
1465
+ if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
1466
+ fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
1045
1467
  end
1046
1468
  # resource path
1047
- local_var_path = '/api/profiles/{id}/relationships/lists/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1469
+ local_var_path = '/api/profiles/{id}/lists'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1048
1470
 
1049
1471
  # query parameters
1050
1472
  query_params = opts[:query_params] || {}
1473
+ query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
1051
1474
 
1052
1475
  # header parameters
1053
1476
  header_params = opts[:header_params] || {}
1054
1477
  # klaviyo api revision
1055
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1478
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1056
1479
  # HTTP header 'Accept' (if needed)
1057
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1480
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1058
1481
 
1059
1482
  # form parameters
1060
1483
  form_params = opts[:form_params] || {}
@@ -1069,7 +1492,7 @@ module KlaviyoAPI
1069
1492
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1070
1493
 
1071
1494
  new_options = opts.merge(
1072
- :operation => :"ProfilesApi.get_profile_relationships_lists",
1495
+ :operation => :"ProfilesApi.get_lists_for_profile",
1073
1496
  :header_params => header_params,
1074
1497
  :query_params => query_params,
1075
1498
  :form_params => form_params,
@@ -1080,46 +1503,84 @@ module KlaviyoAPI
1080
1503
 
1081
1504
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1082
1505
  if @api_client.config.debugging
1083
- @api_client.config.logger.debug "API called: ProfilesApi#get_profile_relationships_lists\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1506
+ @api_client.config.logger.debug "API called: ProfilesApi#get_lists_for_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1084
1507
  end
1085
1508
  return data, status_code, headers
1086
1509
  end
1087
1510
 
1088
- # Get Profile Relationships Segments
1089
- # Get segment membership relationships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
1511
+ # alias of `get_lists_for_profile_with_http_info`
1512
+ alias get_profile_lists_with_http_info get_lists_for_profile_with_http_info
1513
+
1514
+ # Get Profile
1515
+ # Get the profile with the given profile ID.<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/v2024-10-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`
1090
1516
  # @param id [String]
1091
1517
  # @param [Hash] opts the optional parameters
1518
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1519
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1520
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1521
+ # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1522
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#relationships
1092
1523
  # @return [Hash<String, Object>]
1093
- def get_profile_relationships_segments(id, opts = {})
1094
- data, _status_code, _headers = get_profile_relationships_segments_with_http_info(id, opts)
1524
+ def get_profile(id, opts = {})
1525
+ data, _status_code, _headers = get_profile_with_http_info(id, opts)
1095
1526
  data
1096
1527
  end
1097
1528
 
1098
- # Get Profile Relationships Segments
1099
- # Get segment membership relationships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;profiles:read&#x60; &#x60;segments:read&#x60;
1529
+ # Get Profile
1530
+ # Get the profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60;&lt;br&gt;&lt;br&gt;Rate limits when using the &#x60;include&#x3D;list&#x60; parameter in your API request:&lt;br&gt;Burst: &#x60;1/s&#x60;&lt;br&gt;Steady: &#x60;15/m&#x60;&lt;br&gt;&lt;br&gt;Rate limits when using the &#x60;include&#x3D;segment&#x60; parameter in your API request:&lt;br&gt;Burst: &#x60;1/s&#x60;&lt;br&gt;Steady: &#x60;15/m&#x60;&lt;br&gt;&lt;br&gt;To learn more about how the &#x60;include&#x60; parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2024-10-15/docs/rate_limits_and_error_handling) guide. **Scopes:** &#x60;profiles:read&#x60;
1100
1531
  # @param id [String]
1101
1532
  # @param [Hash] opts the optional parameters
1533
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1534
+ # @option opts [Array<String>] :fields_list For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1535
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1536
+ # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1537
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#relationships
1102
1538
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1103
- def get_profile_relationships_segments_with_http_info(id, opts = {})
1539
+ def get_profile_with_http_info(id, opts = {})
1104
1540
  if @api_client.config.debugging
1105
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile_relationships_segments ...'
1541
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile ...'
1106
1542
  end
1107
1543
  # verify the required parameter 'id' is set
1108
1544
  if @api_client.config.client_side_validation && id.nil?
1109
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile_relationships_segments"
1545
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile"
1546
+ end
1547
+ allowable_values = ["subscriptions", "predictive_analytics"]
1548
+ if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
1549
+ fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
1550
+ end
1551
+ allowable_values = ["name", "created", "updated", "opt_in_process"]
1552
+ if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
1553
+ fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
1554
+ end
1555
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.sms.transactional", "subscriptions.sms.transactional.can_receive_sms_transactional", "subscriptions.sms.transactional.consent", "subscriptions.sms.transactional.consent_timestamp", "subscriptions.sms.transactional.method", "subscriptions.sms.transactional.method_detail", "subscriptions.sms.transactional.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1556
+ if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
1557
+ fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
1558
+ end
1559
+ allowable_values = ["name", "definition", "definition.condition_groups", "created", "updated", "is_active", "is_processing", "is_starred"]
1560
+ if @api_client.config.client_side_validation && opts[:'fields_segment'] && !opts[:'fields_segment'].all? { |item| allowable_values.include?(item) }
1561
+ fail ArgumentError, "invalid value for \"fields_segment\", must include one of #{allowable_values}"
1562
+ end
1563
+ allowable_values = ["lists", "segments"]
1564
+ if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
1565
+ fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
1110
1566
  end
1111
1567
  # resource path
1112
- local_var_path = '/api/profiles/{id}/relationships/segments/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1568
+ local_var_path = '/api/profiles/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1113
1569
 
1114
1570
  # query parameters
1115
1571
  query_params = opts[:query_params] || {}
1572
+ query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
1573
+ query_params[:'fields[list]'] = @api_client.build_collection_param(opts[:'fields_list'], :csv) if !opts[:'fields_list'].nil?
1574
+ query_params[:'fields[profile]'] = @api_client.build_collection_param(opts[:'fields_profile'], :csv) if !opts[:'fields_profile'].nil?
1575
+ query_params[:'fields[segment]'] = @api_client.build_collection_param(opts[:'fields_segment'], :csv) if !opts[:'fields_segment'].nil?
1576
+ query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
1116
1577
 
1117
1578
  # header parameters
1118
1579
  header_params = opts[:header_params] || {}
1119
1580
  # klaviyo api revision
1120
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1581
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1121
1582
  # HTTP header 'Accept' (if needed)
1122
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1583
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1123
1584
 
1124
1585
  # form parameters
1125
1586
  form_params = opts[:form_params] || {}
@@ -1134,7 +1595,7 @@ module KlaviyoAPI
1134
1595
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1135
1596
 
1136
1597
  new_options = opts.merge(
1137
- :operation => :"ProfilesApi.get_profile_relationships_segments",
1598
+ :operation => :"ProfilesApi.get_profile",
1138
1599
  :header_params => header_params,
1139
1600
  :query_params => query_params,
1140
1601
  :form_params => form_params,
@@ -1145,53 +1606,66 @@ module KlaviyoAPI
1145
1606
 
1146
1607
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1147
1608
  if @api_client.config.debugging
1148
- @api_client.config.logger.debug "API called: ProfilesApi#get_profile_relationships_segments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1609
+ @api_client.config.logger.debug "API called: ProfilesApi#get_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1149
1610
  end
1150
1611
  return data, status_code, headers
1151
1612
  end
1152
1613
 
1153
- # Get Profile Segments
1154
- # Get segment memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
1614
+ # Get Profile IDs for Bulk Import Profiles Job
1615
+ # 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` **Scopes:** `profiles:read`
1155
1616
  # @param id [String]
1156
1617
  # @param [Hash] opts the optional parameters
1157
- # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
1618
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1619
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1158
1620
  # @return [Hash<String, Object>]
1159
- def get_profile_segments(id, opts = {})
1160
- data, _status_code, _headers = get_profile_segments_with_http_info(id, opts)
1621
+ def get_profile_ids_for_bulk_import_profiles_job(id, opts = {})
1622
+ data, _status_code, _headers = get_profile_ids_for_bulk_import_profiles_job_with_http_info(id, opts)
1161
1623
  data
1162
1624
  end
1163
1625
 
1164
- # Get Profile Segments
1165
- # Get segment memberships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;profiles:read&#x60; &#x60;segments:read&#x60;
1626
+ # alias of `get_profile_ids_for_bulk_import_profiles_job`
1627
+ alias get_bulk_profile_import_job_relationships_profiles get_profile_ids_for_bulk_import_profiles_job
1628
+
1629
+ # alias of `get_profile_ids_for_bulk_import_profiles_job`
1630
+ alias get_profile_bulk_import_job_relationships_profiles get_profile_ids_for_bulk_import_profiles_job
1631
+
1632
+ # Get Profile IDs for Bulk Import Profiles Job
1633
+ # Get profile relationships for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
1166
1634
  # @param id [String]
1167
1635
  # @param [Hash] opts the optional parameters
1168
- # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
1636
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1637
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1169
1638
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1170
- def get_profile_segments_with_http_info(id, opts = {})
1639
+ def get_profile_ids_for_bulk_import_profiles_job_with_http_info(id, opts = {})
1171
1640
  if @api_client.config.debugging
1172
- @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile_segments ...'
1641
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profile_ids_for_bulk_import_profiles_job ...'
1173
1642
  end
1174
1643
  # verify the required parameter 'id' is set
1175
1644
  if @api_client.config.client_side_validation && id.nil?
1176
- fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile_segments"
1645
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profile_ids_for_bulk_import_profiles_job"
1177
1646
  end
1178
- allowable_values = ["name", "definition", "definition.condition_groups", "created", "updated", "is_active", "is_processing", "is_starred"]
1179
- if @api_client.config.client_side_validation && opts[:'fields_segment'] && !opts[:'fields_segment'].all? { |item| allowable_values.include?(item) }
1180
- fail ArgumentError, "invalid value for \"fields_segment\", must include one of #{allowable_values}"
1647
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
1648
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_profile_ids_for_bulk_import_profiles_job, must be smaller than or equal to 100.'
1649
+ end
1650
+
1651
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1652
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_profile_ids_for_bulk_import_profiles_job, must be greater than or equal to 1.'
1181
1653
  end
1654
+
1182
1655
  # resource path
1183
- local_var_path = '/api/profiles/{id}/segments/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1656
+ local_var_path = '/api/profile-bulk-import-jobs/{id}/relationships/profiles'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1184
1657
 
1185
1658
  # query parameters
1186
1659
  query_params = opts[:query_params] || {}
1187
- query_params[:'fields[segment]'] = @api_client.build_collection_param(opts[:'fields_segment'], :csv) if !opts[:'fields_segment'].nil?
1660
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1661
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1188
1662
 
1189
1663
  # header parameters
1190
1664
  header_params = opts[:header_params] || {}
1191
1665
  # klaviyo api revision
1192
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1666
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1193
1667
  # HTTP header 'Accept' (if needed)
1194
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1668
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1195
1669
 
1196
1670
  # form parameters
1197
1671
  form_params = opts[:form_params] || {}
@@ -1206,7 +1680,7 @@ module KlaviyoAPI
1206
1680
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1207
1681
 
1208
1682
  new_options = opts.merge(
1209
- :operation => :"ProfilesApi.get_profile_segments",
1683
+ :operation => :"ProfilesApi.get_profile_ids_for_bulk_import_profiles_job",
1210
1684
  :header_params => header_params,
1211
1685
  :query_params => query_params,
1212
1686
  :form_params => form_params,
@@ -1217,20 +1691,26 @@ module KlaviyoAPI
1217
1691
 
1218
1692
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1219
1693
  if @api_client.config.debugging
1220
- @api_client.config.logger.debug "API called: ProfilesApi#get_profile_segments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1694
+ @api_client.config.logger.debug "API called: ProfilesApi#get_profile_ids_for_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1221
1695
  end
1222
1696
  return data, status_code, headers
1223
1697
  end
1224
1698
 
1699
+ # alias of `get_profile_ids_for_bulk_import_profiles_job_with_http_info`
1700
+ alias get_bulk_profile_import_job_relationships_profiles_with_http_info get_profile_ids_for_bulk_import_profiles_job_with_http_info
1701
+
1702
+ # alias of `get_profile_ids_for_bulk_import_profiles_job_with_http_info`
1703
+ alias get_profile_bulk_import_job_relationships_profiles_with_http_info get_profile_ids_for_bulk_import_profiles_job_with_http_info
1704
+
1225
1705
  # Get Profiles
1226
- # Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: `id`, `created`, `updated`, `email`, `subscriptions.email.marketing.suppression.timestamp`, `subscriptions.email.marketing.list_suppressions.timestamp`<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/v2024-07-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`
1706
+ # Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: `id`, `created`, `updated`, `email`, `subscriptions.email.marketing.suppression.timestamp`, `subscriptions.email.marketing.list_suppressions.timestamp`<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/v2024-10-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`
1227
1707
  # @param [Hash] opts the optional parameters
1228
1708
  # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1229
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
1230
- # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;email&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;phone_number&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;external_id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;_kx&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.timestamp&#x60; : &#x60;greater-than&#x60;, &#x60;greater-or-equal&#x60;, &#x60;less-than&#x60;, &#x60;less-or-equal&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.reason&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.list_id&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.reason&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60; : &#x60;greater-than&#x60;, &#x60;greater-or-equal&#x60;, &#x60;less-than&#x60;, &#x60;less-or-equal&#x60;
1231
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
1709
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1710
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;email&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;phone_number&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;external_id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;_kx&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.reason&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.reason&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.timestamp&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
1711
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1232
1712
  # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1233
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sorting
1713
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
1234
1714
  # @return [Hash<String, Object>]
1235
1715
  def get_profiles(opts = {})
1236
1716
  data, _status_code, _headers = get_profiles_with_http_info(opts)
@@ -1238,14 +1718,14 @@ module KlaviyoAPI
1238
1718
  end
1239
1719
 
1240
1720
  # Get Profiles
1241
- # Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: &#x60;id&#x60;, &#x60;created&#x60;, &#x60;updated&#x60;, &#x60;email&#x60;, &#x60;subscriptions.email.marketing.suppression.timestamp&#x60;, &#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60;&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60;&lt;br&gt;&lt;br&gt;Rate limits when using the &#x60;additional-fields[profile]&#x3D;predictive_analytics&#x60; parameter in your API request:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60;&lt;br&gt;&lt;br&gt;To learn more about how the &#x60;additional-fields&#x60; parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2024-07-15/docs/rate_limits_and_error_handling) guide. **Scopes:** &#x60;profiles:read&#x60;
1721
+ # Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: &#x60;id&#x60;, &#x60;created&#x60;, &#x60;updated&#x60;, &#x60;email&#x60;, &#x60;subscriptions.email.marketing.suppression.timestamp&#x60;, &#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60;&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60;&lt;br&gt;&lt;br&gt;Rate limits when using the &#x60;additional-fields[profile]&#x3D;predictive_analytics&#x60; parameter in your API request:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60;&lt;br&gt;&lt;br&gt;To learn more about how the &#x60;additional-fields&#x60; parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2024-10-15/docs/rate_limits_and_error_handling) guide. **Scopes:** &#x60;profiles:read&#x60;
1242
1722
  # @param [Hash] opts the optional parameters
1243
1723
  # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1244
- # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sparse-fieldsets
1245
- # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;email&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;phone_number&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;external_id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;_kx&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.timestamp&#x60; : &#x60;greater-than&#x60;, &#x60;greater-or-equal&#x60;, &#x60;less-than&#x60;, &#x60;less-or-equal&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.reason&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.list_id&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.reason&#x60; : &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60; : &#x60;greater-than&#x60;, &#x60;greater-or-equal&#x60;, &#x60;less-than&#x60;, &#x60;less-or-equal&#x60;
1246
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#pagination
1724
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1725
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;email&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;phone_number&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;external_id&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;_kx&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated&#x60;: &#x60;greater-than&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.reason&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.timestamp&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.list_suppressions.list_id&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.reason&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;subscriptions.email.marketing.suppression.timestamp&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
1726
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1247
1727
  # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1248
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-07-15/reference/api-overview#sorting
1728
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sorting
1249
1729
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1250
1730
  def get_profiles_with_http_info(opts = {})
1251
1731
  if @api_client.config.debugging
@@ -1255,7 +1735,7 @@ module KlaviyoAPI
1255
1735
  if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
1256
1736
  fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
1257
1737
  end
1258
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1738
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.sms.transactional", "subscriptions.sms.transactional.can_receive_sms_transactional", "subscriptions.sms.transactional.consent", "subscriptions.sms.transactional.consent_timestamp", "subscriptions.sms.transactional.method", "subscriptions.sms.transactional.method_detail", "subscriptions.sms.transactional.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1259
1739
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
1260
1740
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
1261
1741
  end
@@ -1272,7 +1752,7 @@ module KlaviyoAPI
1272
1752
  fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1273
1753
  end
1274
1754
  # resource path
1275
- local_var_path = '/api/profiles/'
1755
+ local_var_path = '/api/profiles'
1276
1756
 
1277
1757
  # query parameters
1278
1758
  query_params = opts[:query_params] || {}
@@ -1286,9 +1766,9 @@ module KlaviyoAPI
1286
1766
  # header parameters
1287
1767
  header_params = opts[:header_params] || {}
1288
1768
  # klaviyo api revision
1289
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1769
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1290
1770
  # HTTP header 'Accept' (if needed)
1291
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1771
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1292
1772
 
1293
1773
  # form parameters
1294
1774
  form_params = opts[:form_params] || {}
@@ -1319,55 +1799,81 @@ module KlaviyoAPI
1319
1799
  return data, status_code, headers
1320
1800
  end
1321
1801
 
1322
- # Merge Profiles
1323
- # Merge a given related profile into a profile with the given profile ID. The profile provided under `relationships` (the \"source\" profile) will be merged into the profile provided by the ID in the base data object (the \"destination\" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:write`
1324
- # @param profile_merge_query [ProfileMergeQuery]
1802
+ # Get Profiles for Bulk Import Profiles Job
1803
+ # Get profiles for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:read`
1804
+ # @param id [String]
1325
1805
  # @param [Hash] opts the optional parameters
1806
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1807
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1808
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1809
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1326
1810
  # @return [Hash<String, Object>]
1327
- def merge_profiles(profile_merge_query, opts = {})
1328
- data, _status_code, _headers = merge_profiles_with_http_info(profile_merge_query, opts)
1811
+ def get_profiles_for_bulk_import_profiles_job(id, opts = {})
1812
+ data, _status_code, _headers = get_profiles_for_bulk_import_profiles_job_with_http_info(id, opts)
1329
1813
  data
1330
1814
  end
1331
1815
 
1332
- # alias of `merge_profiles`
1333
- alias create_profile_merge merge_profiles
1816
+ # alias of `get_profiles_for_bulk_import_profiles_job`
1817
+ alias get_bulk_profile_import_job_profiles get_profiles_for_bulk_import_profiles_job
1334
1818
 
1335
- # Merge Profiles
1336
- # Merge a given related profile into a profile with the given profile ID. The profile provided under &#x60;relationships&#x60; (the \&quot;source\&quot; profile) will be merged into the profile provided by the ID in the base data object (the \&quot;destination\&quot; profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
1337
- # @param profile_merge_query [ProfileMergeQuery]
1819
+ # alias of `get_profiles_for_bulk_import_profiles_job`
1820
+ alias get_profile_bulk_import_job_profiles get_profiles_for_bulk_import_profiles_job
1821
+
1822
+ # Get Profiles for Bulk Import Profiles Job
1823
+ # Get profiles for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
1824
+ # @param id [String]
1338
1825
  # @param [Hash] opts the optional parameters
1826
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1827
+ # @option opts [Array<String>] :fields_profile For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1828
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#pagination
1829
+ # @option opts [Integer] :page_size Default: 20. Min: 1. Max: 100. (default to 20)
1339
1830
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1340
- def merge_profiles_with_http_info(profile_merge_query, opts = {})
1831
+ def get_profiles_for_bulk_import_profiles_job_with_http_info(id, opts = {})
1341
1832
  if @api_client.config.debugging
1342
- @api_client.config.logger.debug 'Calling API: ProfilesApi.merge_profiles ...'
1833
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_profiles_for_bulk_import_profiles_job ...'
1343
1834
  end
1344
- # verify the required parameter 'profile_merge_query' is set
1345
- if @api_client.config.client_side_validation && profile_merge_query.nil?
1346
- fail ArgumentError, "Missing the required parameter 'profile_merge_query' when calling ProfilesApi.merge_profiles"
1835
+ # verify the required parameter 'id' is set
1836
+ if @api_client.config.client_side_validation && id.nil?
1837
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_profiles_for_bulk_import_profiles_job"
1838
+ end
1839
+ allowable_values = ["subscriptions", "predictive_analytics"]
1840
+ if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
1841
+ fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
1842
+ end
1843
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.sms.transactional", "subscriptions.sms.transactional.can_receive_sms_transactional", "subscriptions.sms.transactional.consent", "subscriptions.sms.transactional.consent_timestamp", "subscriptions.sms.transactional.method", "subscriptions.sms.transactional.method_detail", "subscriptions.sms.transactional.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1844
+ if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
1845
+ fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
1846
+ end
1847
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
1848
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_profiles_for_bulk_import_profiles_job, must be smaller than or equal to 100.'
1849
+ end
1850
+
1851
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1852
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProfilesApi.get_profiles_for_bulk_import_profiles_job, must be greater than or equal to 1.'
1347
1853
  end
1854
+
1348
1855
  # resource path
1349
- local_var_path = '/api/profile-merge/'
1856
+ local_var_path = '/api/profile-bulk-import-jobs/{id}/profiles'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1350
1857
 
1351
1858
  # query parameters
1352
1859
  query_params = opts[:query_params] || {}
1860
+ query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
1861
+ query_params[:'fields[profile]'] = @api_client.build_collection_param(opts[:'fields_profile'], :csv) if !opts[:'fields_profile'].nil?
1862
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1863
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1353
1864
 
1354
1865
  # header parameters
1355
1866
  header_params = opts[:header_params] || {}
1356
1867
  # klaviyo api revision
1357
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1868
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1358
1869
  # HTTP header 'Accept' (if needed)
1359
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1360
- # HTTP header 'Content-Type'
1361
- content_type = @api_client.select_header_content_type(['application/json'])
1362
- if !content_type.nil?
1363
- header_params['Content-Type'] = content_type
1364
- end
1870
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1365
1871
 
1366
1872
  # form parameters
1367
1873
  form_params = opts[:form_params] || {}
1368
1874
 
1369
1875
  # http body (model)
1370
- post_body = opts[:debug_body] || @api_client.object_to_http_body(profile_merge_query)
1876
+ post_body = opts[:debug_body]
1371
1877
 
1372
1878
  # return_type
1373
1879
  return_type = opts[:debug_return_type] || 'Hash<String, Object>'
@@ -1376,7 +1882,7 @@ module KlaviyoAPI
1376
1882
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1377
1883
 
1378
1884
  new_options = opts.merge(
1379
- :operation => :"ProfilesApi.merge_profiles",
1885
+ :operation => :"ProfilesApi.get_profiles_for_bulk_import_profiles_job",
1380
1886
  :header_params => header_params,
1381
1887
  :query_params => query_params,
1382
1888
  :form_params => form_params,
@@ -1385,44 +1891,47 @@ module KlaviyoAPI
1385
1891
  :return_type => return_type
1386
1892
  )
1387
1893
 
1388
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1894
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1389
1895
  if @api_client.config.debugging
1390
- @api_client.config.logger.debug "API called: ProfilesApi#merge_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1896
+ @api_client.config.logger.debug "API called: ProfilesApi#get_profiles_for_bulk_import_profiles_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1391
1897
  end
1392
1898
  return data, status_code, headers
1393
1899
  end
1394
1900
 
1395
- # alias of `merge_profiles_with_http_info`
1396
- alias create_profile_merge_with_http_info merge_profiles_with_http_info
1901
+ # alias of `get_profiles_for_bulk_import_profiles_job_with_http_info`
1902
+ alias get_bulk_profile_import_job_profiles_with_http_info get_profiles_for_bulk_import_profiles_job_with_http_info
1397
1903
 
1398
- # Spawn Bulk Profile Import Job
1399
- # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. 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` **Scopes:** `lists:write` `profiles:write`
1400
- # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
1904
+ # alias of `get_profiles_for_bulk_import_profiles_job_with_http_info`
1905
+ alias get_profile_bulk_import_job_profiles_with_http_info get_profiles_for_bulk_import_profiles_job_with_http_info
1906
+
1907
+ # Get Segment IDs for Profile
1908
+ # Get segment membership relationships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
1909
+ # @param id [String]
1401
1910
  # @param [Hash] opts the optional parameters
1402
1911
  # @return [Hash<String, Object>]
1403
- def spawn_bulk_profile_import_job(profile_import_job_create_query, opts = {})
1404
- data, _status_code, _headers = spawn_bulk_profile_import_job_with_http_info(profile_import_job_create_query, opts)
1912
+ def get_segment_ids_for_profile(id, opts = {})
1913
+ data, _status_code, _headers = get_segment_ids_for_profile_with_http_info(id, opts)
1405
1914
  data
1406
1915
  end
1407
1916
 
1408
- # alias of `spawn_bulk_profile_import_job`
1409
- alias create_profile_bulk_import_job spawn_bulk_profile_import_job
1917
+ # alias of `get_segment_ids_for_profile`
1918
+ alias get_profile_relationships_segments get_segment_ids_for_profile
1410
1919
 
1411
- # Spawn Bulk Profile Import Job
1412
- # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60;
1413
- # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
1920
+ # Get Segment IDs for Profile
1921
+ # Get segment membership relationships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;profiles:read&#x60; &#x60;segments:read&#x60;
1922
+ # @param id [String]
1414
1923
  # @param [Hash] opts the optional parameters
1415
1924
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1416
- def spawn_bulk_profile_import_job_with_http_info(profile_import_job_create_query, opts = {})
1925
+ def get_segment_ids_for_profile_with_http_info(id, opts = {})
1417
1926
  if @api_client.config.debugging
1418
- @api_client.config.logger.debug 'Calling API: ProfilesApi.spawn_bulk_profile_import_job ...'
1927
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_segment_ids_for_profile ...'
1419
1928
  end
1420
- # verify the required parameter 'profile_import_job_create_query' is set
1421
- if @api_client.config.client_side_validation && profile_import_job_create_query.nil?
1422
- fail ArgumentError, "Missing the required parameter 'profile_import_job_create_query' when calling ProfilesApi.spawn_bulk_profile_import_job"
1929
+ # verify the required parameter 'id' is set
1930
+ if @api_client.config.client_side_validation && id.nil?
1931
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_segment_ids_for_profile"
1423
1932
  end
1424
1933
  # resource path
1425
- local_var_path = '/api/profile-bulk-import-jobs/'
1934
+ local_var_path = '/api/profiles/{id}/relationships/segments'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1426
1935
 
1427
1936
  # query parameters
1428
1937
  query_params = opts[:query_params] || {}
@@ -1430,20 +1939,15 @@ module KlaviyoAPI
1430
1939
  # header parameters
1431
1940
  header_params = opts[:header_params] || {}
1432
1941
  # klaviyo api revision
1433
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1942
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1434
1943
  # HTTP header 'Accept' (if needed)
1435
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1436
- # HTTP header 'Content-Type'
1437
- content_type = @api_client.select_header_content_type(['application/json'])
1438
- if !content_type.nil?
1439
- header_params['Content-Type'] = content_type
1440
- end
1944
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1441
1945
 
1442
1946
  # form parameters
1443
1947
  form_params = opts[:form_params] || {}
1444
1948
 
1445
1949
  # http body (model)
1446
- post_body = opts[:debug_body] || @api_client.object_to_http_body(profile_import_job_create_query)
1950
+ post_body = opts[:debug_body]
1447
1951
 
1448
1952
  # return_type
1449
1953
  return_type = opts[:debug_return_type] || 'Hash<String, Object>'
@@ -1452,7 +1956,7 @@ module KlaviyoAPI
1452
1956
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1453
1957
 
1454
1958
  new_options = opts.merge(
1455
- :operation => :"ProfilesApi.spawn_bulk_profile_import_job",
1959
+ :operation => :"ProfilesApi.get_segment_ids_for_profile",
1456
1960
  :header_params => header_params,
1457
1961
  :query_params => query_params,
1458
1962
  :form_params => form_params,
@@ -1461,150 +1965,76 @@ module KlaviyoAPI
1461
1965
  :return_type => return_type
1462
1966
  )
1463
1967
 
1464
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1968
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1465
1969
  if @api_client.config.debugging
1466
- @api_client.config.logger.debug "API called: ProfilesApi#spawn_bulk_profile_import_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1970
+ @api_client.config.logger.debug "API called: ProfilesApi#get_segment_ids_for_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1467
1971
  end
1468
1972
  return data, status_code, headers
1469
1973
  end
1470
1974
 
1471
- # alias of `spawn_bulk_profile_import_job_with_http_info`
1472
- alias create_profile_bulk_import_job_with_http_info spawn_bulk_profile_import_job_with_http_info
1975
+ # alias of `get_segment_ids_for_profile_with_http_info`
1976
+ alias get_profile_relationships_segments_with_http_info get_segment_ids_for_profile_with_http_info
1473
1977
 
1474
- # Subscribe Profiles
1475
- # 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. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any `UNSUBSCRIBE`, `SPAM_REPORT` or `USER_SUPPRESSED` suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a `historical_import` flag. If this flag is set `true`, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \"Added to list\" flows. This is useful for importing historical data where you have already collected consent. If `historical_import` is set to true, the `consented_at` field is required and must be in the past.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
1476
- # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
1978
+ # Get Segments for Profile
1979
+ # Get segment memberships for a profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `profiles:read` `segments:read`
1980
+ # @param id [String]
1477
1981
  # @param [Hash] opts the optional parameters
1478
- # @return [nil]
1479
- def subscribe_profiles(subscription_create_job_create_query, opts = {})
1480
- subscribe_profiles_with_http_info(subscription_create_job_create_query, opts)
1481
- nil
1982
+ # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1983
+ # @return [Hash<String, Object>]
1984
+ def get_segments_for_profile(id, opts = {})
1985
+ data, _status_code, _headers = get_segments_for_profile_with_http_info(id, opts)
1986
+ data
1482
1987
  end
1483
1988
 
1484
- # alias of `subscribe_profiles`
1485
- alias create_profile_subscription_bulk_create_job subscribe_profiles
1989
+ # alias of `get_segments_for_profile`
1990
+ alias get_profile_segments get_segments_for_profile
1486
1991
 
1487
- # Subscribe Profiles
1488
- # 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. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any &#x60;UNSUBSCRIBE&#x60;, &#x60;SPAM_REPORT&#x60; or &#x60;USER_SUPPRESSED&#x60; suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a &#x60;historical_import&#x60; flag. If this flag is set &#x60;true&#x60;, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \&quot;Added to list\&quot; flows. This is useful for importing historical data where you have already collected consent. If &#x60;historical_import&#x60; is set to true, the &#x60;consented_at&#x60; field is required and must be in the past.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1489
- # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
1992
+ # Get Segments for Profile
1993
+ # Get segment memberships for a profile with the given profile ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;profiles:read&#x60; &#x60;segments:read&#x60;
1994
+ # @param id [String]
1490
1995
  # @param [Hash] opts the optional parameters
1491
- # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1492
- def subscribe_profiles_with_http_info(subscription_create_job_create_query, opts = {})
1493
- if @api_client.config.debugging
1494
- @api_client.config.logger.debug 'Calling API: ProfilesApi.subscribe_profiles ...'
1495
- end
1496
- # verify the required parameter 'subscription_create_job_create_query' is set
1497
- if @api_client.config.client_side_validation && subscription_create_job_create_query.nil?
1498
- fail ArgumentError, "Missing the required parameter 'subscription_create_job_create_query' when calling ProfilesApi.subscribe_profiles"
1499
- end
1500
- # resource path
1501
- local_var_path = '/api/profile-subscription-bulk-create-jobs/'
1502
-
1503
- # query parameters
1504
- query_params = opts[:query_params] || {}
1505
-
1506
- # header parameters
1507
- header_params = opts[:header_params] || {}
1508
- # klaviyo api revision
1509
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
1510
- # HTTP header 'Accept' (if needed)
1511
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1512
- # HTTP header 'Content-Type'
1513
- content_type = @api_client.select_header_content_type(['application/json'])
1514
- if !content_type.nil?
1515
- header_params['Content-Type'] = content_type
1516
- end
1517
-
1518
- # form parameters
1519
- form_params = opts[:form_params] || {}
1520
-
1521
- # http body (model)
1522
- post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_create_job_create_query)
1523
-
1524
- # return_type
1525
- return_type = opts[:debug_return_type]
1526
-
1527
- # auth_names
1528
- auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1529
-
1530
- new_options = opts.merge(
1531
- :operation => :"ProfilesApi.subscribe_profiles",
1532
- :header_params => header_params,
1533
- :query_params => query_params,
1534
- :form_params => form_params,
1535
- :body => post_body,
1536
- :auth_names => auth_names,
1537
- :return_type => return_type
1538
- )
1539
-
1540
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1996
+ # @option opts [Array<String>] :fields_segment For more information please visit https://developers.klaviyo.com/en/v2024-10-15/reference/api-overview#sparse-fieldsets
1997
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1998
+ def get_segments_for_profile_with_http_info(id, opts = {})
1541
1999
  if @api_client.config.debugging
1542
- @api_client.config.logger.debug "API called: ProfilesApi#subscribe_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2000
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.get_segments_for_profile ...'
1543
2001
  end
1544
- return data, status_code, headers
1545
- end
1546
-
1547
- # alias of `subscribe_profiles_with_http_info`
1548
- alias create_profile_subscription_bulk_create_job_with_http_info subscribe_profiles_with_http_info
1549
-
1550
- # Suppress Profiles
1551
- # Manually suppress profiles using their email address, or by specifying a segment or list ID to suppress all current members. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write` `subscriptions:write`
1552
- # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
1553
- # @param [Hash] opts the optional parameters
1554
- # @return [nil]
1555
- def suppress_profiles(suppression_create_job_create_query, opts = {})
1556
- suppress_profiles_with_http_info(suppression_create_job_create_query, opts)
1557
- nil
1558
- end
1559
-
1560
- # alias of `suppress_profiles`
1561
- alias create_profile_suppression_bulk_create_job suppress_profiles
1562
-
1563
- # Suppress Profiles
1564
- # Manually suppress profiles using their email address, or by specifying a segment or list ID to suppress all current members. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1565
- # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
1566
- # @param [Hash] opts the optional parameters
1567
- # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1568
- def suppress_profiles_with_http_info(suppression_create_job_create_query, opts = {})
1569
- if @api_client.config.debugging
1570
- @api_client.config.logger.debug 'Calling API: ProfilesApi.suppress_profiles ...'
2002
+ # verify the required parameter 'id' is set
2003
+ if @api_client.config.client_side_validation && id.nil?
2004
+ fail ArgumentError, "Missing the required parameter 'id' when calling ProfilesApi.get_segments_for_profile"
1571
2005
  end
1572
- # verify the required parameter 'suppression_create_job_create_query' is set
1573
- if @api_client.config.client_side_validation && suppression_create_job_create_query.nil?
1574
- fail ArgumentError, "Missing the required parameter 'suppression_create_job_create_query' when calling ProfilesApi.suppress_profiles"
2006
+ allowable_values = ["name", "definition", "definition.condition_groups", "created", "updated", "is_active", "is_processing", "is_starred"]
2007
+ if @api_client.config.client_side_validation && opts[:'fields_segment'] && !opts[:'fields_segment'].all? { |item| allowable_values.include?(item) }
2008
+ fail ArgumentError, "invalid value for \"fields_segment\", must include one of #{allowable_values}"
1575
2009
  end
1576
2010
  # resource path
1577
- local_var_path = '/api/profile-suppression-bulk-create-jobs/'
2011
+ local_var_path = '/api/profiles/{id}/segments'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1578
2012
 
1579
2013
  # query parameters
1580
2014
  query_params = opts[:query_params] || {}
2015
+ query_params[:'fields[segment]'] = @api_client.build_collection_param(opts[:'fields_segment'], :csv) if !opts[:'fields_segment'].nil?
1581
2016
 
1582
2017
  # header parameters
1583
2018
  header_params = opts[:header_params] || {}
1584
2019
  # klaviyo api revision
1585
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
2020
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1586
2021
  # HTTP header 'Accept' (if needed)
1587
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1588
- # HTTP header 'Content-Type'
1589
- content_type = @api_client.select_header_content_type(['application/json'])
1590
- if !content_type.nil?
1591
- header_params['Content-Type'] = content_type
1592
- end
2022
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1593
2023
 
1594
2024
  # form parameters
1595
2025
  form_params = opts[:form_params] || {}
1596
2026
 
1597
2027
  # http body (model)
1598
- post_body = opts[:debug_body] || @api_client.object_to_http_body(suppression_create_job_create_query)
2028
+ post_body = opts[:debug_body]
1599
2029
 
1600
2030
  # return_type
1601
- return_type = opts[:debug_return_type]
2031
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1602
2032
 
1603
2033
  # auth_names
1604
2034
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1605
2035
 
1606
2036
  new_options = opts.merge(
1607
- :operation => :"ProfilesApi.suppress_profiles",
2037
+ :operation => :"ProfilesApi.get_segments_for_profile",
1608
2038
  :header_params => header_params,
1609
2039
  :query_params => query_params,
1610
2040
  :form_params => form_params,
@@ -1613,44 +2043,44 @@ module KlaviyoAPI
1613
2043
  :return_type => return_type
1614
2044
  )
1615
2045
 
1616
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2046
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1617
2047
  if @api_client.config.debugging
1618
- @api_client.config.logger.debug "API called: ProfilesApi#suppress_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2048
+ @api_client.config.logger.debug "API called: ProfilesApi#get_segments_for_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1619
2049
  end
1620
2050
  return data, status_code, headers
1621
2051
  end
1622
2052
 
1623
- # alias of `suppress_profiles_with_http_info`
1624
- alias create_profile_suppression_bulk_create_job_with_http_info suppress_profiles_with_http_info
2053
+ # alias of `get_segments_for_profile_with_http_info`
2054
+ alias get_profile_segments_with_http_info get_segments_for_profile_with_http_info
1625
2055
 
1626
- # Unsubscribe Profiles
1627
- # 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). 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). Maximum number of profile can be submitted for unsubscription: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
1628
- # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
2056
+ # Merge Profiles
2057
+ # Merge a given related profile into a profile with the given profile ID. The profile provided under `relationships` (the \"source\" profile) will be merged into the profile provided by the ID in the base data object (the \"destination\" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:write`
2058
+ # @param profile_merge_query [ProfileMergeQuery]
1629
2059
  # @param [Hash] opts the optional parameters
1630
- # @return [nil]
1631
- def unsubscribe_profiles(subscription_delete_job_create_query, opts = {})
1632
- unsubscribe_profiles_with_http_info(subscription_delete_job_create_query, opts)
1633
- nil
2060
+ # @return [Hash<String, Object>]
2061
+ def merge_profiles(profile_merge_query, opts = {})
2062
+ data, _status_code, _headers = merge_profiles_with_http_info(profile_merge_query, opts)
2063
+ data
1634
2064
  end
1635
2065
 
1636
- # alias of `unsubscribe_profiles`
1637
- alias create_profile_subscription_bulk_delete_job unsubscribe_profiles
2066
+ # alias of `merge_profiles`
2067
+ alias create_profile_merge merge_profiles
1638
2068
 
1639
- # Unsubscribe Profiles
1640
- # 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). 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). Maximum number of profile can be submitted for unsubscription: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1641
- # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
2069
+ # Merge Profiles
2070
+ # Merge a given related profile into a profile with the given profile ID. The profile provided under &#x60;relationships&#x60; (the \&quot;source\&quot; profile) will be merged into the profile provided by the ID in the base data object (the \&quot;destination\&quot; profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
2071
+ # @param profile_merge_query [ProfileMergeQuery]
1642
2072
  # @param [Hash] opts the optional parameters
1643
- # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1644
- def unsubscribe_profiles_with_http_info(subscription_delete_job_create_query, opts = {})
2073
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
2074
+ def merge_profiles_with_http_info(profile_merge_query, opts = {})
1645
2075
  if @api_client.config.debugging
1646
- @api_client.config.logger.debug 'Calling API: ProfilesApi.unsubscribe_profiles ...'
2076
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.merge_profiles ...'
1647
2077
  end
1648
- # verify the required parameter 'subscription_delete_job_create_query' is set
1649
- if @api_client.config.client_side_validation && subscription_delete_job_create_query.nil?
1650
- fail ArgumentError, "Missing the required parameter 'subscription_delete_job_create_query' when calling ProfilesApi.unsubscribe_profiles"
2078
+ # verify the required parameter 'profile_merge_query' is set
2079
+ if @api_client.config.client_side_validation && profile_merge_query.nil?
2080
+ fail ArgumentError, "Missing the required parameter 'profile_merge_query' when calling ProfilesApi.merge_profiles"
1651
2081
  end
1652
2082
  # resource path
1653
- local_var_path = '/api/profile-subscription-bulk-delete-jobs/'
2083
+ local_var_path = '/api/profile-merge'
1654
2084
 
1655
2085
  # query parameters
1656
2086
  query_params = opts[:query_params] || {}
@@ -1658,11 +2088,11 @@ module KlaviyoAPI
1658
2088
  # header parameters
1659
2089
  header_params = opts[:header_params] || {}
1660
2090
  # klaviyo api revision
1661
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
2091
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1662
2092
  # HTTP header 'Accept' (if needed)
1663
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2093
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1664
2094
  # HTTP header 'Content-Type'
1665
- content_type = @api_client.select_header_content_type(['application/json'])
2095
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
1666
2096
  if !content_type.nil?
1667
2097
  header_params['Content-Type'] = content_type
1668
2098
  end
@@ -1671,16 +2101,16 @@ module KlaviyoAPI
1671
2101
  form_params = opts[:form_params] || {}
1672
2102
 
1673
2103
  # http body (model)
1674
- post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_delete_job_create_query)
2104
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(profile_merge_query)
1675
2105
 
1676
2106
  # return_type
1677
- return_type = opts[:debug_return_type]
2107
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1678
2108
 
1679
2109
  # auth_names
1680
2110
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1681
2111
 
1682
2112
  new_options = opts.merge(
1683
- :operation => :"ProfilesApi.unsubscribe_profiles",
2113
+ :operation => :"ProfilesApi.merge_profiles",
1684
2114
  :header_params => header_params,
1685
2115
  :query_params => query_params,
1686
2116
  :form_params => form_params,
@@ -1691,42 +2121,45 @@ module KlaviyoAPI
1691
2121
 
1692
2122
  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1693
2123
  if @api_client.config.debugging
1694
- @api_client.config.logger.debug "API called: ProfilesApi#unsubscribe_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2124
+ @api_client.config.logger.debug "API called: ProfilesApi#merge_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1695
2125
  end
1696
2126
  return data, status_code, headers
1697
2127
  end
1698
2128
 
1699
- # alias of `unsubscribe_profiles_with_http_info`
1700
- alias create_profile_subscription_bulk_delete_job_with_http_info unsubscribe_profiles_with_http_info
2129
+ # alias of `merge_profiles_with_http_info`
2130
+ alias create_profile_merge_with_http_info merge_profiles_with_http_info
1701
2131
 
1702
- # Unsuppress Profiles
1703
- # Manually unsuppress profiles using their email address, or by specifying a segment or list ID to unsuppress all current members. This only removes suppressions with reason `USER_SUPPRESSED`, leaving unsubscribed profiles and profiles suppressed with reason `INVALID_EMAIL` or `HARD_BOUNCE` unchanged. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:write`
1704
- # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
2132
+ # Spawn Bulk Profile Import Job
2133
+ # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. 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` **Scopes:** `lists:write` `profiles:write`
2134
+ # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
1705
2135
  # @param [Hash] opts the optional parameters
1706
- # @return [nil]
1707
- def unsuppress_profiles(suppression_delete_job_create_query, opts = {})
1708
- unsuppress_profiles_with_http_info(suppression_delete_job_create_query, opts)
1709
- nil
2136
+ # @return [Hash<String, Object>]
2137
+ def spawn_bulk_profile_import_job(profile_import_job_create_query, opts = {})
2138
+ data, _status_code, _headers = spawn_bulk_profile_import_job_with_http_info(profile_import_job_create_query, opts)
2139
+ data
1710
2140
  end
1711
2141
 
1712
- # alias of `unsuppress_profiles`
1713
- alias create_profile_suppression_bulk_delete_job unsuppress_profiles
2142
+ # alias of `spawn_bulk_profile_import_job`
2143
+ alias bulk_import_profiles spawn_bulk_profile_import_job
1714
2144
 
1715
- # Unsuppress Profiles
1716
- # Manually unsuppress profiles using their email address, or by specifying a segment or list ID to unsuppress all current members. This only removes suppressions with reason &#x60;USER_SUPPRESSED&#x60;, leaving unsubscribed profiles and profiles suppressed with reason &#x60;INVALID_EMAIL&#x60; or &#x60;HARD_BOUNCE&#x60; unchanged. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:write&#x60;
1717
- # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
2145
+ # alias of `spawn_bulk_profile_import_job`
2146
+ alias create_profile_bulk_import_job spawn_bulk_profile_import_job
2147
+
2148
+ # Spawn Bulk Profile Import Job
2149
+ # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60;
2150
+ # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
1718
2151
  # @param [Hash] opts the optional parameters
1719
- # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1720
- def unsuppress_profiles_with_http_info(suppression_delete_job_create_query, opts = {})
2152
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
2153
+ def spawn_bulk_profile_import_job_with_http_info(profile_import_job_create_query, opts = {})
1721
2154
  if @api_client.config.debugging
1722
- @api_client.config.logger.debug 'Calling API: ProfilesApi.unsuppress_profiles ...'
2155
+ @api_client.config.logger.debug 'Calling API: ProfilesApi.spawn_bulk_profile_import_job ...'
1723
2156
  end
1724
- # verify the required parameter 'suppression_delete_job_create_query' is set
1725
- if @api_client.config.client_side_validation && suppression_delete_job_create_query.nil?
1726
- fail ArgumentError, "Missing the required parameter 'suppression_delete_job_create_query' when calling ProfilesApi.unsuppress_profiles"
2157
+ # verify the required parameter 'profile_import_job_create_query' is set
2158
+ if @api_client.config.client_side_validation && profile_import_job_create_query.nil?
2159
+ fail ArgumentError, "Missing the required parameter 'profile_import_job_create_query' when calling ProfilesApi.spawn_bulk_profile_import_job"
1727
2160
  end
1728
2161
  # resource path
1729
- local_var_path = '/api/profile-suppression-bulk-delete-jobs/'
2162
+ local_var_path = '/api/profile-bulk-import-jobs'
1730
2163
 
1731
2164
  # query parameters
1732
2165
  query_params = opts[:query_params] || {}
@@ -1734,11 +2167,11 @@ module KlaviyoAPI
1734
2167
  # header parameters
1735
2168
  header_params = opts[:header_params] || {}
1736
2169
  # klaviyo api revision
1737
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
2170
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1738
2171
  # HTTP header 'Accept' (if needed)
1739
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2172
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1740
2173
  # HTTP header 'Content-Type'
1741
- content_type = @api_client.select_header_content_type(['application/json'])
2174
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
1742
2175
  if !content_type.nil?
1743
2176
  header_params['Content-Type'] = content_type
1744
2177
  end
@@ -1747,16 +2180,16 @@ module KlaviyoAPI
1747
2180
  form_params = opts[:form_params] || {}
1748
2181
 
1749
2182
  # http body (model)
1750
- post_body = opts[:debug_body] || @api_client.object_to_http_body(suppression_delete_job_create_query)
2183
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(profile_import_job_create_query)
1751
2184
 
1752
2185
  # return_type
1753
- return_type = opts[:debug_return_type]
2186
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1754
2187
 
1755
2188
  # auth_names
1756
2189
  auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1757
2190
 
1758
2191
  new_options = opts.merge(
1759
- :operation => :"ProfilesApi.unsuppress_profiles",
2192
+ :operation => :"ProfilesApi.spawn_bulk_profile_import_job",
1760
2193
  :header_params => header_params,
1761
2194
  :query_params => query_params,
1762
2195
  :form_params => form_params,
@@ -1767,19 +2200,23 @@ module KlaviyoAPI
1767
2200
 
1768
2201
  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1769
2202
  if @api_client.config.debugging
1770
- @api_client.config.logger.debug "API called: ProfilesApi#unsuppress_profiles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2203
+ @api_client.config.logger.debug "API called: ProfilesApi#spawn_bulk_profile_import_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1771
2204
  end
1772
2205
  return data, status_code, headers
1773
2206
  end
1774
2207
 
1775
- # alias of `unsuppress_profiles_with_http_info`
1776
- alias create_profile_suppression_bulk_delete_job_with_http_info unsuppress_profiles_with_http_info
2208
+ # alias of `spawn_bulk_profile_import_job_with_http_info`
2209
+ alias bulk_import_profiles_with_http_info spawn_bulk_profile_import_job_with_http_info
2210
+
2211
+ # alias of `spawn_bulk_profile_import_job_with_http_info`
2212
+ alias create_profile_bulk_import_job_with_http_info spawn_bulk_profile_import_job_with_http_info
1777
2213
 
1778
2214
  # Update Profile
1779
2215
  # Update the profile with the given profile ID. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
1780
2216
  # @param id [String] Primary key that uniquely identifies this profile. Generated by Klaviyo.
1781
2217
  # @param profile_partial_update_query [ProfilePartialUpdateQuery]
1782
2218
  # @param [Hash] opts the optional parameters
2219
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1783
2220
  # @return [Hash<String, Object>]
1784
2221
  def update_profile(id, profile_partial_update_query, opts = {})
1785
2222
  data, _status_code, _headers = update_profile_with_http_info(id, profile_partial_update_query, opts)
@@ -1791,6 +2228,7 @@ module KlaviyoAPI
1791
2228
  # @param id [String] Primary key that uniquely identifies this profile. Generated by Klaviyo.
1792
2229
  # @param profile_partial_update_query [ProfilePartialUpdateQuery]
1793
2230
  # @param [Hash] opts the optional parameters
2231
+ # @option opts [Array<String>] :additional_fields_profile Request additional fields not included by default in the response. Supported values: &#39;subscriptions&#39;, &#39;predictive_analytics&#39;
1794
2232
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1795
2233
  def update_profile_with_http_info(id, profile_partial_update_query, opts = {})
1796
2234
  if @api_client.config.debugging
@@ -1804,20 +2242,25 @@ module KlaviyoAPI
1804
2242
  if @api_client.config.client_side_validation && profile_partial_update_query.nil?
1805
2243
  fail ArgumentError, "Missing the required parameter 'profile_partial_update_query' when calling ProfilesApi.update_profile"
1806
2244
  end
2245
+ allowable_values = ["subscriptions", "predictive_analytics"]
2246
+ if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
2247
+ fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
2248
+ end
1807
2249
  # resource path
1808
- local_var_path = '/api/profiles/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
2250
+ local_var_path = '/api/profiles/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1809
2251
 
1810
2252
  # query parameters
1811
2253
  query_params = opts[:query_params] || {}
2254
+ query_params[:'additional-fields[profile]'] = @api_client.build_collection_param(opts[:'additional_fields_profile'], :csv) if !opts[:'additional_fields_profile'].nil?
1812
2255
 
1813
2256
  # header parameters
1814
2257
  header_params = opts[:header_params] || {}
1815
2258
  # klaviyo api revision
1816
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-07-15"
2259
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2024-10-15"
1817
2260
  # HTTP header 'Accept' (if needed)
1818
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2261
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1819
2262
  # HTTP header 'Content-Type'
1820
- content_type = @api_client.select_header_content_type(['application/json'])
2263
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
1821
2264
  if !content_type.nil?
1822
2265
  header_params['Content-Type'] = content_type
1823
2266
  end