klaviyo-api-sdk 17.0.0 → 18.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 (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +932 -414
  4. data/klaviyo-api-sdk.gemspec +1 -1
  5. data/lib/klaviyo-api-sdk/api/accounts_api.rb +12 -12
  6. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +215 -155
  7. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +585 -381
  8. data/lib/klaviyo-api-sdk/api/client_api.rb +100 -0
  9. data/lib/klaviyo-api-sdk/api/conversations_api.rb +3 -3
  10. data/lib/klaviyo-api-sdk/api/coupons_api.rb +187 -108
  11. data/lib/klaviyo-api-sdk/api/custom_objects_api.rb +2755 -83
  12. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +3 -3
  13. data/lib/klaviyo-api-sdk/api/events_api.rb +72 -58
  14. data/lib/klaviyo-api-sdk/api/flows_api.rb +238 -152
  15. data/lib/klaviyo-api-sdk/api/forms_api.rb +81 -60
  16. data/lib/klaviyo-api-sdk/api/images_api.rb +48 -27
  17. data/lib/klaviyo-api-sdk/api/lists_api.rb +113 -88
  18. data/lib/klaviyo-api-sdk/api/metrics_api.rb +184 -156
  19. data/lib/klaviyo-api-sdk/api/profiles_api.rb +445 -226
  20. data/lib/klaviyo-api-sdk/api/reporting_api.rb +76 -27
  21. data/lib/klaviyo-api-sdk/api/reviews_api.rb +38 -31
  22. data/lib/klaviyo-api-sdk/api/segments_api.rb +107 -82
  23. data/lib/klaviyo-api-sdk/api/tags_api.rb +164 -128
  24. data/lib/klaviyo-api-sdk/api/templates_api.rb +113 -60
  25. data/lib/klaviyo-api-sdk/api/tracking_settings_api.rb +24 -17
  26. data/lib/klaviyo-api-sdk/api/web_feeds_api.rb +41 -27
  27. data/lib/klaviyo-api-sdk/api/webhooks_api.rb +73 -31
  28. data/lib/klaviyo-api-sdk/api_client.rb +1 -1
  29. data/lib/klaviyo-api-sdk/models/action_output_condition.rb +1 -1
  30. data/lib/klaviyo-api-sdk/models/action_output_condition_filter.rb +78 -195
  31. data/lib/klaviyo-api-sdk/models/action_output_split_action_data.rb +2 -6
  32. data/lib/klaviyo-api-sdk/models/{flow_push_notification_additional_filters.rb → action_output_split_action_data_action_output_filter.rb} +4 -4
  33. data/lib/klaviyo-api-sdk/models/{action_output_condition_condition_group.rb → action_output_split_action_data_action_output_filter_condition_groups_inner.rb} +3 -3
  34. data/lib/klaviyo-api-sdk/models/age_gate_properties.rb +11 -1
  35. data/lib/klaviyo-api-sdk/models/api_schema_property.rb +301 -0
  36. data/lib/klaviyo-api-sdk/models/back_in_stock_email_consent_checkbox_properties.rb +11 -1
  37. data/lib/klaviyo-api-sdk/models/base_event_create_query_bulk_entry_resource_object_attributes.rb +15 -2
  38. data/lib/klaviyo-api-sdk/models/base_style_properties.rb +15 -5
  39. data/lib/klaviyo-api-sdk/models/button_action.rb +1 -0
  40. data/lib/klaviyo-api-sdk/models/button_properties.rb +11 -1
  41. data/lib/klaviyo-api-sdk/models/button_styles.rb +25 -3
  42. data/lib/klaviyo-api-sdk/models/{action_output_condition_filter2.rb → button_styles_height.rb} +3 -7
  43. data/lib/klaviyo-api-sdk/models/cart_content.rb +277 -0
  44. data/lib/klaviyo-api-sdk/models/cart_content_properties.rb +236 -0
  45. data/lib/klaviyo-api-sdk/models/checkboxes_properties.rb +11 -1
  46. data/lib/klaviyo-api-sdk/models/conditional_branch_action_data_profile_filter_condition_groups_inner_conditions_inner.rb +5 -0
  47. data/lib/klaviyo-api-sdk/models/constant_property_mapping.rb +287 -0
  48. data/lib/klaviyo-api-sdk/models/{price_drop_condition_filter2.rb → constant_property_mapping_value.rb} +6 -16
  49. data/lib/klaviyo-api-sdk/models/content_experiment_action.rb +1 -1
  50. data/lib/klaviyo-api-sdk/models/{send_push_notification_action_content_experiment_action_data.rb → content_experiment_action_data.rb} +6 -5
  51. data/lib/klaviyo-api-sdk/models/{send_push_notification_action_current_experiment.rb → content_experiment_action_data_current_experiment.rb} +6 -6
  52. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_filter2.rb → content_experiment_action_data_main_action.rb} +3 -16
  53. data/lib/klaviyo-api-sdk/models/countdown_timer_properties.rb +11 -1
  54. data/lib/klaviyo-api-sdk/models/coupon_properties.rb +11 -1
  55. data/lib/klaviyo-api-sdk/models/custom_css.rb +231 -0
  56. data/lib/klaviyo-api-sdk/models/custom_html.rb +292 -0
  57. data/lib/klaviyo-api-sdk/models/custom_html_properties.rb +263 -0
  58. data/lib/klaviyo-api-sdk/models/custom_object_date_trigger.rb +450 -0
  59. data/lib/klaviyo-api-sdk/models/custom_object_property_condition.rb +1 -1
  60. data/lib/klaviyo-api-sdk/models/custom_object_relationship_source.rb +328 -0
  61. data/lib/klaviyo-api-sdk/models/date_properties.rb +11 -1
  62. data/lib/klaviyo-api-sdk/models/display_options.rb +24 -4
  63. data/lib/klaviyo-api-sdk/models/dropdown_properties.rb +11 -1
  64. data/lib/klaviyo-api-sdk/models/email_properties.rb +11 -1
  65. data/lib/klaviyo-api-sdk/models/email_subscription_parameters.rb +13 -9
  66. data/lib/klaviyo-api-sdk/models/email_unsubscription_parameters.rb +13 -9
  67. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object.rb +237 -0
  68. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object_attributes.rb +292 -0
  69. data/lib/klaviyo-api-sdk/models/embedded_object_schema_resource_object_attributes_source_mapping.rb +224 -0
  70. data/lib/klaviyo-api-sdk/models/event_create_query_v2_resource_object_attributes.rb +15 -2
  71. data/lib/klaviyo-api-sdk/models/events_bulk_create_query_resource_object_attributes.rb +14 -1
  72. data/lib/klaviyo-api-sdk/models/flow_definition_profile_filter_condition_groups_inner_conditions_inner.rb +5 -0
  73. data/lib/klaviyo-api-sdk/models/flow_definition_triggers_inner.rb +1 -0
  74. data/lib/klaviyo-api-sdk/models/flow_email.rb +1 -1
  75. data/lib/klaviyo-api-sdk/models/flow_push_notification.rb +14 -4
  76. data/lib/klaviyo-api-sdk/models/flow_sms.rb +15 -2
  77. data/lib/klaviyo-api-sdk/models/form_create_query_resource_object_attributes.rb +2 -2
  78. data/lib/klaviyo-api-sdk/models/html_text_properties.rb +11 -1
  79. data/lib/klaviyo-api-sdk/models/iaf_deeplink_to_screen.rb +305 -0
  80. data/lib/klaviyo-api-sdk/models/iaf_deeplink_to_screen_properties.rb +220 -0
  81. data/lib/klaviyo-api-sdk/models/image_action.rb +1 -0
  82. data/lib/klaviyo-api-sdk/models/image_block_cropping_properties.rb +0 -35
  83. data/lib/klaviyo-api-sdk/models/image_properties.rb +11 -1
  84. data/lib/klaviyo-api-sdk/models/low_inventory_condition.rb +1 -1
  85. data/lib/klaviyo-api-sdk/models/low_inventory_trigger.rb +2 -6
  86. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_filter.rb → low_inventory_trigger_trigger_filter.rb} +4 -4
  87. data/lib/klaviyo-api-sdk/models/{low_inventory_condition_condition_group.rb → low_inventory_trigger_trigger_filter_condition_groups_inner.rb} +3 -3
  88. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_resource_object_attributes.rb +2 -2
  89. data/lib/klaviyo-api-sdk/models/metric_property_condition.rb +1 -1
  90. data/lib/klaviyo-api-sdk/models/metric_property_condition_filter.rb +87 -195
  91. data/lib/klaviyo-api-sdk/models/metric_trigger.rb +2 -1
  92. data/lib/klaviyo-api-sdk/models/{flow_email_additional_filters.rb → metric_trigger_trigger_filter.rb} +4 -4
  93. data/lib/klaviyo-api-sdk/models/{flow_email_additional_filters_condition_groups_inner.rb → metric_trigger_trigger_filter_condition_groups_inner.rb} +4 -4
  94. data/lib/klaviyo-api-sdk/models/mobile_push_content_create.rb +18 -5
  95. data/lib/klaviyo-api-sdk/models/mobile_push_content_update.rb +18 -5
  96. data/lib/klaviyo-api-sdk/models/mobile_push_options_on_open.rb +2 -1
  97. data/lib/klaviyo-api-sdk/models/multi_branch_split_branch_branch_filter_condition_groups_inner_conditions_inner.rb +5 -0
  98. data/lib/klaviyo-api-sdk/models/object_record_bulk_delete_job_enum.rb +35 -0
  99. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query.rb +223 -0
  100. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query_resource_object.rb +237 -0
  101. data/lib/klaviyo-api-sdk/models/{flow_push_notification_additional_filters_condition_groups_inner.rb → object_record_delete_job_create_query_resource_object_relationships.rb} +13 -15
  102. data/lib/klaviyo-api-sdk/models/object_record_delete_job_create_query_resource_object_relationships_object_records.rb +220 -0
  103. data/lib/klaviyo-api-sdk/models/object_record_delete_job_rels_records_data_inner.rb +238 -0
  104. data/lib/klaviyo-api-sdk/models/object_record_enum.rb +35 -0
  105. data/lib/klaviyo-api-sdk/models/object_schema_create_query.rb +223 -0
  106. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object.rb +246 -0
  107. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_attributes.rb +322 -0
  108. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships.rb +218 -0
  109. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships_object_type.rb +218 -0
  110. data/lib/klaviyo-api-sdk/models/object_schema_create_query_resource_object_relationships_object_type_data.rb +238 -0
  111. data/lib/klaviyo-api-sdk/models/object_schema_enum.rb +35 -0
  112. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query.rb +223 -0
  113. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query_resource_object.rb +252 -0
  114. data/lib/klaviyo-api-sdk/models/object_schema_partial_update_query_resource_object_attributes.rb +302 -0
  115. data/lib/klaviyo-api-sdk/models/object_schema_relationship_create_meta.rb +237 -0
  116. data/lib/klaviyo-api-sdk/models/{metric_property_condition_condition_group.rb → object_schema_relationship_create_query.rb} +14 -14
  117. data/lib/klaviyo-api-sdk/models/{flow_sms_additional_filters_condition_groups_inner.rb → object_schema_relationship_create_query_data_inner.rb} +37 -15
  118. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_meta.rb +224 -0
  119. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_query.rb +225 -0
  120. data/lib/klaviyo-api-sdk/models/object_schema_relationship_delete_query_data_inner.rb +247 -0
  121. data/lib/klaviyo-api-sdk/models/object_schema_relationship_partial_update_query.rb +223 -0
  122. data/lib/klaviyo-api-sdk/models/object_schema_relationship_partial_update_query_data.rb +247 -0
  123. data/lib/klaviyo-api-sdk/models/object_schema_relationship_update_meta.rb +246 -0
  124. data/lib/klaviyo-api-sdk/models/object_type_create_query.rb +223 -0
  125. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object.rb +237 -0
  126. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object_attributes.rb +307 -0
  127. data/lib/klaviyo-api-sdk/models/object_type_create_query_resource_object_attributes_object_schema.rb +224 -0
  128. data/lib/klaviyo-api-sdk/models/object_type_enum.rb +35 -0
  129. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +13 -4
  130. data/lib/klaviyo-api-sdk/models/open_tracking_subscription_parameters.rb +258 -0
  131. data/lib/klaviyo-api-sdk/models/open_tracking_unsubscription_parameters.rb +258 -0
  132. data/lib/klaviyo-api-sdk/models/opt_in_code_properties.rb +11 -1
  133. data/lib/klaviyo-api-sdk/models/patch_identifiers.rb +227 -0
  134. data/lib/klaviyo-api-sdk/models/phone_number_properties.rb +11 -1
  135. data/lib/klaviyo-api-sdk/models/price_drop_condition.rb +1 -1
  136. data/lib/klaviyo-api-sdk/models/price_drop_trigger.rb +2 -6
  137. data/lib/klaviyo-api-sdk/models/{flow_sms_additional_filters.rb → price_drop_trigger_trigger_filter.rb} +4 -4
  138. data/lib/klaviyo-api-sdk/models/{price_drop_condition_condition_group.rb → price_drop_trigger_trigger_filter_condition_groups_inner.rb} +3 -3
  139. data/lib/klaviyo-api-sdk/models/profile_event_tracked_properties.rb +19 -9
  140. data/lib/klaviyo-api-sdk/models/profile_has_not_received_email_message_condition.rb +1 -1
  141. data/lib/klaviyo-api-sdk/models/{profile_has_not_received_push_message_condition_timeframe_filter.rb → profile_has_not_received_email_message_condition_timeframe_filter.rb} +1 -1
  142. data/lib/klaviyo-api-sdk/models/profile_has_not_received_push_message_condition.rb +1 -1
  143. data/lib/klaviyo-api-sdk/models/profile_has_not_received_sms_message_condition.rb +1 -1
  144. data/lib/klaviyo-api-sdk/models/profile_meta.rb +13 -4
  145. data/lib/klaviyo-api-sdk/models/profile_not_in_flow_condition.rb +1 -1
  146. data/lib/klaviyo-api-sdk/models/profile_object_schema_enum.rb +35 -0
  147. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_create_query.rb +225 -0
  148. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_create_query_data_inner.rb +247 -0
  149. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_delete_query.rb +225 -0
  150. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_delete_query_data_inner.rb +247 -0
  151. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_partial_update_query.rb +223 -0
  152. data/lib/klaviyo-api-sdk/models/profile_object_schema_relationship_partial_update_query_data.rb +247 -0
  153. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_channel_affinity_priority_condition.rb +2 -2
  154. data/lib/klaviyo-api-sdk/models/profile_predictive_analytics_channel_affinity_rank_condition.rb +2 -2
  155. data/lib/klaviyo-api-sdk/models/profile_relationship_source.rb +330 -0
  156. data/lib/klaviyo-api-sdk/models/property_filter.rb +237 -0
  157. data/lib/klaviyo-api-sdk/models/property_source.rb +254 -0
  158. data/lib/klaviyo-api-sdk/models/push_action_button.rb +1 -5
  159. data/lib/klaviyo-api-sdk/models/push_action_button_definition.rb +261 -0
  160. data/lib/klaviyo-api-sdk/models/push_on_open_web_url.rb +268 -0
  161. data/lib/klaviyo-api-sdk/models/quote_style.rb +21 -1
  162. data/lib/klaviyo-api-sdk/models/radio_buttons_properties.rb +11 -1
  163. data/lib/klaviyo-api-sdk/models/redirect_properties.rb +2 -5
  164. data/lib/klaviyo-api-sdk/models/related_id_path.rb +273 -0
  165. data/lib/klaviyo-api-sdk/models/review_block_styles.rb +13 -13
  166. data/lib/klaviyo-api-sdk/models/review_properties.rb +11 -1
  167. data/lib/klaviyo-api-sdk/models/reviewer_name_style.rb +21 -1
  168. data/lib/klaviyo-api-sdk/models/row_v0_blocks_inner.rb +1 -0
  169. data/lib/klaviyo-api-sdk/models/signup_counter_properties.rb +11 -1
  170. data/lib/klaviyo-api-sdk/models/simple_property_mapping.rb +287 -0
  171. data/lib/klaviyo-api-sdk/models/simple_relationship_mapping.rb +287 -0
  172. data/lib/klaviyo-api-sdk/models/simple_relationship_mapping_source.rb +105 -0
  173. data/lib/klaviyo-api-sdk/models/sms_consent_checkbox_properties.rb +11 -1
  174. data/lib/klaviyo-api-sdk/models/sms_disclosure_link_text_style.rb +319 -0
  175. data/lib/klaviyo-api-sdk/models/sms_disclosure_properties.rb +11 -1
  176. data/lib/klaviyo-api-sdk/models/sms_disclosure_styles.rb +1 -1
  177. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object.rb +237 -0
  178. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object_attributes.rb +235 -0
  179. data/lib/klaviyo-api-sdk/models/source_mapping_create_query_resource_object_attributes_property_mappings_inner.rb +104 -0
  180. data/lib/klaviyo-api-sdk/models/source_mapping_enum.rb +35 -0
  181. data/lib/klaviyo-api-sdk/models/source_mapping_partial_update_query.rb +223 -0
  182. data/lib/klaviyo-api-sdk/models/source_mapping_partial_update_query_resource_object.rb +252 -0
  183. data/lib/klaviyo-api-sdk/models/spin_to_win_properties.rb +11 -1
  184. data/lib/klaviyo-api-sdk/models/string_phone_operator_string_array_filter.rb +1 -1
  185. data/lib/klaviyo-api-sdk/models/table_fallback_image_sub_block.rb +0 -13
  186. data/lib/klaviyo-api-sdk/models/table_image_sub_block.rb +0 -13
  187. data/lib/klaviyo-api-sdk/models/template_definition.rb +1 -0
  188. data/lib/klaviyo-api-sdk/models/text_properties.rb +11 -1
  189. data/lib/klaviyo-api-sdk/models/version.rb +39 -4
  190. data/lib/klaviyo-api-sdk/models/version_properties.rb +14 -4
  191. data/lib/klaviyo-api-sdk/models/version_styles.rb +15 -6
  192. data/lib/klaviyo-api-sdk/models/version_triggers_inner.rb +1 -0
  193. data/lib/klaviyo-api-sdk.rb +86 -23
  194. data/lib/klaviyo-api-sdk.rb.bak +87 -24
  195. metadata +88 -25
  196. data/lib/klaviyo-api-sdk/models/custom_object_property_condition_filter.rb +0 -117
  197. data/lib/klaviyo-api-sdk/models/flow_email_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  198. data/lib/klaviyo-api-sdk/models/flow_push_notification_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  199. data/lib/klaviyo-api-sdk/models/flow_sms_additional_filters_condition_groups_inner_conditions_inner.rb +0 -116
  200. data/lib/klaviyo-api-sdk/models/metric_property_condition_filter2.rb +0 -117
  201. data/lib/klaviyo-api-sdk/models/price_drop_condition_filter.rb +0 -225
