klaviyo-api-sdk 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -29,6 +29,9 @@ module KlaviyoAPI
29
29
  nil
30
30
  end
31
31
 
32
+ # alias of `bulk_create_events`
33
+ alias create_event_bulk_create_job bulk_create_events
34
+
32
35
  # Bulk Create Events
33
36
  # Create a batch of events for one or more profiles. Note that this endpoint allows you to create new profiles or update existing profile properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively. Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `events:write`
34
37
  # @param events_bulk_create_job [EventsBulkCreateJob]
@@ -89,6 +92,9 @@ module KlaviyoAPI
89
92
  return data, status_code, headers
90
93
  end
91
94
 
95
+ # alias of `bulk_create_events_with_http_info`
96
+ alias create_event_bulk_create_job_with_http_info bulk_create_events_with_http_info
97
+
92
98
  # Create Event
93
99
  # Create a new event to track a profile's activity. Note that this endpoint allows you to create a new profile or update an existing profile's properties. At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively. Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m` **Scopes:** `events:write`
94
100
  # @param event_create_query_v2 [EventCreateQueryV2]
@@ -355,7 +361,7 @@ module KlaviyoAPI
355
361
  if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
356
362
  fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
357
363
  end
358
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
364
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
359
365
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
360
366
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
361
367
  end
@@ -116,6 +116,9 @@ module KlaviyoAPI
116
116
  data
117
117
  end
118
118
 
119
+ # alias of `get_form_for_form_version`
120
+ alias get_form_version_form get_form_for_form_version
121
+
119
122
  # Get Form for Form Version
120
123
  # Get the form associated with the given form version.&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;forms:read&#x60;
121
124
  # @param id [String]
@@ -177,6 +180,9 @@ module KlaviyoAPI
177
180
  return data, status_code, headers
178
181
  end
179
182
 
183
+ # alias of `get_form_for_form_version_with_http_info`
184
+ alias get_form_version_form_with_http_info get_form_for_form_version_with_http_info
185
+
180
186
  # Get Form ID for Form Version
181
187
  # Get the ID of the form associated with the given form version.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
182
188
  # @param id [String]
@@ -187,6 +193,9 @@ module KlaviyoAPI
187
193
  data
188
194
  end
189
195
 
196
+ # alias of `get_form_id_for_form_version`
197
+ alias get_form_version_relationships_form get_form_id_for_form_version
198
+
190
199
  # Get Form ID for Form Version
191
200
  # Get the ID of the form associated with the given form version.&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;forms:read&#x60;
192
201
  # @param id [String]
@@ -242,6 +251,9 @@ module KlaviyoAPI
242
251
  return data, status_code, headers
243
252
  end
244
253
 
254
+ # alias of `get_form_id_for_form_version_with_http_info`
255
+ alias get_form_version_relationships_form_with_http_info get_form_id_for_form_version_with_http_info
256
+
245
257
  # Get Form Version
246
258
  # Get the form version with the given ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
247
259
  # @param id [String] The ID of the form version
@@ -414,6 +426,9 @@ module KlaviyoAPI
414
426
  data
415
427
  end
416
428
 
429
+ # alias of `get_version_ids_for_form`
430
+ alias get_form_relationships_form_versions get_version_ids_for_form
431
+
417
432
  # Get Version IDs for Form
418
433
  # Get the IDs of the form versions for the given form.&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;forms:read&#x60;
419
434
  # @param id [String]
@@ -469,6 +484,9 @@ module KlaviyoAPI
469
484
  return data, status_code, headers
470
485
  end
471
486
 
487
+ # alias of `get_version_ids_for_form_with_http_info`
488
+ alias get_form_relationships_form_versions_with_http_info get_version_ids_for_form_with_http_info
489
+
472
490
  # Get Versions for Form
473
491
  # Get the form versions for the given form.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `forms:read`
474
492
  # @param id [String]
@@ -484,6 +502,9 @@ module KlaviyoAPI
484
502
  data
485
503
  end
486
504
 
505
+ # alias of `get_versions_for_form`
506
+ alias get_form_form_versions get_versions_for_form
507
+
487
508
  # Get Versions for Form
488
509
  # Get the form versions for the given form.&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;forms:read&#x60;
489
510
  # @param id [String]
@@ -564,5 +585,8 @@ module KlaviyoAPI
564
585
  end
565
586
  return data, status_code, headers
566
587
  end
588
+
589
+ # alias of `get_versions_for_form_with_http_info`
590
+ alias get_form_form_versions_with_http_info get_versions_for_form_with_http_info
567
591
  end
568
592
  end
@@ -269,6 +269,9 @@ module KlaviyoAPI
269
269
  data
270
270
  end
271
271
 
272
+ # alias of `upload_image_from_file`
273
+ alias create_image_upload upload_image_from_file
274
+
272
275
  # Upload Image From File
273
276
  # Upload an image from a file. If you want to import an image from an existing url or a data uri, use the Upload Image From URL endpoint instead.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;100/m&#x60;&lt;br&gt;Daily: &#x60;100/d&#x60; **Scopes:** &#x60;images:write&#x60;
274
277
  # @param file [File] The image file to upload. Supported image formats: jpeg,png,gif. Maximum image size: 5MB.
@@ -334,6 +337,9 @@ module KlaviyoAPI
334
337
  return data, status_code, headers
335
338
  end
336
339
 
340
+ # alias of `upload_image_from_file_with_http_info`
341
+ alias create_image_upload_with_http_info upload_image_from_file_with_http_info
342
+
337
343
  # Upload Image From URL
338
344
  # Import an image from a url or data uri. If you want to upload an image from a file, use the Upload Image From File endpoint instead.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `100/m`<br>Daily: `100/d` **Scopes:** `images:write`
339
345
  # @param image_create_query [ImageCreateQuery]
@@ -344,6 +350,9 @@ module KlaviyoAPI
344
350
  data
345
351
  end
346
352
 
353
+ # alias of `upload_image_from_url`
354
+ alias create_image upload_image_from_url
355
+
347
356
  # Upload Image From URL
348
357
  # Import an image from a url or data uri. If you want to upload an image from a file, use the Upload Image From File endpoint instead.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;100/m&#x60;&lt;br&gt;Daily: &#x60;100/d&#x60; **Scopes:** &#x60;images:write&#x60;
349
358
  # @param image_create_query [ImageCreateQuery]
@@ -403,5 +412,8 @@ module KlaviyoAPI
403
412
  end
404
413
  return data, status_code, headers
405
414
  end
415
+
416
+ # alias of `upload_image_from_url_with_http_info`
417
+ alias create_image_with_http_info upload_image_from_url_with_http_info
406
418
  end
407
419
  end
@@ -100,6 +100,9 @@ module KlaviyoAPI
100
100
  nil
101
101
  end
102
102
 
103
+ # alias of `create_list_relationships`
104
+ alias create_list_relationships_profile create_list_relationships
105
+
103
106
  # Add Profile To List
104
107
  # Add a profile to a list with the given list ID. It is recommended that you use the [Subscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/subscribe_profiles) if you&#39;re trying to give a profile [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) to receive email marketing, SMS marketing, or both. This endpoint accepts a maximum of 1000 profiles per call.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60;
105
108
  # @param id [String]
@@ -165,6 +168,9 @@ module KlaviyoAPI
165
168
  return data, status_code, headers
166
169
  end
167
170
 
171
+ # alias of `create_list_relationships_with_http_info`
172
+ alias create_list_relationships_profile_with_http_info create_list_relationships_with_http_info
173
+
168
174
  # Delete List
169
175
  # Delete a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:write`
170
176
  # @param id [String] Primary key that uniquely identifies this list. Generated by Klaviyo.
@@ -241,6 +247,9 @@ module KlaviyoAPI
241
247
  nil
242
248
  end
243
249
 
250
+ # alias of `delete_list_relationships`
251
+ alias delete_list_relationships_profiles delete_list_relationships
252
+
244
253
  # Remove Profile From List
245
254
  # Remove a profile from a list with the given list ID. The provided profile will no longer receive marketing from this particular list once removed. Removing a profile from a list will not impact the profile&#39;s [consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api) status or subscription status in general. To update a profile&#39;s subscription status, please use the [Unsubscribe Profiles endpoint](https://developers.klaviyo.com/en/reference/unsubscribe_profiles). This endpoint accepts a maximum of 1000 profiles per call.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60;
246
255
  # @param id [String]
@@ -306,6 +315,9 @@ module KlaviyoAPI
306
315
  return data, status_code, headers
307
316
  end
308
317
 
318
+ # alias of `delete_list_relationships_with_http_info`
319
+ alias delete_list_relationships_profiles_with_http_info delete_list_relationships_with_http_info
320
+
309
321
  # Get List
310
322
  # Get a list with the given list ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m`<br><br>Rate limits when using the `additional-fields[list]=profile_count` parameter in your API request:<br>Burst: `1/s`<br>Steady: `15/m`<br><br>To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2024-07-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `lists:read`
311
323
  # @param id [String] Primary key that uniquely identifies this list. Generated by Klaviyo.
@@ -438,7 +450,7 @@ module KlaviyoAPI
438
450
  if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
439
451
  fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
440
452
  end
441
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "joined_group_at", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
453
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "joined_group_at", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
442
454
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
443
455
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
444
456
  end