@@ -19,9 +19,10 @@ module KlaviyoAPI
19
19
  @api_client = api_client
20
20
  end
21
21
  # Assign Template to Campaign Message
22
- # Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
22
+ # Creates a non-reusable version of the template and assigns it to the message.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/assign_template_to_campaign_message.json)
23
23
  # @param campaign_message_assign_template_query [CampaignMessageAssignTemplateQuery] Takes a reusable template, clones it, and assigns the non-reusable clone to the message.
24
24
  # @param [Hash] opts the optional parameters
25
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
25
26
  # @return [Hash<String, Object>]
26
27
  def assign_template_to_campaign_message(campaign_message_assign_template_query, opts = {})
27
28
  data, _status_code, _headers = assign_template_to_campaign_message_with_http_info(campaign_message_assign_template_query, opts)
@@ -32,9 +33,10 @@ module KlaviyoAPI
32
33
  alias create_campaign_message_assign_template assign_template_to_campaign_message
33
34
 
34
35
  # Assign Template to Campaign Message
35
- # Creates a non-reusable version of the template and assigns it to the message.&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;campaigns:write&#x60;
36
+ # Creates a non-reusable version of the template and assigns it to the message.&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/assign_template_to_campaign_message.json)
36
37
  # @param campaign_message_assign_template_query [CampaignMessageAssignTemplateQuery] Takes a reusable template, clones it, and assigns the non-reusable clone to the message.