@@ -164,7 +164,7 @@ module KlaviyoAPI
164
164
  end
165
165
 
166
166
  # Query Metric Aggregates
167
- # Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events. Queries must be passed in the JSON body of your `POST` request. Results can be filtered and grouped by time, event, or profile dimensions. To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint). **Request body parameters** (nested under `attributes`): * `return_fields`: request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets) * `sort`: sort results by a specified field, such as `\"-timestamp\"` * `page_cursor`: results can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/reference/api_overview#pagination) * `page_size`: limit the number of returned results per page * `by`: optional attributes used to group by the aggregation function * When using `by` attributes, an empty `dimensions` response is expected when the counts for the events do not have the associated dimension requested by the set `by` attribute. For example, a query including `\"by\": [\"$flow\"]` will return an empty dimensions response for counts of metrics not associated with a `$flow` * `measurement`: the measurement key supports the following values: * `\"sum_value\"`: perform a summation of the `_Event Value_`, optionally partitioned over any dimension provided in the `by` field * `\"count\"`: counts the number of events associated to a metric, optionally partitioned over any dimension provided in the `by` field * `\"unique\"` counts the number of unique customers associated to a metric, optionally partitioned over any dimension provided in the `by` field * `interval`: aggregation interval, such as `\"hour\"`,`\"day\"`,`\"week\"`, and `\"month\"` * `metric_id`: the metric ID used in the aggregation * `filter`: list of filters for specific fields, must include time range using ISO 8601 format (`\"YYYY-MM-DDTHH:MM:SS.mmmmmm\"`) * The time range can be filtered by providing a `greater-or-equal` filter on the datetime field, such as `\"greater-or-equal(datetime,2021-07-01T00:00:00)\"` and a `less-than` filter on the same datetime field, such as `\"less-than(datetime,2022-07-01T00:00:00)\"` * The time range may span a maximum of one year. Time range dates may be set to a maximum of 5 years prior to the current date * Filter the list of supported aggregate dimensions using the common filter syntax, such as `\"equals(URL,\\\"https://www.klaviyo.com/\\\")\"` * `timezone`: the timezone used when processing the query. Case sensitive. This field is validated against a list of common timezones from the [IANA Time Zone Database](https://www.iana.org/time-zones) * While the payload accepts a timezone, the response datetimes returned will be in UTC. For a comprehensive list of native Klaviyo metrics and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `metrics:read`
167
+ # Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events. Queries must be passed in the JSON body of your `POST` request. To request campaign and flow performance data that matches the data shown in Klaviyo's UI, we recommend the [Reporting API](https://developers.klaviyo.com/en/reference/reporting_api_overview). Results can be filtered and grouped by time, event, or profile dimensions. To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint). For a comprehensive list of request body parameters, native Klaviyo metrics, and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `metrics:read`
168
168
  # @param metric_aggregate_query [MetricAggregateQuery] Retrieve Metric Aggregations
169
169
  # @param [Hash] opts the optional parameters
170
170
  # @return [Hash<String, Object>]
@@ -173,8 +173,11 @@ module KlaviyoAPI
173
173
  data
174
174
  end
175
175
 
176
+ # alias of `query_metric_aggregates`
177
+ alias create_metric_aggregate query_metric_aggregates
178
+
176
179
  # Query Metric Aggregates
177
- # Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events. Queries must be passed in the JSON body of your &#x60;POST&#x60; request. Results can be filtered and grouped by time, event, or profile dimensions. To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint). **Request body parameters** (nested under &#x60;attributes&#x60;): * &#x60;return_fields&#x60;: request specific fields using [sparse fieldsets](https://developers.klaviyo.com/en/reference/api_overview#sparse-fieldsets) * &#x60;sort&#x60;: sort results by a specified field, such as &#x60;\&quot;-timestamp\&quot;&#x60; * &#x60;page_cursor&#x60;: results can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/reference/api_overview#pagination) * &#x60;page_size&#x60;: limit the number of returned results per page * &#x60;by&#x60;: optional attributes used to group by the aggregation function * When using &#x60;by&#x60; attributes, an empty &#x60;dimensions&#x60; response is expected when the counts for the events do not have the associated dimension requested by the set &#x60;by&#x60; attribute. For example, a query including &#x60;\&quot;by\&quot;: [\&quot;$flow\&quot;]&#x60; will return an empty dimensions response for counts of metrics not associated with a &#x60;$flow&#x60; * &#x60;measurement&#x60;: the measurement key supports the following values: * &#x60;\&quot;sum_value\&quot;&#x60;: perform a summation of the &#x60;_Event Value_&#x60;, optionally partitioned over any dimension provided in the &#x60;by&#x60; field * &#x60;\&quot;count\&quot;&#x60;: counts the number of events associated to a metric, optionally partitioned over any dimension provided in the &#x60;by&#x60; field * &#x60;\&quot;unique\&quot;&#x60; counts the number of unique customers associated to a metric, optionally partitioned over any dimension provided in the &#x60;by&#x60; field * &#x60;interval&#x60;: aggregation interval, such as &#x60;\&quot;hour\&quot;&#x60;,&#x60;\&quot;day\&quot;&#x60;,&#x60;\&quot;week\&quot;&#x60;, and &#x60;\&quot;month\&quot;&#x60; * &#x60;metric_id&#x60;: the metric ID used in the aggregation * &#x60;filter&#x60;: list of filters for specific fields, must include time range using ISO 8601 format (&#x60;\&quot;YYYY-MM-DDTHH:MM:SS.mmmmmm\&quot;&#x60;) * The time range can be filtered by providing a &#x60;greater-or-equal&#x60; filter on the datetime field, such as &#x60;\&quot;greater-or-equal(datetime,2021-07-01T00:00:00)\&quot;&#x60; and a &#x60;less-than&#x60; filter on the same datetime field, such as &#x60;\&quot;less-than(datetime,2022-07-01T00:00:00)\&quot;&#x60; * The time range may span a maximum of one year. Time range dates may be set to a maximum of 5 years prior to the current date * Filter the list of supported aggregate dimensions using the common filter syntax, such as &#x60;\&quot;equals(URL,\\\&quot;https://www.klaviyo.com/\\\&quot;)\&quot;&#x60; * &#x60;timezone&#x60;: the timezone used when processing the query. Case sensitive. This field is validated against a list of common timezones from the [IANA Time Zone Database](https://www.iana.org/time-zones) * While the payload accepts a timezone, the response datetimes returned will be in UTC. For a comprehensive list of native Klaviyo metrics and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).&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;metrics:read&#x60;
180
+ # Query and aggregate event data associated with a metric, including native Klaviyo metrics, integration-specific metrics, and custom events. Queries must be passed in the JSON body of your &#x60;POST&#x60; request. To request campaign and flow performance data that matches the data shown in Klaviyo&#39;s UI, we recommend the [Reporting API](https://developers.klaviyo.com/en/reference/reporting_api_overview). Results can be filtered and grouped by time, event, or profile dimensions. To learn more about how to use this endpoint, check out our new [Using the Query Metric Aggregates Endpoint guide](https://developers.klaviyo.com/en/docs/using-the-query-metric-aggregates-endpoint). For a comprehensive list of request body parameters, native Klaviyo metrics, and their associated attributes for grouping and filtering, please refer to the [metrics attributes guide](https://developers.klaviyo.com/en/docs/supported_metrics_and_attributes).&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;metrics:read&#x60;
178
181
  # @param metric_aggregate_query [MetricAggregateQuery] Retrieve Metric Aggregations
179
182
  # @param [Hash] opts the optional parameters
180
183
  # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
@@ -232,5 +235,8 @@ module KlaviyoAPI
232
235
  end
233
236
  return data, status_code, headers
234
237
  end
238
+
239
+ # alias of `query_metric_aggregates_with_http_info`
240
+ alias create_metric_aggregate_with_http_info query_metric_aggregates_with_http_info
235
241
  end
236
242
  end
@@ -29,6 +29,9 @@ module KlaviyoAPI
29
29
  data
30
30
  end
31
31
 
32
+ # alias of `create_or_update_profile`
33
+ alias create_profile_import create_or_update_profile
34
+
32
35
  # Create or Update Profile
33
36
  # Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Note that setting a field to &#x60;null&#x60; will clear out the field, whereas not including a field in your request will leave it unchanged.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
34
37
  # @param profile_upsert_query [ProfileUpsertQuery]
@@ -89,6 +92,9 @@ module KlaviyoAPI
89
92
  return data, status_code, headers
90
93
  end
91
94
 
95
+ # alias of `create_or_update_profile_with_http_info`
96
+ alias create_profile_import_with_http_info create_or_update_profile_with_http_info
97
+
92
98
  # Create Profile
93
99
  # Create a new profile.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
94
100
  # @param profile_create_query [ProfileCreateQuery]
@@ -242,6 +248,9 @@ module KlaviyoAPI
242
248
  data
243
249
  end
244
250
 
251
+ # alias of `get_bulk_profile_import_job`
252
+ alias get_profile_bulk_import_job get_bulk_profile_import_job
253
+
245
254
  # Get Bulk Profile Import Job
246
255
  # Get a bulk profile import job with the given job ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
247
256
  # @param job_id [String] ID of the job to retrieve.