37
38
  # @param [Hash] opts the optional parameters
39
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
38
40
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
39
41
  def assign_template_to_campaign_message_with_http_info(campaign_message_assign_template_query, opts = {})
40
42
  if @api_client.config.debugging
@@ -44,16 +46,21 @@ module KlaviyoAPI
44
46
  if @api_client.config.client_side_validation && campaign_message_assign_template_query.nil?
45
47
  fail ArgumentError, "Missing the required parameter 'campaign_message_assign_template_query' when calling CampaignsApi.assign_template_to_campaign_message"
46
48
  end
49
+ allowable_values = ["channel", "content", "content.bcc_email", "content.body", "content.cc_email", "content.from_email", "content.from_label", "content.media_url", "content.preview_text", "content.reply_to_email", "content.subject", "created_at", "id", "label", "render_options", "render_options.add_info_link", "render_options.add_opt_out_language", "render_options.add_org_prefix", "render_options.shorten_links", "send_times", "updated_at"]
50
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
51
+ fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
52
+ end
47
53
  # resource path
48
54
  local_var_path = '/api/campaign-message-assign-template'
49
55
 
50
56
  # query parameters
51
57
  query_params = opts[:query_params] || {}
58
+ query_params[:'fields[campaign-message]'] = @api_client.build_collection_param(opts[:'fields_campaign_message'], :csv) if !opts[:'fields_campaign_message'].nil?
52
59
 
53
60
  # header parameters
54
61
  header_params = opts[:header_params] || {}
55
62
  # klaviyo api revision
56
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
63
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
57
64
  # HTTP header 'Accept' (if needed)
58
65
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
59
66
  # HTTP header 'Content-Type'
@@ -95,7 +102,7 @@ module KlaviyoAPI
95
102
  alias create_campaign_message_assign_template_with_http_info assign_template_to_campaign_message_with_http_info
96
103
 
97
104
  # Cancel Campaign Send
98
- # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
105
+ # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/cancel_campaign_send.json)
99
106
  # @param id [String] The ID of the currently sending campaign to cancel or revert
100
107
  # @param campaign_send_job_partial_update_query [CampaignSendJobPartialUpdateQuery] Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT
101
108
  # @param [Hash] opts the optional parameters
@@ -109,7 +116,7 @@ module KlaviyoAPI
109
116
  alias update_campaign_send_job cancel_campaign_send
110
117
 
111
118
  # Cancel Campaign Send
112
- # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT&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;campaigns:write&#x60;
119
+ # Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/cancel_campaign_send.json)
113
120
  # @param id [String] The ID of the currently sending campaign to cancel or revert
114
121
  # @param campaign_send_job_partial_update_query [CampaignSendJobPartialUpdateQuery] Permanently cancel the campaign, setting the status to CANCELED or revert the campaign, setting the status back to DRAFT
115
122
  # @param [Hash] opts the optional parameters
@@ -135,7 +142,7 @@ module KlaviyoAPI
135
142
  # header parameters
136
143
  header_params = opts[:header_params] || {}
137
144
  # klaviyo api revision
138
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
145
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
139
146
  # HTTP header 'Accept' (if needed)
140
147
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
141
148
  # HTTP header 'Content-Type'
@@ -177,9 +184,10 @@ module KlaviyoAPI
177
184
  alias update_campaign_send_job_with_http_info cancel_campaign_send_with_http_info
178
185
 
179
186
  # Create Campaign
180
- # Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
187
+ # Creates a campaign given a set of parameters, then returns it.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign.json)
181
188
  # @param campaign_create_query [CampaignCreateQuery] Creates a campaign from parameters
182
189
  # @param [Hash] opts the optional parameters
190
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
183
191
  # @return [Hash<String, Object>]
184
192
  def create_campaign(campaign_create_query, opts = {})
185
193
  data, _status_code, _headers = create_campaign_with_http_info(campaign_create_query, opts)
@@ -187,9 +195,10 @@ module KlaviyoAPI
187
195
  end
188
196
 
189
197
  # Create Campaign
190
- # Creates a campaign given a set of parameters, then returns it.&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;campaigns:write&#x60;
198
+ # Creates a campaign given a set of parameters, then returns it.&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign.json)
191
199
  # @param campaign_create_query [CampaignCreateQuery] Creates a campaign from parameters
192
200
  # @param [Hash] opts the optional parameters
201
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
193
202
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
194
203
  def create_campaign_with_http_info(campaign_create_query, opts = {})
195
204
  if @api_client.config.debugging
@@ -199,16 +208,21 @@ module KlaviyoAPI
199
208
  if @api_client.config.client_side_validation && campaign_create_query.nil?
200
209
  fail ArgumentError, "Missing the required parameter 'campaign_create_query' when calling CampaignsApi.create_campaign"
201
210
  end
211
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
212
+ if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
213
+ fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
214
+ end
202
215
  # resource path
203
216
  local_var_path = '/api/campaigns'
204
217
 
205
218
  # query parameters
206
219
  query_params = opts[:query_params] || {}
220
+ query_params[:'fields[campaign]'] = @api_client.build_collection_param(opts[:'fields_campaign'], :csv) if !opts[:'fields_campaign'].nil?
207
221
 
208
222
  # header parameters
209
223
  header_params = opts[:header_params] || {}
210
224
  # klaviyo api revision
211
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
225
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
212
226
  # HTTP header 'Accept' (if needed)
213
227
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
214
228
  # HTTP header 'Content-Type'
@@ -247,9 +261,10 @@ module KlaviyoAPI
247
261
  end
248
262
 
249
263
  # Create Campaign Clone
250
- # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
264
+ # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign_clone.json)
251
265
  # @param campaign_clone_query [CampaignCloneQuery] Clones a campaign from an existing campaign
252
266
  # @param [Hash] opts the optional parameters
267
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
253
268
  # @return [Hash<String, Object>]
254
269
  def create_campaign_clone(campaign_clone_query, opts = {})
255
270
  data, _status_code, _headers = create_campaign_clone_with_http_info(campaign_clone_query, opts)
@@ -260,9 +275,10 @@ module KlaviyoAPI
260
275
  alias clone_campaign create_campaign_clone
261
276
 
262
277
  # Create Campaign Clone
263
- # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.&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;campaigns:write&#x60;
278
+ # Clones an existing campaign, returning a new campaign based on the original with a new ID and name.&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/create_campaign_clone.json)
264
279
  # @param campaign_clone_query [CampaignCloneQuery] Clones a campaign from an existing campaign
265
280
  # @param [Hash] opts the optional parameters
281
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
266
282
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
267
283
  def create_campaign_clone_with_http_info(campaign_clone_query, opts = {})
268
284
  if @api_client.config.debugging
@@ -272,16 +288,21 @@ module KlaviyoAPI
272
288
  if @api_client.config.client_side_validation && campaign_clone_query.nil?
273
289
  fail ArgumentError, "Missing the required parameter 'campaign_clone_query' when calling CampaignsApi.create_campaign_clone"
274
290
  end
291
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
292
+ if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
293
+ fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
294
+ end
275
295
  # resource path
276
296
  local_var_path = '/api/campaign-clone'
277
297
 
278
298
  # query parameters
279
299
  query_params = opts[:query_params] || {}
300
+ query_params[:'fields[campaign]'] = @api_client.build_collection_param(opts[:'fields_campaign'], :csv) if !opts[:'fields_campaign'].nil?
280
301
 
281
302
  # header parameters
282
303
  header_params = opts[:header_params] || {}
283
304
  # klaviyo api revision
284
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
305
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
285
306
  # HTTP header 'Accept' (if needed)
286
307
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
287
308
  # HTTP header 'Content-Type'
@@ -323,7 +344,7 @@ module KlaviyoAPI
323
344
  alias clone_campaign_with_http_info create_campaign_clone_with_http_info
324
345
 
325
346
  # Delete Campaign
326
- # Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
347
+ # Delete a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_campaign.json)
327
348
  # @param id [String] The campaign ID to be deleted
328
349
  # @param [Hash] opts the optional parameters
329
350
  # @return [nil]
@@ -333,7 +354,7 @@ module KlaviyoAPI
333
354
  end
334
355
 
335
356
  # Delete Campaign
336
- # Delete a campaign with the given campaign 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;campaigns:write&#x60;
357
+ # Delete a campaign with the given campaign 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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/delete_campaign.json)
337
358
  # @param id [String] The campaign ID to be deleted
338
359
  # @param [Hash] opts the optional parameters
339
360
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
@@ -354,7 +375,7 @@ module KlaviyoAPI
354
375
  # header parameters
355
376
  header_params = opts[:header_params] || {}
356
377
  # klaviyo api revision
357
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
378
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
358
379
  # HTTP header 'Accept' (if needed)
359
380
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
360
381
 
@@ -388,13 +409,13 @@ module KlaviyoAPI
388
409
  end
389
410
 
390
411
  # Get Campaign
391
- # Returns a specific campaign based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
412
+ # Returns a specific campaign based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign.json)
392
413
  # @param id [String] The campaign ID to be retrieved
393
414
  # @param [Hash] opts the optional parameters
394
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
395
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
396
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
397
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
415
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
416
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
417
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
418
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
398
419
  # @return [Hash<String, Object>]
399
420
  def get_campaign(id, opts = {})
400
421
  data, _status_code, _headers = get_campaign_with_http_info(id, opts)
@@ -402,13 +423,13 @@ module KlaviyoAPI
402
423
  end
403
424
 
404
425
  # Get Campaign
405
- # Returns a specific campaign based on a required 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;campaigns:read&#x60;
426
+ # Returns a specific campaign based on a required 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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign.json)
406
427
  # @param id [String] The campaign ID to be retrieved
407
428
  # @param [Hash] opts the optional parameters
408
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
409
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
410
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
411
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
429
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
430
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
431
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
432
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
412
433
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
413
434
  def get_campaign_with_http_info(id, opts = {})
414
435
  if @api_client.config.debugging
@@ -418,15 +439,15 @@ module KlaviyoAPI
418
439
  if @api_client.config.client_side_validation && id.nil?
419
440
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign"
420
441
  end
421
- allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "send_times", "updated_at"]
442
+ allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.on_open.web_url", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at"]
422
443
  if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