@@ -315,6 +324,9 @@ module KlaviyoAPI
315
324
  return data, status_code, headers
316
325
  end
317
326
 
327
+ # alias of `get_bulk_profile_import_job_with_http_info`
328
+ alias get_profile_bulk_import_job_with_http_info get_bulk_profile_import_job_with_http_info
329
+
318
330
  # Get Bulk Profile Import Job Errors
319
331
  # Get import errors for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:read`
320
332
  # @param id [String]
@@ -328,6 +340,9 @@ module KlaviyoAPI
328
340
  data
329
341
  end
330
342
 
343
+ # alias of `get_bulk_profile_import_job_import_errors`
344
+ alias get_profile_bulk_import_job_import_errors get_bulk_profile_import_job_import_errors
345
+
331
346
  # Get Bulk Profile Import Job Errors
332
347
  # Get import errors for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
333
348
  # @param id [String]
@@ -401,6 +416,9 @@ module KlaviyoAPI
401
416
  return data, status_code, headers
402
417
  end
403
418
 
419
+ # alias of `get_bulk_profile_import_job_import_errors_with_http_info`
420
+ alias get_profile_bulk_import_job_import_errors_with_http_info get_bulk_profile_import_job_import_errors_with_http_info
421
+
404
422
  # Get Bulk Profile Import Job Lists
405
423
  # Get list for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read`
406
424
  # @param id [String]
@@ -412,6 +430,9 @@ module KlaviyoAPI
412
430
  data
413
431
  end
414
432
 
433
+ # alias of `get_bulk_profile_import_job_lists`
434
+ alias get_profile_bulk_import_job_lists get_bulk_profile_import_job_lists
435
+
415
436
  # Get Bulk Profile Import Job Lists
416
437
  # Get list for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
417
438
  # @param id [String]
@@ -473,6 +494,9 @@ module KlaviyoAPI
473
494
  return data, status_code, headers
474
495
  end
475
496
 
497
+ # alias of `get_bulk_profile_import_job_lists_with_http_info`
498
+ alias get_profile_bulk_import_job_lists_with_http_info get_bulk_profile_import_job_lists_with_http_info
499
+
476
500
  # Get Bulk Profile Import Job Profiles
477
501
  # Get profiles for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:read`
478
502
  # @param id [String]
@@ -487,6 +511,9 @@ module KlaviyoAPI
487
511
  data
488
512
  end
489
513
 
514
+ # alias of `get_bulk_profile_import_job_profiles`
515
+ alias get_profile_bulk_import_job_profiles get_bulk_profile_import_job_profiles
516
+
490
517
  # Get Bulk Profile Import Job Profiles
491
518
  # Get profiles for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
492
519
  # @param id [String]
@@ -508,7 +535,7 @@ module KlaviyoAPI
508
535
  if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
509
536
  fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
510
537
  end
511
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
538
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
512
539
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
513
540
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
514
541
  end
@@ -566,6 +593,9 @@ module KlaviyoAPI
566
593
  return data, status_code, headers
567
594
  end
568
595
 
596
+ # alias of `get_bulk_profile_import_job_profiles_with_http_info`
597
+ alias get_profile_bulk_import_job_profiles_with_http_info get_bulk_profile_import_job_profiles_with_http_info
598
+
569
599
  # Get Bulk Profile Import Job Relationships Lists
570
600
  # Get list relationship for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read`
571
601
  # @param id [String]
@@ -576,6 +606,9 @@ module KlaviyoAPI
576
606
  data
577
607
  end
578
608
 
609
+ # alias of `get_bulk_profile_import_job_relationships_lists`
610
+ alias get_profile_bulk_import_job_relationships_lists get_bulk_profile_import_job_relationships_lists
611
+
579
612
  # Get Bulk Profile Import Job Relationships Lists
580
613
  # Get list relationship for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60;
581
614
  # @param id [String]
@@ -631,6 +664,9 @@ module KlaviyoAPI
631
664
  return data, status_code, headers
632
665
  end
633
666
 
667
+ # alias of `get_bulk_profile_import_job_relationships_lists_with_http_info`
668
+ alias get_profile_bulk_import_job_relationships_lists_with_http_info get_bulk_profile_import_job_relationships_lists_with_http_info
669
+
634
670
  # Get Bulk Profile Import Job Relationships Profiles
635
671
  # Get profile relationships for the bulk profile import job with the given ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `profiles:read`
636
672
  # @param id [String]
@@ -643,6 +679,9 @@ module KlaviyoAPI
643
679
  data
644
680
  end
645
681
 
682
+ # alias of `get_bulk_profile_import_job_relationships_profiles`
683
+ alias get_profile_bulk_import_job_relationships_profiles get_bulk_profile_import_job_relationships_profiles
684
+
646
685
  # Get Bulk Profile Import Job Relationships Profiles
647
686
  # Get profile relationships for the bulk profile import job with the given ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:read&#x60;
648
687
  # @param id [String]
@@ -710,6 +749,9 @@ module KlaviyoAPI
710
749
  return data, status_code, headers
711
750
  end
712
751
 
752
+ # alias of `get_bulk_profile_import_job_relationships_profiles_with_http_info`
753
+ alias get_profile_bulk_import_job_relationships_profiles_with_http_info get_bulk_profile_import_job_relationships_profiles_with_http_info
754
+
713
755
  # Get Bulk Profile Import Jobs
714
756
  # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:read` `profiles:read`
715
757
  # @param [Hash] opts the optional parameters
@@ -724,6 +766,9 @@ module KlaviyoAPI
724
766
  data
725
767
  end
726
768
 
769
+ # alias of `get_bulk_profile_import_jobs`
770
+ alias get_profile_bulk_import_jobs get_bulk_profile_import_jobs
771
+
727
772
  # Get Bulk Profile Import Jobs
728
773
  # Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:read&#x60; &#x60;profiles:read&#x60;
729
774
  # @param [Hash] opts the optional parameters
@@ -800,6 +845,9 @@ module KlaviyoAPI
800
845
  return data, status_code, headers
801
846
  end
802
847
 
848
+ # alias of `get_bulk_profile_import_jobs_with_http_info`
849
+ alias get_profile_bulk_import_jobs_with_http_info get_bulk_profile_import_jobs_with_http_info
850
+
803
851
  # Get Profile
804
852
  # Get the profile with the given profile ID.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:read`
805
853
  # @param id [String]
@@ -841,7 +889,7 @@ module KlaviyoAPI
841
889
  if @api_client.config.client_side_validation && opts[:'fields_list'] && !opts[:'fields_list'].all? { |item| allowable_values.include?(item) }
842
890
  fail ArgumentError, "invalid value for \"fields_list\", must include one of #{allowable_values}"
843
891
  end
844
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
892
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
845
893
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
846
894
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
847
895
  end
@@ -1207,7 +1255,7 @@ module KlaviyoAPI
1207
1255
  if @api_client.config.client_side_validation && opts[:'additional_fields_profile'] && !opts[:'additional_fields_profile'].all? { |item| allowable_values.include?(item) }
1208
1256
  fail ArgumentError, "invalid value for \"additional_fields_profile\", must include one of #{allowable_values}"
1209
1257
  end
1210
- allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1258
+ allowable_values = ["email", "phone_number", "external_id", "first_name", "last_name", "organization", "locale", "title", "image", "created", "updated", "last_event_date", "location", "location.address1", "location.address2", "location.city", "location.country", "location.latitude", "location.longitude", "location.region", "location.zip", "location.timezone", "location.ip", "properties", "subscriptions", "subscriptions.email", "subscriptions.email.marketing", "subscriptions.email.marketing.can_receive_email_marketing", "subscriptions.email.marketing.consent", "subscriptions.email.marketing.consent_timestamp", "subscriptions.email.marketing.last_updated", "subscriptions.email.marketing.method", "subscriptions.email.marketing.method_detail", "subscriptions.email.marketing.custom_method_detail", "subscriptions.email.marketing.double_optin", "subscriptions.email.marketing.suppression", "subscriptions.email.marketing.list_suppressions", "subscriptions.sms", "subscriptions.sms.marketing", "subscriptions.sms.marketing.can_receive_sms_marketing", "subscriptions.sms.marketing.consent", "subscriptions.sms.marketing.consent_timestamp", "subscriptions.sms.marketing.method", "subscriptions.sms.marketing.method_detail", "subscriptions.sms.marketing.last_updated", "subscriptions.mobile_push", "subscriptions.mobile_push.marketing", "subscriptions.mobile_push.marketing.can_receive_push_marketing", "subscriptions.mobile_push.marketing.consent", "subscriptions.mobile_push.marketing.consent_timestamp", "predictive_analytics", "predictive_analytics.historic_clv", "predictive_analytics.predicted_clv", "predictive_analytics.total_clv", "predictive_analytics.historic_number_of_orders", "predictive_analytics.predicted_number_of_orders", "predictive_analytics.average_days_between_orders", "predictive_analytics.average_order_value", "predictive_analytics.churn_probability", "predictive_analytics.expected_date_of_next_order"]
1211
1259
  if @api_client.config.client_side_validation && opts[:'fields_profile'] && !opts[:'fields_profile'].all? { |item| allowable_values.include?(item) }