423
444
  fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
424
445
  end
425
- allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
446
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
426
447
  if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
427
448
  fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
428
449
  end
429
- allowable_values = ["name"]
450
+ allowable_values = ["id", "name"]
430
451
  if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
431
452
  fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
432
453
  end
@@ -447,7 +468,7 @@ module KlaviyoAPI
447
468
  # header parameters
448
469
  header_params = opts[:header_params] || {}
449
470
  # klaviyo api revision
450
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
471
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
451
472
  # HTTP header 'Accept' (if needed)
452
473
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
453
474
 
@@ -481,10 +502,10 @@ module KlaviyoAPI
481
502
  end
482
503
 
483
504
  # Get Campaign for Campaign Message
484
- # Return the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
505
+ # Return the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_for_campaign_message.json)
485
506
  # @param id [String]
486
507
  # @param [Hash] opts the optional parameters
487
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
508
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
488
509
  # @return [Hash<String, Object>]
489
510
  def get_campaign_for_campaign_message(id, opts = {})
490
511
  data, _status_code, _headers = get_campaign_for_campaign_message_with_http_info(id, opts)
@@ -495,10 +516,10 @@ module KlaviyoAPI
495
516
  alias get_campaign_message_campaign get_campaign_for_campaign_message
496
517
 
497
518
  # Get Campaign for Campaign Message
498
- # Return the related campaign&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;campaigns:read&#x60;
519
+ # Return the related campaign&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_for_campaign_message.json)
499
520
  # @param id [String]
500
521
  # @param [Hash] opts the optional parameters
501
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
522
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
502
523
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
503
524
  def get_campaign_for_campaign_message_with_http_info(id, opts = {})
504
525
  if @api_client.config.debugging
@@ -508,7 +529,7 @@ module KlaviyoAPI
508
529
  if @api_client.config.client_side_validation && id.nil?
509
530
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_for_campaign_message"
510
531
  end
511
- allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
532
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
512
533
  if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
513
534
  fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
514
535
  end
@@ -522,7 +543,7 @@ module KlaviyoAPI
522
543
  # header parameters
523
544
  header_params = opts[:header_params] || {}
524
545
  # klaviyo api revision
525
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
546
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
526
547
  # HTTP header 'Accept' (if needed)
527
548
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
528
549
 
@@ -559,7 +580,7 @@ module KlaviyoAPI
559
580
  alias get_campaign_message_campaign_with_http_info get_campaign_for_campaign_message_with_http_info
560
581
 
561
582
  # Get Campaign ID for Campaign Message
562
- # Returns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
583
+ # Returns the ID of the related campaign<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_id_for_campaign_message.json)
563
584
  # @param id [String]
564
585
  # @param [Hash] opts the optional parameters
565
586
  # @return [Hash<String, Object>]
@@ -572,7 +593,7 @@ module KlaviyoAPI
572
593
  alias get_campaign_message_relationships_campaign get_campaign_id_for_campaign_message
573
594
 
574
595
  # Get Campaign ID for Campaign Message
575
- # Returns the ID of the related campaign&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;campaigns:read&#x60;
596
+ # Returns the ID of the related campaign&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_id_for_campaign_message.json)
576
597
  # @param id [String]
577
598
  # @param [Hash] opts the optional parameters
578
599
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -593,7 +614,7 @@ module KlaviyoAPI
593
614
  # header parameters
594
615
  header_params = opts[:header_params] || {}
595
616
  # klaviyo api revision
596
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
617
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
597
618
  # HTTP header 'Accept' (if needed)
598
619
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
599
620
 
@@ -630,14 +651,14 @@ module KlaviyoAPI
630
651
  alias get_campaign_message_relationships_campaign_with_http_info get_campaign_id_for_campaign_message_with_http_info
631
652
 
632
653
  # Get Campaign Message
633
- # Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
654
+ # Returns a specific message based on a required id.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_message.json)
634
655
  # @param id [String] The message ID to be retrieved
635
656
  # @param [Hash] opts the optional parameters
636
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
637
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
638
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
639
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
640
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
657
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
658
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
659
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
660
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
661
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
641
662
  # @return [Hash<String, Object>]
642
663
  def get_campaign_message(id, opts = {})
643
664
  data, _status_code, _headers = get_campaign_message_with_http_info(id, opts)
@@ -645,14 +666,14 @@ module KlaviyoAPI
645
666
  end
646
667
 
647
668
  # Get Campaign Message
648
- # Returns a specific message based on a required 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;campaigns:read&#x60;
669
+ # Returns a specific message based on a required 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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_message.json)
649
670
  # @param id [String] The message ID to be retrieved
650
671
  # @param [Hash] opts the optional parameters
651
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
652
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
653
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
654
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
655
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
672
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
673
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
674
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
675
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
676
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
656
677
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
657
678
  def get_campaign_message_with_http_info(id, opts = {})
658
679
  if @api_client.config.debugging
@@ -662,19 +683,19 @@ module KlaviyoAPI
662
683
  if @api_client.config.client_side_validation && id.nil?
663
684
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_message"
664
685
  end
665
- allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "send_times", "updated_at"]
686
+ allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.on_open.web_url", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at"]
666
687
  if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
667
688
  fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
668
689
  end
669
- allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
690
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
670
691
  if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
671
692
  fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
672
693
  end
673
- allowable_values = ["format", "hidden", "image_url", "name", "size", "updated_at"]
694
+ allowable_values = ["format", "hidden", "id", "image_url", "name", "size", "updated_at"]
674
695
  if @api_client.config.client_side_validation && opts[:'fields_image'] && !opts[:'fields_image'].all? { |item| allowable_values.include?(item) }
675
696
  fail ArgumentError, "invalid value for \"fields_image\", must include one of #{allowable_values}"
676
697
  end
677
- allowable_values = ["amp", "created", "editor_type", "html", "name", "text", "updated"]
698
+ allowable_values = ["amp", "created", "editor_type", "html", "id", "name", "text", "updated"]
678
699
  if @api_client.config.client_side_validation && opts[:'fields_template'] && !opts[:'fields_template'].all? { |item| allowable_values.include?(item) }
679
700
  fail ArgumentError, "invalid value for \"fields_template\", must include one of #{allowable_values}"
680
701
  end
@@ -696,7 +717,7 @@ module KlaviyoAPI
696
717
  # header parameters
697
718
  header_params = opts[:header_params] || {}
698
719
  # klaviyo api revision
699
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
720
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
700
721
  # HTTP header 'Accept' (if needed)
701
722
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
702
723
 
@@ -730,10 +751,10 @@ module KlaviyoAPI
730
751
  end
731
752
 
732
753
  # Get Campaign Recipient Estimation
733
- # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
754
+ # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation.json)
734
755
  # @param id [String] The ID of the campaign for which to get the estimated number of recipients
735
756
  # @param [Hash] opts the optional parameters
736
- # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
757
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
737
758
  # @return [Hash<String, Object>]
738
759
  def get_campaign_recipient_estimation(id, opts = {})
739
760
  data, _status_code, _headers = get_campaign_recipient_estimation_with_http_info(id, opts)
@@ -741,10 +762,10 @@ module KlaviyoAPI
741
762
  end
742
763
 
743
764
  # Get Campaign Recipient Estimation
744
- # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&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;campaigns:read&#x60;
765
+ # Get the estimated recipient count for a campaign with the provided campaign ID. You can refresh this count by using the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation.json)
745
766
  # @param id [String] The ID of the campaign for which to get the estimated number of recipients
746
767
  # @param [Hash] opts the optional parameters
747
- # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
768
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
748
769
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
749
770
  def get_campaign_recipient_estimation_with_http_info(id, opts = {})
750
771
  if @api_client.config.debugging
@@ -754,7 +775,7 @@ module KlaviyoAPI
754
775
  if @api_client.config.client_side_validation && id.nil?
755
776
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_recipient_estimation"
756
777
  end
757
- allowable_values = ["estimated_recipient_count"]
778
+ allowable_values = ["estimated_recipient_count", "id"]
758
779
  if @api_client.config.client_side_validation && opts[:'fields_campaign_recipient_estimation'] && !opts[:'fields_campaign_recipient_estimation'].all? { |item| allowable_values.include?(item) }
759
780
  fail ArgumentError, "invalid value for \"fields_campaign_recipient_estimation\", must include one of #{allowable_values}"
760
781
  end
@@ -768,7 +789,7 @@ module KlaviyoAPI
768
789
  # header parameters
769
790
  header_params = opts[:header_params] || {}
770
791
  # klaviyo api revision
771
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
792
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
772
793
  # HTTP header 'Accept' (if needed)
773
794
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
774
795
 
@@ -802,10 +823,10 @@ module KlaviyoAPI
802
823
  end
803
824
 
804
825
  # Get Campaign Recipient Estimation Job
805
- # Retrieve the status of a recipient estimation job triggered with the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
826
+ # Retrieve the status of a recipient estimation job triggered with the `Create Campaign Recipient Estimation Job` endpoint.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation_job.json)
806
827
  # @param id [String] The ID of the campaign to get recipient estimation status
807
828
  # @param [Hash] opts the optional parameters
808
- # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
829
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
809
830
  # @return [Hash<String, Object>]
810
831
  def get_campaign_recipient_estimation_job(id, opts = {})
811
832
  data, _status_code, _headers = get_campaign_recipient_estimation_job_with_http_info(id, opts)
@@ -813,10 +834,10 @@ module KlaviyoAPI
813
834
  end
814
835
 
815
836
  # Get Campaign Recipient Estimation Job
816
- # Retrieve the status of a recipient estimation job triggered with the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&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;campaigns:read&#x60;
837
+ # Retrieve the status of a recipient estimation job triggered with the &#x60;Create Campaign Recipient Estimation Job&#x60; endpoint.&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_recipient_estimation_job.json)
817
838
  # @param id [String] The ID of the campaign to get recipient estimation status
818
839
  # @param [Hash] opts the optional parameters
819
- # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
840
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
820
841
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
821
842
  def get_campaign_recipient_estimation_job_with_http_info(id, opts = {})
822
843
  if @api_client.config.debugging
@@ -826,7 +847,7 @@ module KlaviyoAPI
826
847
  if @api_client.config.client_side_validation && id.nil?