1212
1260
  fail ArgumentError, "invalid value for \"fields_profile\", must include one of #{allowable_values}"
1213
1261
  end
@@ -1281,6 +1329,9 @@ module KlaviyoAPI
1281
1329
  data
1282
1330
  end
1283
1331
 
1332
+ # alias of `merge_profiles`
1333
+ alias create_profile_merge merge_profiles
1334
+
1284
1335
  # Merge Profiles
1285
1336
  # Merge a given related profile into a profile with the given profile ID. The profile provided under &#x60;relationships&#x60; (the \&quot;source\&quot; profile) will be merged into the profile provided by the ID in the base data object (the \&quot;destination\&quot; profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;profiles:write&#x60;
1286
1337
  # @param profile_merge_query [ProfileMergeQuery]
@@ -1341,6 +1392,9 @@ module KlaviyoAPI
1341
1392
  return data, status_code, headers
1342
1393
  end
1343
1394
 
1395
+ # alias of `merge_profiles_with_http_info`
1396
+ alias create_profile_merge_with_http_info merge_profiles_with_http_info
1397
+
1344
1398
  # Spawn Bulk Profile Import Job
1345
1399
  # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m` **Scopes:** `lists:write` `profiles:write`
1346
1400
  # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
@@ -1351,6 +1405,9 @@ module KlaviyoAPI
1351
1405
  data
1352
1406
  end
1353
1407
 
1408
+ # alias of `spawn_bulk_profile_import_job`
1409
+ alias create_profile_bulk_import_job spawn_bulk_profile_import_job
1410
+
1354
1411
  # Spawn Bulk Profile Import Job
1355
1412
  # Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;10/s&#x60;&lt;br&gt;Steady: &#x60;150/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60;
1356
1413
  # @param profile_import_job_create_query [ProfileImportJobCreateQuery]
@@ -1411,6 +1468,9 @@ module KlaviyoAPI
1411
1468
  return data, status_code, headers
1412
1469
  end
1413
1470
 
1471
+ # alias of `spawn_bulk_profile_import_job_with_http_info`
1472
+ alias create_profile_bulk_import_job_with_http_info spawn_bulk_profile_import_job_with_http_info
1473
+
1414
1474
  # Subscribe Profiles
1415
1475
  # Subscribe one or more profiles to email marketing, SMS marketing, or both. If the provided list has double opt-in enabled, profiles will receive a message requiring their confirmation before subscribing. Otherwise, profiles will be immediately subscribed without receiving a confirmation message. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any `UNSUBSCRIBE`, `SPAM_REPORT` or `USER_SUPPRESSED` suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a `historical_import` flag. If this flag is set `true`, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \"Added to list\" flows. This is useful for importing historical data where you have already collected consent. If `historical_import` is set to true, the `consented_at` field is required and must be in the past.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
1416
1476
  # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
@@ -1421,6 +1481,9 @@ module KlaviyoAPI
1421
1481
  nil
1422
1482
  end
1423
1483
 
1484
+ # alias of `subscribe_profiles`
1485
+ alias create_profile_subscription_bulk_create_job subscribe_profiles
1486
+
1424
1487
  # Subscribe Profiles
1425
1488
  # Subscribe one or more profiles to email marketing, SMS marketing, or both. If the provided list has double opt-in enabled, profiles will receive a message requiring their confirmation before subscribing. Otherwise, profiles will be immediately subscribed without receiving a confirmation message. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any &#x60;UNSUBSCRIBE&#x60;, &#x60;SPAM_REPORT&#x60; or &#x60;USER_SUPPRESSED&#x60; suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a &#x60;historical_import&#x60; flag. If this flag is set &#x60;true&#x60;, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated \&quot;Added to list\&quot; flows. This is useful for importing historical data where you have already collected consent. If &#x60;historical_import&#x60; is set to true, the &#x60;consented_at&#x60; field is required and must be in the past.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1426
1489
  # @param subscription_create_job_create_query [SubscriptionCreateJobCreateQuery] Subscribes one or more profiles to marketing. Currently, supports email and SMS only. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.
@@ -1481,6 +1544,9 @@ module KlaviyoAPI
1481
1544
  return data, status_code, headers
1482
1545
  end
1483
1546
 
1547
+ # alias of `subscribe_profiles_with_http_info`
1548
+ alias create_profile_subscription_bulk_create_job_with_http_info subscribe_profiles_with_http_info
1549
+
1484
1550
  # Suppress Profiles
1485
1551
  # Manually suppress profiles using their email address, or by specifying a segment or list ID to suppress all current members. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write` `subscriptions:write`
1486
1552
  # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
@@ -1491,6 +1557,9 @@ module KlaviyoAPI
1491
1557
  nil