827
848
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_recipient_estimation_job"
828
849
  end
829
- allowable_values = ["status"]
850
+ allowable_values = ["id", "status"]
830
851
  if @api_client.config.client_side_validation && opts[:'fields_campaign_recipient_estimation_job'] && !opts[:'fields_campaign_recipient_estimation_job'].all? { |item| allowable_values.include?(item) }
831
852
  fail ArgumentError, "invalid value for \"fields_campaign_recipient_estimation_job\", must include one of #{allowable_values}"
832
853
  end
@@ -840,7 +861,7 @@ module KlaviyoAPI
840
861
  # header parameters
841
862
  header_params = opts[:header_params] || {}
842
863
  # klaviyo api revision
843
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
864
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
844
865
  # HTTP header 'Accept' (if needed)
845
866
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
846
867
 
@@ -874,10 +895,10 @@ module KlaviyoAPI
874
895
  end
875
896
 
876
897
  # Get Campaign Send Job
877
- # Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
898
+ # Get a campaign send job<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_send_job.json)
878
899
  # @param id [String] The ID of the campaign to send
879
900
  # @param [Hash] opts the optional parameters
880
- # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
901
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
881
902
  # @return [Hash<String, Object>]
882
903
  def get_campaign_send_job(id, opts = {})
883
904
  data, _status_code, _headers = get_campaign_send_job_with_http_info(id, opts)
@@ -885,10 +906,10 @@ module KlaviyoAPI
885
906
  end
886
907
 
887
908
  # Get Campaign Send Job
888
- # Get a campaign send job&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;campaigns:read&#x60;
909
+ # Get a campaign send job&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaign_send_job.json)
889
910
  # @param id [String] The ID of the campaign to send
890
911
  # @param [Hash] opts the optional parameters
891
- # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
912
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
892
913
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
893
914
  def get_campaign_send_job_with_http_info(id, opts = {})
894
915
  if @api_client.config.debugging
@@ -898,7 +919,7 @@ module KlaviyoAPI
898
919
  if @api_client.config.client_side_validation && id.nil?
899
920
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_campaign_send_job"
900
921
  end
901
- allowable_values = ["status"]
922
+ allowable_values = ["id", "status"]
902
923
  if @api_client.config.client_side_validation && opts[:'fields_campaign_send_job'] && !opts[:'fields_campaign_send_job'].all? { |item| allowable_values.include?(item) }
903
924
  fail ArgumentError, "invalid value for \"fields_campaign_send_job\", must include one of #{allowable_values}"
904
925
  end
@@ -912,7 +933,7 @@ module KlaviyoAPI
912
933
  # header parameters
913
934
  header_params = opts[:header_params] || {}
914
935
  # klaviyo api revision
915
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
936
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
916
937
  # HTTP header 'Accept' (if needed)
917
938
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
918
939
 
@@ -946,15 +967,16 @@ module KlaviyoAPI
946
967
  end
947
968
 
948
969
  # Get Campaigns
949
- # Returns some or all campaigns based on filters. A channel filter is required to list campaigns. Please provide either: `?filter=equals(messages.channel,'email')` to list email campaigns, or `?filter=equals(messages.channel,'sms')` to list SMS campaigns. `?filter=equals(messages.channel,'mobile_push')` to list mobile push campaigns.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
950
- # @param filter [String] For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;&lt;br&gt;&#x60;messages.channel&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
970
+ # Returns some or all campaigns based on filters. A channel filter is required to list campaigns. Please provide either: `?filter=equals(messages.channel,'email')` to list email campaigns, or `?filter=equals(messages.channel,'sms')` to list SMS campaigns. `?filter=equals(messages.channel,'mobile_push')` to list mobile push campaigns.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaigns.json)
971
+ # @param filter [String] For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;&lt;br&gt;&#x60;messages.channel&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
951
972
  # @param [Hash] opts the optional parameters
952
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
953
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
954
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
955
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
956
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
957
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
973
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
974
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
975
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
976
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
977
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination
978
+ # @option opts [Integer] :page_size Default: 100. Min: 1. Max: 100. (default to 100)
979
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sorting
958
980
  # @return [Hash<String, Object>]
959
981
  def get_campaigns(filter, opts = {})
960
982
  data, _status_code, _headers = get_campaigns_with_http_info(filter, opts)
@@ -962,15 +984,16 @@ module KlaviyoAPI
962
984
  end
963
985
 
964
986
  # Get Campaigns
965
- # Returns some or all campaigns based on filters. A channel filter is required to list campaigns. Please provide either: &#x60;?filter&#x3D;equals(messages.channel,&#39;email&#39;)&#x60; to list email campaigns, or &#x60;?filter&#x3D;equals(messages.channel,&#39;sms&#39;)&#x60; to list SMS campaigns. &#x60;?filter&#x3D;equals(messages.channel,&#39;mobile_push&#39;)&#x60; to list mobile push campaigns.&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;campaigns:read&#x60;
966
- # @param filter [String] For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;&lt;br&gt;&#x60;messages.channel&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
987
+ # Returns some or all campaigns based on filters. A channel filter is required to list campaigns. Please provide either: &#x60;?filter&#x3D;equals(messages.channel,&#39;email&#39;)&#x60; to list email campaigns, or &#x60;?filter&#x3D;equals(messages.channel,&#39;sms&#39;)&#x60; to list SMS campaigns. &#x60;?filter&#x3D;equals(messages.channel,&#39;mobile_push&#39;)&#x60; to list mobile push campaigns.&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_campaigns.json)
988
+ # @param filter [String] For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;id&#x60;: &#x60;any&#x60;&lt;br&gt;&#x60;messages.channel&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;&lt;br&gt;&#x60;status&#x60;: &#x60;any&#x60;, &#x60;equals&#x60;&lt;br&gt;&#x60;archived&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;created_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;scheduled_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;&lt;br&gt;&#x60;updated_at&#x60;: &#x60;greater-or-equal&#x60;, &#x60;greater-than&#x60;, &#x60;less-or-equal&#x60;, &#x60;less-than&#x60;
967
989
  # @param [Hash] opts the optional parameters
968
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
969
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
970
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
971
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
972
- # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
973
- # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
990
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
991
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
992
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
993
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
994
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#pagination
995
+ # @option opts [Integer] :page_size Default: 100. Min: 1. Max: 100. (default to 100)
996
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sorting
974
997
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
975
998
  def get_campaigns_with_http_info(filter, opts = {})
976
999
  if @api_client.config.debugging
@@ -980,15 +1003,15 @@ module KlaviyoAPI
980
1003
  if @api_client.config.client_side_validation && filter.nil?
981
1004
  fail ArgumentError, "Missing the required parameter 'filter' when calling CampaignsApi.get_campaigns"
982
1005
  end
983
- allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "send_times", "updated_at"]
1006
+ allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.on_open.web_url", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at"]
984
1007
  if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
985
1008
  fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
986
1009
  end
987
- allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
1010
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
988
1011
  if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
989
1012
  fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
990
1013
  end
991
- allowable_values = ["name"]
1014
+ allowable_values = ["id", "name"]
992
1015
  if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
993
1016
  fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
994
1017
  end
@@ -996,6 +1019,14 @@ module KlaviyoAPI
996
1019
  if @api_client.config.client_side_validation && opts[:'include'] && !opts[:'include'].all? { |item| allowable_values.include?(item) }
997
1020
  fail ArgumentError, "invalid value for \"include\", must include one of #{allowable_values}"
998
1021
  end
1022
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
1023
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CampaignsApi.get_campaigns, must be smaller than or equal to 100.'
1024
+ end
1025
+
1026
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
1027
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CampaignsApi.get_campaigns, must be greater than or equal to 1.'
1028
+ end
1029
+
999
1030
  allowable_values = ["created_at", "-created_at", "id", "-id", "name", "-name", "scheduled_at", "-scheduled_at", "updated_at", "-updated_at"]
1000
1031
  if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1001
1032
  fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
@@ -1011,12 +1042,13 @@ module KlaviyoAPI
1011
1042
  query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
1012
1043
  query_params[:'include'] = @api_client.build_collection_param(opts[:'include'], :csv) if !opts[:'include'].nil?
1013
1044
  query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1045
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1014
1046
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1015
1047
 
1016
1048
  # header parameters
1017
1049
  header_params = opts[:header_params] || {}
1018
1050
  # klaviyo api revision
1019
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1051
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1020
1052
  # HTTP header 'Accept' (if needed)
1021
1053
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1022
1054
 
@@ -1050,10 +1082,10 @@ module KlaviyoAPI
1050
1082
  end
1051
1083
 
1052
1084
  # Get Image for Campaign Message
1053
- # Return the related image for a given campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `images:read`
1085
+ # Return the related image for a given campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `images:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_for_campaign_message.json)
1054
1086
  # @param id [String]
1055
1087
  # @param [Hash] opts the optional parameters
1056
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1088
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1057
1089
  # @return [Hash<String, Object>]
1058
1090
  def get_image_for_campaign_message(id, opts = {})
1059
1091
  data, _status_code, _headers = get_image_for_campaign_message_with_http_info(id, opts)
@@ -1064,10 +1096,10 @@ module KlaviyoAPI
1064
1096
  alias get_campaign_message_image get_image_for_campaign_message
1065
1097
 
1066
1098
  # Get Image for Campaign Message
1067
- # Return the related image for a given campaign message&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;campaigns:read&#x60; &#x60;images:read&#x60;
1099
+ # Return the related image for a given campaign message&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;campaigns:read&#x60; &#x60;images:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_for_campaign_message.json)
1068
1100
  # @param id [String]
1069
1101
  # @param [Hash] opts the optional parameters
1070
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1102
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1071
1103
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1072
1104
  def get_image_for_campaign_message_with_http_info(id, opts = {})
1073
1105
  if @api_client.config.debugging
@@ -1077,7 +1109,7 @@ module KlaviyoAPI
1077
1109
  if @api_client.config.client_side_validation && id.nil?
1078
1110
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_image_for_campaign_message"
1079
1111
  end
1080
- allowable_values = ["format", "hidden", "image_url", "name", "size", "updated_at"]
1112
+ allowable_values = ["format", "hidden", "id", "image_url", "name", "size", "updated_at"]
1081
1113
  if @api_client.config.client_side_validation && opts[:'fields_image'] && !opts[:'fields_image'].all? { |item| allowable_values.include?(item) }