1492
1558
  end
1493
1559
 
1560
+ # alias of `suppress_profiles`
1561
+ alias create_profile_suppression_bulk_create_job suppress_profiles
1562
+
1494
1563
  # Suppress Profiles
1495
1564
  # Manually suppress profiles using their email address, or by specifying a segment or list ID to suppress all current members. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1496
1565
  # @param suppression_create_job_create_query [SuppressionCreateJobCreateQuery] Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed.
@@ -1551,6 +1620,9 @@ module KlaviyoAPI
1551
1620
  return data, status_code, headers
1552
1621
  end
1553
1622
 
1623
+ # alias of `suppress_profiles_with_http_info`
1624
+ alias create_profile_suppression_bulk_create_job_with_http_info suppress_profiles_with_http_info
1625
+
1554
1626
  # Unsubscribe Profiles
1555
1627
  # Unsubscribe one or more profiles to email marketing, SMS marketing, or both. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). To remove someone from a list without changing their subscription status, use [Remove Profile from List](https://developers.klaviyo.com/en/reference/delete_list_relationships). Maximum number of profile can be submitted for unsubscription: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`
1556
1628
  # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
@@ -1561,6 +1633,9 @@ module KlaviyoAPI
1561
1633
  nil
1562
1634
  end
1563
1635
 
1636
+ # alias of `unsubscribe_profiles`
1637
+ alias create_profile_subscription_bulk_delete_job unsubscribe_profiles
1638
+
1564
1639
  # Unsubscribe Profiles
1565
1640
  # Unsubscribe one or more profiles to email marketing, SMS marketing, or both. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). To remove someone from a list without changing their subscription status, use [Remove Profile from List](https://developers.klaviyo.com/en/reference/delete_list_relationships). Maximum number of profile can be submitted for unsubscription: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;lists:write&#x60; &#x60;profiles:write&#x60; &#x60;subscriptions:write&#x60;
1566
1641
  # @param subscription_delete_job_create_query [SubscriptionDeleteJobCreateQuery] Unsubscribes one or more profiles from marketing. Currently, supports email and SMS only. All profiles will be removed from the provided list. Either email or phone number is required. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.
@@ -1621,6 +1696,9 @@ module KlaviyoAPI
1621
1696
  return data, status_code, headers
1622
1697
  end
1623
1698
 
1699
+ # alias of `unsubscribe_profiles_with_http_info`
1700
+ alias create_profile_subscription_bulk_delete_job_with_http_info unsubscribe_profiles_with_http_info
1701
+
1624
1702
  # Unsuppress Profiles
1625
1703
  # Manually unsuppress profiles using their email address, or by specifying a segment or list ID to unsuppress all current members. This only removes suppressions with reason `USER_SUPPRESSED`, leaving unsubscribed profiles and profiles suppressed with reason `INVALID_EMAIL` or `HARD_BOUNCE` unchanged. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `subscriptions:write`
1626
1704
  # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
@@ -1631,6 +1709,9 @@ module KlaviyoAPI
1631
1709
  nil
1632
1710
  end
1633
1711
 
1712
+ # alias of `unsuppress_profiles`
1713
+ alias create_profile_suppression_bulk_delete_job unsuppress_profiles
1714
+
1634
1715
  # Unsuppress Profiles
1635
1716
  # Manually unsuppress profiles using their email address, or by specifying a segment or list ID to unsuppress all current members. This only removes suppressions with reason &#x60;USER_SUPPRESSED&#x60;, leaving unsubscribed profiles and profiles suppressed with reason &#x60;INVALID_EMAIL&#x60; or &#x60;HARD_BOUNCE&#x60; unchanged. To learn more, see our [email suppressions guide](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1) and our [collecting consent guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email addresses per request limit: 100&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;75/s&#x60;&lt;br&gt;Steady: &#x60;700/m&#x60; **Scopes:** &#x60;subscriptions:write&#x60;
1636
1717
  # @param suppression_delete_job_create_query [SuppressionDeleteJobCreateQuery] Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.
@@ -1691,6 +1772,9 @@ module KlaviyoAPI
1691
1772
  return data, status_code, headers
1692
1773
  end
1693
1774
 
1775
+ # alias of `unsuppress_profiles_with_http_info`
1776
+ alias create_profile_suppression_bulk_delete_job_with_http_info unsuppress_profiles_with_http_info
1777
+
1694
1778
  # Update Profile
1695
1779
  # Update the profile with the given profile ID. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged.<br><br>*Rate limits*:<br>Burst: `75/s`<br>Steady: `700/m` **Scopes:** `profiles:write`
1696
1780
  # @param id [String] Primary key that uniquely identifies this profile. Generated by Klaviyo.