1082
1114
  fail ArgumentError, "invalid value for \"fields_image\", must include one of #{allowable_values}"
1083
1115
  end
@@ -1091,7 +1123,7 @@ module KlaviyoAPI
1091
1123
  # header parameters
1092
1124
  header_params = opts[:header_params] || {}
1093
1125
  # klaviyo api revision
1094
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1126
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1095
1127
  # HTTP header 'Accept' (if needed)
1096
1128
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1097
1129
 
@@ -1128,7 +1160,7 @@ module KlaviyoAPI
1128
1160
  alias get_campaign_message_image_with_http_info get_image_for_campaign_message_with_http_info
1129
1161
 
1130
1162
  # Get Image ID for Campaign Message
1131
- # Returns the ID of the related image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `images:read`
1163
+ # Returns the ID of the related image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `images:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_id_for_campaign_message.json)
1132
1164
  # @param id [String]
1133
1165
  # @param [Hash] opts the optional parameters
1134
1166
  # @return [Hash<String, Object>]
@@ -1141,7 +1173,7 @@ module KlaviyoAPI
1141
1173
  alias get_campaign_message_relationships_image get_image_id_for_campaign_message
1142
1174
 
1143
1175
  # Get Image ID for Campaign Message
1144
- # Returns the ID of the related image&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;campaigns:read&#x60; &#x60;images:read&#x60;
1176
+ # Returns the ID of the related image&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;campaigns:read&#x60; &#x60;images:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_image_id_for_campaign_message.json)
1145
1177
  # @param id [String]
1146
1178
  # @param [Hash] opts the optional parameters
1147
1179
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -1162,7 +1194,7 @@ module KlaviyoAPI
1162
1194
  # header parameters
1163
1195
  header_params = opts[:header_params] || {}
1164
1196
  # klaviyo api revision
1165
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1197
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1166
1198
  # HTTP header 'Accept' (if needed)
1167
1199
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1168
1200
 
@@ -1199,7 +1231,7 @@ module KlaviyoAPI
1199
1231
  alias get_campaign_message_relationships_image_with_http_info get_image_id_for_campaign_message_with_http_info
1200
1232
 
1201
1233
  # Get Message IDs for Campaign
1202
- # Returns the IDs of all messages associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
1234
+ # Returns the IDs of all messages associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_message_ids_for_campaign.json)
1203
1235
  # @param id [String]
1204
1236
  # @param [Hash] opts the optional parameters
1205
1237
  # @return [Hash<String, Object>]
@@ -1215,7 +1247,7 @@ module KlaviyoAPI
1215
1247
  alias get_campaign_relationships_messages get_message_ids_for_campaign
1216
1248
 
1217
1249
  # Get Message IDs for Campaign
1218
- # Returns the IDs of all messages associated with the given campaign.&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;campaigns:read&#x60;
1250
+ # Returns the IDs of all messages associated with the given campaign.&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_message_ids_for_campaign.json)
1219
1251
  # @param id [String]
1220
1252
  # @param [Hash] opts the optional parameters
1221
1253
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -1236,7 +1268,7 @@ module KlaviyoAPI
1236
1268
  # header parameters
1237
1269
  header_params = opts[:header_params] || {}
1238
1270
  # klaviyo api revision
1239
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1271
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1240
1272
  # HTTP header 'Accept' (if needed)
1241
1273
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1242
1274
 
@@ -1276,14 +1308,14 @@ module KlaviyoAPI
1276
1308
  alias get_campaign_relationships_messages_with_http_info get_message_ids_for_campaign_with_http_info
1277
1309
 
1278
1310
  # Get Messages for Campaign
1279
- # Return all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read`
1311
+ # Return all messages that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_messages_for_campaign.json)
1280
1312
  # @param id [String]
1281
1313
  # @param [Hash] opts the optional parameters
1282
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1283
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1284
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1285
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1286
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
1314
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1315
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1316
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1317
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1318
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
1287
1319
  # @return [Hash<String, Object>]
1288
1320
  def get_messages_for_campaign(id, opts = {})
1289
1321
  data, _status_code, _headers = get_messages_for_campaign_with_http_info(id, opts)
@@ -1297,14 +1329,14 @@ module KlaviyoAPI
1297
1329
  alias get_campaign_messages get_messages_for_campaign
1298
1330
 
1299
1331
  # Get Messages for Campaign
1300
- # Return all messages that belong to the given campaign.&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;campaigns:read&#x60;
1332
+ # Return all messages that belong to the given campaign.&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;campaigns:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_messages_for_campaign.json)
1301
1333
  # @param id [String]
1302
1334
  # @param [Hash] opts the optional parameters
1303
- # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1304
- # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1305
- # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1306
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1307
- # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
1335
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1336
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1337
+ # @option opts [Array<String>] :fields_image For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1338
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1339
+ # @option opts [Array<String>] :include For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#relationships
1308
1340
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1309
1341
  def get_messages_for_campaign_with_http_info(id, opts = {})
1310
1342
  if @api_client.config.debugging
@@ -1314,19 +1346,19 @@ module KlaviyoAPI
1314
1346
  if @api_client.config.client_side_validation && id.nil?
1315
1347
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_messages_for_campaign"
1316
1348
  end
1317
- allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "send_times", "updated_at"]
1349
+ allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.on_open.web_url", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at"]
1318
1350
  if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
1319
1351
  fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
1320
1352
  end
1321
- allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
1353
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
1322
1354
  if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
1323
1355
  fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
1324
1356
  end
1325
- allowable_values = ["format", "hidden", "image_url", "name", "size", "updated_at"]
1357
+ allowable_values = ["format", "hidden", "id", "image_url", "name", "size", "updated_at"]
1326
1358
  if @api_client.config.client_side_validation && opts[:'fields_image'] && !opts[:'fields_image'].all? { |item| allowable_values.include?(item) }
1327
1359
  fail ArgumentError, "invalid value for \"fields_image\", must include one of #{allowable_values}"
1328
1360
  end
1329
- allowable_values = ["amp", "created", "editor_type", "html", "name", "text", "updated"]
1361
+ allowable_values = ["amp", "created", "editor_type", "html", "id", "name", "text", "updated"]
1330
1362
  if @api_client.config.client_side_validation && opts[:'fields_template'] && !opts[:'fields_template'].all? { |item| allowable_values.include?(item) }
1331
1363
  fail ArgumentError, "invalid value for \"fields_template\", must include one of #{allowable_values}"
1332
1364
  end
@@ -1348,7 +1380,7 @@ module KlaviyoAPI
1348
1380
  # header parameters
1349
1381
  header_params = opts[:header_params] || {}
1350
1382
  # klaviyo api revision
1351
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1383
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1352
1384
  # HTTP header 'Accept' (if needed)
1353
1385
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1354
1386
 
@@ -1388,7 +1420,7 @@ module KlaviyoAPI
1388
1420
  alias get_campaign_messages_with_http_info get_messages_for_campaign_with_http_info
1389
1421
 
1390
1422
  # Get Tag IDs for Campaign
1391
- # Returns the IDs of all tags associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `campaigns:read` `tags:read`
1423
+ # Returns the IDs of all tags associated with the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `campaigns:read` `tags:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tag_ids_for_campaign.json)
1392
1424
  # @param id [String]
1393
1425
  # @param [Hash] opts the optional parameters
1394
1426
  # @return [Hash<String, Object>]
@@ -1401,7 +1433,7 @@ module KlaviyoAPI
1401
1433
  alias get_campaign_relationships_tags get_tag_ids_for_campaign
1402
1434
 
1403
1435
  # Get Tag IDs for Campaign
1404
- # Returns the IDs of all tags associated with the given campaign.&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;campaigns:read&#x60; &#x60;tags:read&#x60;
1436
+ # Returns the IDs of all tags associated with the given campaign.&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;campaigns:read&#x60; &#x60;tags:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tag_ids_for_campaign.json)
1405
1437
  # @param id [String]
1406
1438
  # @param [Hash] opts the optional parameters
1407
1439
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -1422,7 +1454,7 @@ module KlaviyoAPI
1422
1454
  # header parameters
1423
1455
  header_params = opts[:header_params] || {}
1424
1456
  # klaviyo api revision
1425
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1457
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1426
1458
  # HTTP header 'Accept' (if needed)
1427
1459
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1428
1460
 
@@ -1459,10 +1491,10 @@ module KlaviyoAPI
1459
1491
  alias get_campaign_relationships_tags_with_http_info get_tag_ids_for_campaign_with_http_info
1460
1492
 
1461
1493
  # Get Tags for Campaign
1462
- # Return all tags that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `campaigns:read` `tags:read`
1494
+ # Return all tags that belong to the given campaign.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `campaigns:read` `tags:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tags_for_campaign.json)
1463
1495
  # @param id [String]
1464
1496
  # @param [Hash] opts the optional parameters
1465
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1497
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1466
1498
  # @return [Hash<String, Object>]
1467
1499
  def get_tags_for_campaign(id, opts = {})
1468
1500
  data, _status_code, _headers = get_tags_for_campaign_with_http_info(id, opts)
@@ -1473,10 +1505,10 @@ module KlaviyoAPI
1473
1505
  alias get_campaign_tags get_tags_for_campaign
1474
1506
 
1475
1507
  # Get Tags for Campaign
1476
- # Return all tags that belong to the given campaign.&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;campaigns:read&#x60; &#x60;tags:read&#x60;
1508
+ # Return all tags that belong to the given campaign.&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;campaigns:read&#x60; &#x60;tags:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_tags_for_campaign.json)
1477
1509
  # @param id [String]
1478
1510
  # @param [Hash] opts the optional parameters
1479
- # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1511
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1480
1512
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1481
1513
  def get_tags_for_campaign_with_http_info(id, opts = {})
1482
1514
  if @api_client.config.debugging
@@ -1486,7 +1518,7 @@ module KlaviyoAPI
1486
1518
  if @api_client.config.client_side_validation && id.nil?
1487
1519
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_tags_for_campaign"
1488
1520
  end
1489
- allowable_values = ["name"]
1521
+ allowable_values = ["id", "name"]
1490
1522
  if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
1491
1523
  fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
1492
1524
  end
@@ -1500,7 +1532,7 @@ module KlaviyoAPI
1500
1532
  # header parameters
1501
1533
  header_params = opts[:header_params] || {}
1502
1534
  # klaviyo api revision
1503
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1535
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1504
1536
  # HTTP header 'Accept' (if needed)
1505
1537
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1506
1538
 
@@ -1537,10 +1569,10 @@ module KlaviyoAPI
1537
1569
  alias get_campaign_tags_with_http_info get_tags_for_campaign_with_http_info
1538
1570
 
1539
1571
  # Get Template for Campaign Message
1540
- # Return the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`
1572
+ # Return the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_for_campaign_message.json)
1541
1573
  # @param id [String]
1542
1574
  # @param [Hash] opts the optional parameters
1543
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1575
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1544
1576
  # @return [Hash<String, Object>]
1545
1577
  def get_template_for_campaign_message(id, opts = {})
1546
1578
  data, _status_code, _headers = get_template_for_campaign_message_with_http_info(id, opts)
@@ -1551,10 +1583,10 @@ module KlaviyoAPI
1551
1583
  alias get_campaign_message_template get_template_for_campaign_message
1552
1584
 
1553
1585
  # Get Template for Campaign Message
1554
- # Return the related template&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;campaigns:read&#x60; &#x60;templates:read&#x60;
1586
+ # Return the related template&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;campaigns:read&#x60; &#x60;templates:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_for_campaign_message.json)
1555
1587
  # @param id [String]
1556
1588
  # @param [Hash] opts the optional parameters
1557
- # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
1589
+ # @option opts [Array<String>] :fields_template For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1558
1590
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1559
1591
  def get_template_for_campaign_message_with_http_info(id, opts = {})
1560
1592
  if @api_client.config.debugging
@@ -1564,7 +1596,7 @@ module KlaviyoAPI
1564
1596
  if @api_client.config.client_side_validation && id.nil?
1565
1597
  fail ArgumentError, "Missing the required parameter 'id' when calling CampaignsApi.get_template_for_campaign_message"
1566
1598
  end
1567
- allowable_values = ["amp", "created", "editor_type", "html", "name", "text", "updated"]
1599
+ allowable_values = ["amp", "created", "editor_type", "html", "id", "name", "text", "updated"]
1568
1600
  if @api_client.config.client_side_validation && opts[:'fields_template'] && !opts[:'fields_template'].all? { |item| allowable_values.include?(item) }
1569
1601
  fail ArgumentError, "invalid value for \"fields_template\", must include one of #{allowable_values}"
1570
1602
  end
@@ -1578,7 +1610,7 @@ module KlaviyoAPI
1578
1610
  # header parameters
1579
1611
  header_params = opts[:header_params] || {}
1580
1612
  # klaviyo api revision
1581
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1613
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1582
1614
  # HTTP header 'Accept' (if needed)
1583
1615
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1584
1616
 
@@ -1615,7 +1647,7 @@ module KlaviyoAPI
1615
1647
  alias get_campaign_message_template_with_http_info get_template_for_campaign_message_with_http_info
1616
1648
 
1617
1649
  # Get Template ID for Campaign Message
1618
- # Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read`
1650
+ # Returns the ID of the related template<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:read` `templates:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_id_for_campaign_message.json)
1619
1651
  # @param id [String]
1620
1652
  # @param [Hash] opts the optional parameters
1621
1653
  # @return [Hash<String, Object>]
@@ -1628,7 +1660,7 @@ module KlaviyoAPI
1628
1660
  alias get_campaign_message_relationships_template get_template_id_for_campaign_message
1629
1661
 
1630
1662
  # Get Template ID for Campaign Message
1631
- # Returns the ID of the related template&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;campaigns:read&#x60; &#x60;templates:read&#x60;
1663
+ # Returns the ID of the related template&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;campaigns:read&#x60; &#x60;templates:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/get_template_id_for_campaign_message.json)
1632
1664
  # @param id [String]
1633
1665
  # @param [Hash] opts the optional parameters
1634
1666
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -1649,7 +1681,7 @@ module KlaviyoAPI
1649
1681
  # header parameters
1650
1682
  header_params = opts[:header_params] || {}
1651
1683
  # klaviyo api revision
1652
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1684
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1653
1685
  # HTTP header 'Accept' (if needed)
1654
1686
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1655
1687
 
@@ -1686,9 +1718,10 @@ module KlaviyoAPI
1686
1718
  alias get_campaign_message_relationships_template_with_http_info get_template_id_for_campaign_message_with_http_info
1687
1719
 
1688
1720
  # Refresh Campaign Recipient Estimation
1689
- # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the `Get Campaign Recipient Estimation Job` endpoint to retrieve the status of this estimation job. Use the `Get Campaign Recipient Estimation` endpoint to retrieve the estimated recipient count for a given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
1721
+ # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the `Get Campaign Recipient Estimation Job` endpoint to retrieve the status of this estimation job. Use the `Get Campaign Recipient Estimation` endpoint to retrieve the estimated recipient count for a given campaign.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/refresh_campaign_recipient_estimation.json)
1690
1722
  # @param campaign_recipient_estimation_job_create_query [CampaignRecipientEstimationJobCreateQuery] Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.
1691
1723
  # @param [Hash] opts the optional parameters
1724
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1692
1725
  # @return [Hash<String, Object>]
1693
1726
  def refresh_campaign_recipient_estimation(campaign_recipient_estimation_job_create_query, opts = {})
1694
1727
  data, _status_code, _headers = refresh_campaign_recipient_estimation_with_http_info(campaign_recipient_estimation_job_create_query, opts)
@@ -1699,9 +1732,10 @@ module KlaviyoAPI
1699
1732
  alias create_campaign_recipient_estimation_job refresh_campaign_recipient_estimation
1700
1733
 
1701
1734
  # Refresh Campaign Recipient Estimation
1702
- # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.&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;campaigns:write&#x60;
1735
+ # Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/refresh_campaign_recipient_estimation.json)
1703
1736
  # @param campaign_recipient_estimation_job_create_query [CampaignRecipientEstimationJobCreateQuery] Trigger an asynchronous job to update the estimated number of recipients for the given campaign ID. Use the &#x60;Get Campaign Recipient Estimation Job&#x60; endpoint to retrieve the status of this estimation job. Use the &#x60;Get Campaign Recipient Estimation&#x60; endpoint to retrieve the estimated recipient count for a given campaign.
1704
1737
  # @param [Hash] opts the optional parameters
1738
+ # @option opts [Array<String>] :fields_campaign_recipient_estimation_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1705
1739
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1706
1740
  def refresh_campaign_recipient_estimation_with_http_info(campaign_recipient_estimation_job_create_query, opts = {})
1707
1741
  if @api_client.config.debugging
@@ -1711,16 +1745,21 @@ module KlaviyoAPI
1711
1745
  if @api_client.config.client_side_validation && campaign_recipient_estimation_job_create_query.nil?
1712
1746
  fail ArgumentError, "Missing the required parameter 'campaign_recipient_estimation_job_create_query' when calling CampaignsApi.refresh_campaign_recipient_estimation"
1713
1747
  end
1748
+ allowable_values = ["id", "status"]
1749
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_recipient_estimation_job'] && !opts[:'fields_campaign_recipient_estimation_job'].all? { |item| allowable_values.include?(item) }
1750
+ fail ArgumentError, "invalid value for \"fields_campaign_recipient_estimation_job\", must include one of #{allowable_values}"
1751
+ end
1714
1752
  # resource path
1715
1753
  local_var_path = '/api/campaign-recipient-estimation-jobs'
1716
1754
 
1717
1755
  # query parameters
1718
1756
  query_params = opts[:query_params] || {}
1757
+ query_params[:'fields[campaign-recipient-estimation-job]'] = @api_client.build_collection_param(opts[:'fields_campaign_recipient_estimation_job'], :csv) if !opts[:'fields_campaign_recipient_estimation_job'].nil?
1719
1758
 
1720
1759
  # header parameters
1721
1760
  header_params = opts[:header_params] || {}
1722
1761
  # klaviyo api revision
1723
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1762
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1724
1763
  # HTTP header 'Accept' (if needed)
1725
1764
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1726
1765
  # HTTP header 'Content-Type'
@@ -1762,9 +1801,10 @@ module KlaviyoAPI
1762
1801
  alias create_campaign_recipient_estimation_job_with_http_info refresh_campaign_recipient_estimation_with_http_info
1763
1802
 
1764
1803
  # Send Campaign
1765
- # Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
1804
+ # Trigger a campaign to send asynchronously<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/send_campaign.json)
1766
1805
  # @param campaign_send_job_create_query [CampaignSendJobCreateQuery] Trigger the campaign to send asynchronously
1767
1806
  # @param [Hash] opts the optional parameters
1807
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1768
1808
  # @return [Hash<String, Object>]
1769
1809
  def send_campaign(campaign_send_job_create_query, opts = {})
1770
1810
  data, _status_code, _headers = send_campaign_with_http_info(campaign_send_job_create_query, opts)
@@ -1775,9 +1815,10 @@ module KlaviyoAPI
1775
1815
  alias create_campaign_send_job send_campaign
1776
1816
 
1777
1817
  # Send Campaign
1778
- # Trigger a campaign to send asynchronously&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;campaigns:write&#x60;
1818
+ # Trigger a campaign to send asynchronously&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/send_campaign.json)
1779
1819
  # @param campaign_send_job_create_query [CampaignSendJobCreateQuery] Trigger the campaign to send asynchronously
1780
1820
  # @param [Hash] opts the optional parameters
1821
+ # @option opts [Array<String>] :fields_campaign_send_job For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1781
1822
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1782
1823
  def send_campaign_with_http_info(campaign_send_job_create_query, opts = {})
1783
1824
  if @api_client.config.debugging
@@ -1787,16 +1828,21 @@ module KlaviyoAPI
1787
1828
  if @api_client.config.client_side_validation && campaign_send_job_create_query.nil?
1788
1829
  fail ArgumentError, "Missing the required parameter 'campaign_send_job_create_query' when calling CampaignsApi.send_campaign"
1789
1830
  end
1831
+ allowable_values = ["id", "status"]
1832
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_send_job'] && !opts[:'fields_campaign_send_job'].all? { |item| allowable_values.include?(item) }
1833
+ fail ArgumentError, "invalid value for \"fields_campaign_send_job\", must include one of #{allowable_values}"
1834
+ end
1790
1835
  # resource path
1791
1836
  local_var_path = '/api/campaign-send-jobs'
1792
1837
 
1793
1838
  # query parameters
1794
1839
  query_params = opts[:query_params] || {}
1840
+ query_params[:'fields[campaign-send-job]'] = @api_client.build_collection_param(opts[:'fields_campaign_send_job'], :csv) if !opts[:'fields_campaign_send_job'].nil?
1795
1841
 
1796
1842
  # header parameters
1797
1843
  header_params = opts[:header_params] || {}
1798
1844
  # klaviyo api revision
1799
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1845
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1800
1846
  # HTTP header 'Accept' (if needed)
1801
1847
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1802
1848
  # HTTP header 'Content-Type'
@@ -1838,10 +1884,11 @@ module KlaviyoAPI
1838
1884
  alias create_campaign_send_job_with_http_info send_campaign_with_http_info
1839
1885
 
1840
1886
  # Update Campaign
1841
- # Update a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
1887
+ # Update a campaign with the given campaign ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign.json)
1842
1888
  # @param id [String] The campaign ID to be retrieved
1843
1889
  # @param campaign_partial_update_query [CampaignPartialUpdateQuery] Update a campaign and return it
1844
1890
  # @param [Hash] opts the optional parameters
1891
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1845
1892
  # @return [Hash<String, Object>]
1846
1893
  def update_campaign(id, campaign_partial_update_query, opts = {})
1847
1894
  data, _status_code, _headers = update_campaign_with_http_info(id, campaign_partial_update_query, opts)
@@ -1849,10 +1896,11 @@ module KlaviyoAPI
1849
1896
  end
1850
1897
 
1851
1898
  # Update Campaign
1852
- # Update a campaign with the given campaign 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;campaigns:write&#x60;
1899
+ # Update a campaign with the given campaign 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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign.json)
1853
1900
  # @param id [String] The campaign ID to be retrieved
1854
1901
  # @param campaign_partial_update_query [CampaignPartialUpdateQuery] Update a campaign and return it
1855
1902
  # @param [Hash] opts the optional parameters
1903
+ # @option opts [Array<String>] :fields_campaign For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1856
1904
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1857
1905
  def update_campaign_with_http_info(id, campaign_partial_update_query, opts = {})
1858
1906
  if @api_client.config.debugging
@@ -1866,16 +1914,21 @@ module KlaviyoAPI
1866
1914
  if @api_client.config.client_side_validation && campaign_partial_update_query.nil?
1867
1915
  fail ArgumentError, "Missing the required parameter 'campaign_partial_update_query' when calling CampaignsApi.update_campaign"
1868
1916
  end
1917
+ allowable_values = ["archived", "audiences", "audiences.excluded", "audiences.included", "created_at", "id", "name", "scheduled_at", "send_options", "send_options.use_smart_sending", "send_strategy", "send_strategy.date", "send_strategy.datetime", "send_strategy.method", "send_strategy.options", "send_strategy.options.is_local", "send_strategy.options.send_past_recipients_immediately", "send_strategy.throttle_percentage", "send_time", "status", "tracking_options", "tracking_options.add_tracking_params", "tracking_options.custom_tracking_params", "tracking_options.is_tracking_clicks", "tracking_options.is_tracking_opens", "updated_at"]
1918
+ if @api_client.config.client_side_validation && opts[:'fields_campaign'] && !opts[:'fields_campaign'].all? { |item| allowable_values.include?(item) }
1919
+ fail ArgumentError, "invalid value for \"fields_campaign\", must include one of #{allowable_values}"
1920
+ end
1869
1921
  # resource path
1870
1922
  local_var_path = '/api/campaigns/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1871
1923
 
1872
1924
  # query parameters
1873
1925
  query_params = opts[:query_params] || {}
1926
+ query_params[:'fields[campaign]'] = @api_client.build_collection_param(opts[:'fields_campaign'], :csv) if !opts[:'fields_campaign'].nil?
1874
1927
 
1875
1928
  # header parameters
1876
1929
  header_params = opts[:header_params] || {}
1877
1930
  # klaviyo api revision
1878
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
1931
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1879
1932
  # HTTP header 'Accept' (if needed)
1880
1933
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1881
1934
  # HTTP header 'Content-Type'
@@ -1914,10 +1967,11 @@ module KlaviyoAPI
1914
1967
  end
1915
1968
 
1916
1969
  # Update Campaign Message
1917
- # Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write`
1970
+ # Update a campaign message<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign_message.json)
1918
1971
  # @param id [String] The message ID to be retrieved
1919
1972
  # @param campaign_message_partial_update_query [CampaignMessagePartialUpdateQuery] Update a message and return it
1920
1973
  # @param [Hash] opts the optional parameters
1974
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1921
1975
  # @return [Hash<String, Object>]
1922
1976
  def update_campaign_message(id, campaign_message_partial_update_query, opts = {})
1923
1977
  data, _status_code, _headers = update_campaign_message_with_http_info(id, campaign_message_partial_update_query, opts)
@@ -1925,10 +1979,11 @@ module KlaviyoAPI
1925
1979
  end
1926
1980
 
1927
1981
  # Update Campaign Message
1928
- # Update a campaign message&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;campaigns:write&#x60;
1982
+ # Update a campaign message&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;campaigns:write&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_campaign_message.json)
1929
1983
  # @param id [String] The message ID to be retrieved
1930
1984
  # @param campaign_message_partial_update_query [CampaignMessagePartialUpdateQuery] Update a message and return it
1931
1985
  # @param [Hash] opts the optional parameters
1986
+ # @option opts [Array<String>] :fields_campaign_message For more information please visit https://developers.klaviyo.com/en/v2026-07-15/reference/api-overview#sparse-fieldsets
1932
1987
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1933
1988
  def update_campaign_message_with_http_info(id, campaign_message_partial_update_query, opts = {})
1934
1989
  if @api_client.config.debugging
@@ -1942,16 +1997,21 @@ module KlaviyoAPI
1942
1997
  if @api_client.config.client_side_validation && campaign_message_partial_update_query.nil?
1943
1998
  fail ArgumentError, "Missing the required parameter 'campaign_message_partial_update_query' when calling CampaignsApi.update_campaign_message"
1944
1999
  end
2000
+ allowable_values = ["created_at", "definition", "definition.channel", "definition.content", "definition.content.action_buttons", "definition.content.bcc_email", "definition.content.body", "definition.content.cc_email", "definition.content.dynamic_image", "definition.content.from_email", "definition.content.from_label", "definition.content.media_url", "definition.content.preview_text", "definition.content.reply_to_email", "definition.content.subject", "definition.content.title", "definition.kv_pairs", "definition.label", "definition.notification_type", "definition.options", "definition.options.badge", "definition.options.badge.badge_options", "definition.options.badge.badge_options.badge_config", "definition.options.badge.badge_options.set_from_property", "definition.options.badge.badge_options.value", "definition.options.badge.display", "definition.options.on_open", "definition.options.on_open.android_deep_link", "definition.options.on_open.ios_deep_link", "definition.options.on_open.type", "definition.options.on_open.web_url", "definition.options.play_sound", "definition.render_options", "definition.render_options.add_info_link", "definition.render_options.add_opt_out_language", "definition.render_options.add_org_prefix", "definition.render_options.shorten_links", "id", "send_times", "updated_at"]
2001
+ if @api_client.config.client_side_validation && opts[:'fields_campaign_message'] && !opts[:'fields_campaign_message'].all? { |item| allowable_values.include?(item) }
2002
+ fail ArgumentError, "invalid value for \"fields_campaign_message\", must include one of #{allowable_values}"
2003
+ end
1945
2004
  # resource path
1946
2005
  local_var_path = '/api/campaign-messages/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1947
2006
 
1948
2007
  # query parameters
1949
2008
  query_params = opts[:query_params] || {}
2009
+ query_params[:'fields[campaign-message]'] = @api_client.build_collection_param(opts[:'fields_campaign_message'], :csv) if !opts[:'fields_campaign_message'].nil?
1950
2010
 
1951
2011
  # header parameters
1952
2012
  header_params = opts[:header_params] || {}
1953
2013
  # klaviyo api revision
1954
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
2014
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
1955
2015
  # HTTP header 'Accept' (if needed)
1956
2016
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
1957
2017
  # HTTP header 'Content-Type'
@@ -1990,7 +2050,7 @@ module KlaviyoAPI
1990
2050
  end
1991
2051
 
1992
2052
  # Update Image for Campaign Message
1993
- # Update a campaign message image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` `images:read`
2053
+ # Update a campaign message image<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `campaigns:write` `images:read` [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_image_for_campaign_message.json)
1994
2054
  # @param id [String]
1995
2055
  # @param campaign_message_image_update_query [CampaignMessageImageUpdateQuery]
1996
2056
  # @param [Hash] opts the optional parameters
@@ -2004,7 +2064,7 @@ module KlaviyoAPI
2004
2064
  alias update_campaign_message_relationships_image update_image_for_campaign_message
2005
2065
 
2006
2066
  # Update Image for Campaign Message
2007
- # Update a campaign message image&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;campaigns:write&#x60; &#x60;images:read&#x60;
2067
+ # Update a campaign message image&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;campaigns:write&#x60; &#x60;images:read&#x60; [OpenAPI Spec](https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable/apis/update_image_for_campaign_message.json)
2008
2068
  # @param id [String]
2009
2069
  # @param campaign_message_image_update_query [CampaignMessageImageUpdateQuery]
2010
2070
  # @param [Hash] opts the optional parameters
@@ -2030,7 +2090,7 @@ module KlaviyoAPI
2030
2090
  # header parameters
2031
2091
  header_params = opts[:header_params] || {}
2032
2092
  # klaviyo api revision
2033
- header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-04-15"
2093
+ header_params['revision'] = ENV['KLAVIYO_API_REVISION'] || ENV['API_REVISION'] || "2026-07-15"
2034
2094
  # HTTP header 'Accept' (if needed)
2035
2095
  header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json'])
2036
2096
  # HTTP header 'Content-Type'