criteo-api-retailmedia-sdk 2025.4.0.250425__py3-none-any.whl → 2025.4.0.250606__py3-none-any.whl

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.

Potentially problematic release.


This version of criteo-api-retailmedia-sdk might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: criteo-api-retailmedia-sdk
3
- Version: 2025.4.0.250425
3
+ Version: 2025.4.0.250606
4
4
  Summary: Criteo API SDK
5
5
  Home-page: https://github.com/criteo/criteo-api-python-sdk
6
6
  Author: Criteo
@@ -35,9 +35,9 @@ IMPORTANT: This Python package links to Criteo production environment. Any test
35
35
 
36
36
 
37
37
  ```sh
38
- pip install criteo-api-retailmedia-sdk==2025.04.0.250425
38
+ pip install criteo-api-retailmedia-sdk==2025.04.0.250606
39
39
  ```
40
- (you may need to run `pip` with root permission: `sudo pip install criteo-api-retailmedia-sdk==2025.04.0.250425`)
40
+ (you may need to run `pip` with root permission: `sudo pip install criteo-api-retailmedia-sdk==2025.04.0.250606`)
41
41
 
42
42
  Then import the package:
43
43
  ```python
@@ -1,7 +1,7 @@
1
- criteo_api_retailmedia_v2025_04/__init__.py,sha256=EHP88dEe-TEm6FbqLigw62GDcMo6bFrz_HD0T_WPnDA,1040
2
- criteo_api_retailmedia_v2025_04/api_client.py,sha256=H_tnFpejDongFWzEz0eotKxmchY4Rwjt0m1DDGUmFkc,39191
1
+ criteo_api_retailmedia_v2025_04/__init__.py,sha256=lJD08DeBoula-Cw3Cb9Oo6ElQS_2yE68gAjAv_mpyQg,1040
2
+ criteo_api_retailmedia_v2025_04/api_client.py,sha256=GKC-220hewaJ1s0VDbzwbV57h-AqjGhi0hILpA9IzJ0,39191
3
3
  criteo_api_retailmedia_v2025_04/api_client_builder.py,sha256=RliQFxWPQt93aRkPLmPFpss7TdUKM4VL4hRzM3NTZCg,1507
4
- criteo_api_retailmedia_v2025_04/configuration.py,sha256=yvXw5IqiPH5wjyqXA5S1DOh9LLNDP1VKsU2Bbson064,16722
4
+ criteo_api_retailmedia_v2025_04/configuration.py,sha256=NitH65bq7epkkOs-rIiiG6GIF6IJSiXO9uWaImXPVm4,16722
5
5
  criteo_api_retailmedia_v2025_04/criteo_api_client.py,sha256=xqQE1FWWOTEaJmSaivglUcv_kFgi9rsvNqxql0TthX4,654
6
6
  criteo_api_retailmedia_v2025_04/criteo_auth.py,sha256=mhzpg7J7ESRQm8oiwJZpuyu19hP98bMM93nPqjXjBJY,4696
7
7
  criteo_api_retailmedia_v2025_04/criteo_rest.py,sha256=iBFTU3SHeX5Gk65edUpip99zdZ6sFLrg4xd8SI8po7A,3413
@@ -12,7 +12,7 @@ criteo_api_retailmedia_v2025_04/rest.py,sha256=iObJv_8Rc-QmwBJVY6cjmHd01CraNibpa
12
12
  criteo_api_retailmedia_v2025_04/api/__init__.py,sha256=q4mH0t6gsXjRZ6fsvAVQfZSxvVklATTgzHzdmGzkPcQ,236
13
13
  criteo_api_retailmedia_v2025_04/api/accounts_api.py,sha256=pUEBqdTdGChytdAtpU-j5QCnNwEH_7W1mY4_FT-clNc,54098
14
14
  criteo_api_retailmedia_v2025_04/api/analytics_api.py,sha256=KyE0OTIZNUtGvTakoEe7TgDLEe8Zvlrq3RRMtWHlH1k,28515
15
- criteo_api_retailmedia_v2025_04/api/audience_api.py,sha256=DgR2kwiIBz9WJc1TBjs5u1sSm5QzH9GKy_0pFMxaZ6I,52404
15
+ criteo_api_retailmedia_v2025_04/api/audience_api.py,sha256=hLO7M26gl2V0ieWuAWbdvitZFKCwHQqTcLcSG1pjKsc,52395
16
16
  criteo_api_retailmedia_v2025_04/api/balance_api.py,sha256=kqyoLa5CNPsuHJadbD2NW736R9sly-Agr3kz1-Ch_Pg,52564
17
17
  criteo_api_retailmedia_v2025_04/api/campaign_api.py,sha256=Yxuy2OUVFWGyF4MXiyVT8XEdz8SuBnp0UXxU0AZGktU,362909
18
18
  criteo_api_retailmedia_v2025_04/api/gateway_api.py,sha256=ZsTLUrB1BDBHsQMrGWKytFxzxE149uGSCxyxtSby5ww,5696
@@ -107,7 +107,7 @@ criteo_api_retailmedia_v2025_04/model/external_audience_target202110.py,sha256=n
107
107
  criteo_api_retailmedia_v2025_04/model/external_brand.py,sha256=aKo_WnFXJ0MosHz-pdz9ovWwBMz_5lf92cKFETTEYk8,11242
108
108
  criteo_api_retailmedia_v2025_04/model/external_catalog_request.py,sha256=sWcLs5hguQ6dB0kwUKWwW7DW1wezPBnLxzFzv3OuqwA,11870
109
109
  criteo_api_retailmedia_v2025_04/model/external_catalog_status.py,sha256=SF6uxQDvewPfkBY4qHC-20XKYtPRqM91RNbGqgShJT4,14648
110
- criteo_api_retailmedia_v2025_04/model/external_common_line_item.py,sha256=HyiBcm_pZvvvRGL465dlREDxEB-6RnRCDxqj705ww1Y,15134
110
+ criteo_api_retailmedia_v2025_04/model/external_common_line_item.py,sha256=q1N0TVAVZQYR7KPFtkEke1sGdSn5pd5RjMA58MOBapw,15371
111
111
  criteo_api_retailmedia_v2025_04/model/external_line_item_bid_multipliers_v2.py,sha256=7pdqbFxVqlZ2_GqenFy1dXnsQkNHZtPcZefTX80Jquk,14969
112
112
  criteo_api_retailmedia_v2025_04/model/external_line_item_capping_v2.py,sha256=f6PaCl0IZdDDhVQta2cOTxW3zCOm0ijjG1wGmUmwYFA,11844
113
113
  criteo_api_retailmedia_v2025_04/model/external_line_item_page_category_v2.py,sha256=VfUjnJiSZ207Vv9k1uu6ldiLAD5J5LNS_e5T_pnxhmY,11907
@@ -166,6 +166,7 @@ criteo_api_retailmedia_v2025_04/model/line_item_product_status.py,sha256=FjwBTCT
166
166
  criteo_api_retailmedia_v2025_04/model/match_type_model.py,sha256=G24k9McEBdNUZK02Q_guFdEfEknDSHj89w4QVZvQ2Nc,12314
167
167
  criteo_api_retailmedia_v2025_04/model/metadata.py,sha256=3MoQaVHqVlmGOl7PbzAoVPQp-WkTLLWUciCNognXgnc,11756
168
168
  criteo_api_retailmedia_v2025_04/model/monthly_line_item_budeget_override.py,sha256=puruDpVVB-DUgy320slv0s_t7E5esmfjRmTPnhIxR4w,12948
169
+ criteo_api_retailmedia_v2025_04/model/nillable_decimal.py,sha256=_0i9WK1G4dqSbNFMYcfRk1bbDT9l4Hni6-dUHG9jdM0,11553
169
170
  criteo_api_retailmedia_v2025_04/model/nillable_string.py,sha256=Fi271OZyHhg4jIhVHo7ncA_wIIXeIru1LKPt-VdzkLA,11580
170
171
  criteo_api_retailmedia_v2025_04/model/outcome.py,sha256=R8BqfKMoVQapg2JOWpsHzFKaFFstkH5V6bfVzJtlYoE,11938
171
172
  criteo_api_retailmedia_v2025_04/model/page_metadata.py,sha256=pLSdq2Nc0Q12JIEnNgM1Q5CF4XWdh2sII2FZvZo7k1c,12693
@@ -224,7 +225,7 @@ criteo_api_retailmedia_v2025_04/model/rm_audience_search_metadata_v1.py,sha256=G
224
225
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_bulk_create_input_v1.py,sha256=vuEkLWeUZYQTHYkLjvrZvS3zgGmea7gki3j5z55Z-LY,11864
225
226
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_bulk_delete_input_v1.py,sha256=sNh44ZrrvtR8M9Yd206kmDwxroCftKrNDHIZEoJL2iw,11864
226
227
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_bulk_update_input_v1.py,sha256=XxIIvqF-RIZqjV5KKnHbCCwUbED7MLYbYgtM4Fog0YU,11864
227
- criteo_api_retailmedia_v2025_04/model/rm_audience_segment_create_entity_v1.py,sha256=3XEuxk3emJaJN_wWbQQkTLZg3n82g7rHEzQHQYfPG2U,12627
228
+ criteo_api_retailmedia_v2025_04/model/rm_audience_segment_create_entity_v1.py,sha256=oe3bU8-vLCpjw6hprooCFAt72n0gk9JuWLR44d36hxk,12998
228
229
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_create_entity_v1_resource.py,sha256=2tajJmMZAF2Wgl7ox97CJofOAtYGL793xJb-cjez_Mk,12024
229
230
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_delete_entity_v1_resource.py,sha256=_AzsgPH_tGiwhbw8g4BCQA7Z3pmvSmNmFhGWNIjzugM,12110
230
231
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_entity_v1.py,sha256=cpinDh5F1eCDzuJhZ1wq9X_R1OmYYvFglopu-IDIVRE,15198
@@ -237,13 +238,15 @@ criteo_api_retailmedia_v2025_04/model/rm_audience_segment_search_entity_v1.py,sh
237
238
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_search_entity_v1_resource.py,sha256=Ngb2mqUjvD8A2AOzZXm_u0rqCJWz_GIwqGLEHXNBsKM,12024
238
239
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_search_input_v1.py,sha256=s-yPrAO0Qh2d6YQjNEd8YTiWmdCuBSm8P3Lv_qefvno,11846
239
240
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_search_metadata_v1.py,sha256=6NQHGdo0ueYQEbpkKL0xDJzisoYXkKGMXrcqwPl-0b8,12101
240
- criteo_api_retailmedia_v2025_04/model/rm_audience_segment_update_entity_v1.py,sha256=1w7hYydBYi0MeYDFGiflhfuyTR1bN_bJzS3iS03TDCs,12443
241
+ criteo_api_retailmedia_v2025_04/model/rm_audience_segment_update_entity_v1.py,sha256=5bmEkeWldTZf1dm6pMiobrdwnlrVEACNXgxL2rS9ho8,12814
241
242
  criteo_api_retailmedia_v2025_04/model/rm_audience_segment_update_entity_v1_resource.py,sha256=-ROkx4WO5wOPIa-giQK4UGzrv04AsxwQJhtePd6Opnc,12228
242
243
  criteo_api_retailmedia_v2025_04/model/rm_contact_list_create_v1.py,sha256=8NT24eEmQt94OIIPRKN9OCy4AmOxUXEgZkQk8siLp1A,11725
243
244
  criteo_api_retailmedia_v2025_04/model/rm_contact_list_statistics_entity_v1.py,sha256=gDAQzhh3Wkezi1QK9pQv9x226cFqoHbVbP9e0nrcTLg,12523
244
245
  criteo_api_retailmedia_v2025_04/model/rm_contact_list_statistics_entity_v1_resource.py,sha256=OrvYNcj74AlQi4ZvDYdLuMkLE0gcISnV8c7i22FEFc4,12293
245
246
  criteo_api_retailmedia_v2025_04/model/rm_contact_list_statistics_entity_v1_response.py,sha256=V0FqAwMm9wvbcrjYKqYL0vGViVhINPLE5QRXMdnqS9Y,12593
246
247
  criteo_api_retailmedia_v2025_04/model/rm_contact_list_v1.py,sha256=SWASEWDKhvNrsZV1bMGXQaQRsOLMHKloOyV440DdR_U,12765
248
+ criteo_api_retailmedia_v2025_04/model/rm_events_create_v1.py,sha256=OXFfWjF_qGp1q2dEhbyJrP5EyXSNgVk3snxd9T4-h0g,13855
249
+ criteo_api_retailmedia_v2025_04/model/rm_events_update_v1.py,sha256=1bUH698nRXKjEqkIoOLvp2FyGLIbID7QthZhUIW2vD4,13756
247
250
  criteo_api_retailmedia_v2025_04/model/rm_events_v1.py,sha256=kw2lOhFGtkyk2iYdmRSCk5i8lWRA2Ubh_83TpHIhiag,13737
248
251
  criteo_api_retailmedia_v2025_04/model/rmca_common_problem.py,sha256=PaYa6F0Llx4tHP6vTusrH5iftE6mluMU1umuOIgEYdM,14553
249
252
  criteo_api_retailmedia_v2025_04/model/sdk_api_rest_common_problem.py,sha256=TXfVlPVeg94t_NPNNjTR8UYKyMMOL0HQdAfpReQ02nw,14017
@@ -304,8 +307,8 @@ criteo_api_retailmedia_v2025_04/model/value_type_resource_of_audience_target2021
304
307
  criteo_api_retailmedia_v2025_04/model/value_type_resource_of_store_ids_update_model202110.py,sha256=SoOEAzTHGbj3qt79AjXE5WdVzsprrVhSGQZGrrUlpOA,12052
305
308
  criteo_api_retailmedia_v2025_04/model/value_type_resource_of_store_target202110.py,sha256=GhptONObC3IGBaeMoIajguP9fZJTNQdDmWJcUH1nbTk,11970
306
309
  criteo_api_retailmedia_v2025_04/model/video_variable_value.py,sha256=HBu7I7zTVxvctyQlc0qIZYi8wPB3iNS6U2udbOp7Jms,12080
307
- criteo_api_retailmedia_v2025_04/models/__init__.py,sha256=3vRNVd0vBEs4E8N7jevu-NltKKC5nC4sA3oeSk8sKL4,32691
308
- criteo_api_retailmedia_sdk-2025.4.0.250425.dist-info/METADATA,sha256=xAO6heEoSIbOe6CXmQ1GDpHpsrPOWerbgExqTMt2Z_Y,1866
309
- criteo_api_retailmedia_sdk-2025.4.0.250425.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
310
- criteo_api_retailmedia_sdk-2025.4.0.250425.dist-info/top_level.txt,sha256=RRzMultOBsiZbv-hjIvOJTvxKf5rZs-cWvTLfoxhg7Y,32
311
- criteo_api_retailmedia_sdk-2025.4.0.250425.dist-info/RECORD,,
310
+ criteo_api_retailmedia_v2025_04/models/__init__.py,sha256=m5UpfyFmDzb6EqVn-s7Poy7eK5omtr1V3hoWkIVHaZY,32948
311
+ criteo_api_retailmedia_sdk-2025.4.0.250606.dist-info/METADATA,sha256=cldNTzoMSt94ih5lZ-mm_Ygy3JKrVH7einhSIdlVlIc,1866
312
+ criteo_api_retailmedia_sdk-2025.4.0.250606.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
313
+ criteo_api_retailmedia_sdk-2025.4.0.250606.dist-info/top_level.txt,sha256=RRzMultOBsiZbv-hjIvOJTvxKf5rZs-cWvTLfoxhg7Y,32
314
+ criteo_api_retailmedia_sdk-2025.4.0.250606.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (79.0.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -8,7 +8,7 @@
8
8
  """
9
9
 
10
10
 
11
- __version__ = "2025.04.0.250425"
11
+ __version__ = "2025.04.0.250606"
12
12
 
13
13
  # import ApiClient
14
14
  from criteo_api_retailmedia_v2025_04.api_client import ApiClient
@@ -666,7 +666,7 @@ class AudienceApi(object):
666
666
  ):
667
667
  """bulk_delete_audience_segments # noqa: E501
668
668
 
669
- Delete the segments associated to the given audience IDs. # noqa: E501
669
+ Delete the segments associated to the given IDs. # noqa: E501
670
670
  This method makes a synchronous HTTP request by default. To make an
671
671
  asynchronous HTTP request, please pass async_req=True
672
672
 
@@ -76,7 +76,7 @@ class ApiClient(object):
76
76
  self.default_headers[header_name] = header_value
77
77
  self.cookie = cookie
78
78
  # Set default User-Agent.
79
- self.user_agent = 'OpenAPI-Generator/2025.04.0.250425/python'
79
+ self.user_agent = 'OpenAPI-Generator/2025.04.0.250606/python'
80
80
 
81
81
  def __enter__(self):
82
82
  return self
@@ -395,7 +395,7 @@ class Configuration(object):
395
395
  "OS: {env}\n"\
396
396
  "Python Version: {pyversion}\n"\
397
397
  "Version of the API: 2025-04\n"\
398
- "SDK Package Version: 2025.04.0.250425".\
398
+ "SDK Package Version: 2025.04.0.250606".\
399
399
  format(env=sys.platform, pyversion=sys.version)
400
400
 
401
401
  def get_host_settings(self):
@@ -112,6 +112,7 @@ class ExternalCommonLineItem(ModelNormal):
112
112
  'budget': (float, none_type,), # noqa: E501
113
113
  'budget_spent': (float,), # noqa: E501
114
114
  'end_date': (date, none_type,), # noqa: E501
115
+ 'id': (str, none_type,), # noqa: E501
115
116
  'status': (str,), # noqa: E501
116
117
  }
117
118
 
@@ -132,6 +133,7 @@ class ExternalCommonLineItem(ModelNormal):
132
133
  'budget': 'budget', # noqa: E501
133
134
  'budget_spent': 'budgetSpent', # noqa: E501
134
135
  'end_date': 'endDate', # noqa: E501
136
+ 'id': 'id', # noqa: E501
135
137
  'status': 'status', # noqa: E501
136
138
  }
137
139
 
@@ -189,6 +191,7 @@ class ExternalCommonLineItem(ModelNormal):
189
191
  budget (float, none_type): [optional] # noqa: E501
190
192
  budget_spent (float): [optional] # noqa: E501
191
193
  end_date (date, none_type): Represents the Date as a year, month, and day in the format YYYY-MM-DD. [optional] # noqa: E501
194
+ id (str, none_type): Id of the entity. [optional] # noqa: E501
192
195
  status (str): [optional] # noqa: E501
193
196
  """
194
197
 
@@ -296,6 +299,7 @@ class ExternalCommonLineItem(ModelNormal):
296
299
  budget (float, none_type): [optional] # noqa: E501
297
300
  budget_spent (float): [optional] # noqa: E501
298
301
  end_date (date, none_type): Represents the Date as a year, month, and day in the format YYYY-MM-DD. [optional] # noqa: E501
302
+ id (str, none_type): Id of the entity. [optional] # noqa: E501
299
303
  status (str): [optional] # noqa: E501
300
304
  """
301
305
 
@@ -0,0 +1,263 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - RetailMedia # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-04
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_retailmedia_v2025_04.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_retailmedia_v2025_04.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class NillableDecimal(ModelNormal):
34
+ """NOTE: This class is auto generated by OpenAPI Generator.
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+
39
+ Attributes:
40
+ allowed_values (dict): The key is the tuple path to the attribute
41
+ and the for var_name this is (var_name,). The value is a dict
42
+ with a capitalized key describing the allowed value and an allowed
43
+ value. These dicts store the allowed enum values.
44
+ attribute_map (dict): The key is attribute name
45
+ and the value is json key in definition.
46
+ discriminator_value_class_map (dict): A dict to go from the discriminator
47
+ variable value to the discriminator class name.
48
+ validations (dict): The key is the tuple path to the attribute
49
+ and the for var_name this is (var_name,). The value is a dict
50
+ that stores validations for max_length, min_length, max_items,
51
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
52
+ inclusive_minimum, and regex.
53
+ additional_properties_type (tuple): A tuple of classes accepted
54
+ as additional properties values.
55
+ """
56
+
57
+ allowed_values = {
58
+ }
59
+
60
+ validations = {
61
+ }
62
+
63
+ @cached_property
64
+ def additional_properties_type():
65
+ """
66
+ This must be a method because a model may have properties that are
67
+ of type self, this must run after the class is loaded
68
+ """
69
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
+
71
+ _nullable = True
72
+
73
+ @cached_property
74
+ def openapi_types():
75
+ """
76
+ This must be a method because a model may have properties that are
77
+ of type self, this must run after the class is loaded
78
+
79
+ Returns
80
+ openapi_types (dict): The key is attribute name
81
+ and the value is attribute type.
82
+ """
83
+ return {
84
+ 'value': (float, none_type,), # noqa: E501
85
+ }
86
+
87
+ @cached_property
88
+ def discriminator():
89
+ return None
90
+
91
+
92
+ attribute_map = {
93
+ 'value': 'value', # noqa: E501
94
+ }
95
+
96
+ read_only_vars = {
97
+ }
98
+
99
+ _composed_schemas = {}
100
+
101
+ @classmethod
102
+ @convert_js_args_to_python_args
103
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
104
+ """NillableDecimal - a model defined in OpenAPI
105
+
106
+ Keyword Args:
107
+ _check_type (bool): if True, values for parameters in openapi_types
108
+ will be type checked and a TypeError will be
109
+ raised if the wrong type is input.
110
+ Defaults to True
111
+ _path_to_item (tuple/list): This is a list of keys or values to
112
+ drill down to the model in received_data
113
+ when deserializing a response
114
+ _spec_property_naming (bool): True if the variable names in the input data
115
+ are serialized names, as specified in the OpenAPI document.
116
+ False if the variable names in the input data
117
+ are pythonic names, e.g. snake case (default)
118
+ _configuration (Configuration): the instance to use when
119
+ deserializing a file_type parameter.
120
+ If passed, type conversion is attempted
121
+ If omitted no type conversion is done.
122
+ _visited_composed_classes (tuple): This stores a tuple of
123
+ classes that we have traveled through so that
124
+ if we see that class again we will not use its
125
+ discriminator again.
126
+ When traveling through a discriminator, the
127
+ composed schema that is
128
+ is traveled through is added to this set.
129
+ For example if Animal has a discriminator
130
+ petType and we pass in "Dog", and the class Dog
131
+ allOf includes Animal, we move through Animal
132
+ once using the discriminator, and pick Dog.
133
+ Then in Dog, we will make an instance of the
134
+ Animal class but this time we won't travel
135
+ through its discriminator because we passed in
136
+ _visited_composed_classes = (Animal,)
137
+ value (float, none_type): The value. If missing or null the value is set to \"null\". [optional] # noqa: E501
138
+ """
139
+
140
+ _check_type = kwargs.pop('_check_type', True)
141
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
142
+ _path_to_item = kwargs.pop('_path_to_item', ())
143
+ _configuration = kwargs.pop('_configuration', None)
144
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
145
+
146
+ self = super(OpenApiModel, cls).__new__(cls)
147
+
148
+ if args:
149
+ for arg in args:
150
+ if isinstance(arg, dict):
151
+ kwargs.update(arg)
152
+ else:
153
+ raise ApiTypeError(
154
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
155
+ args,
156
+ self.__class__.__name__,
157
+ ),
158
+ path_to_item=_path_to_item,
159
+ valid_classes=(self.__class__,),
160
+ )
161
+
162
+ self._data_store = {}
163
+ self._check_type = _check_type
164
+ self._spec_property_naming = _spec_property_naming
165
+ self._path_to_item = _path_to_item
166
+ self._configuration = _configuration
167
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
168
+
169
+ for var_name, var_value in kwargs.items():
170
+ if var_name not in self.attribute_map and \
171
+ self._configuration is not None and \
172
+ self._configuration.discard_unknown_keys and \
173
+ self.additional_properties_type is None:
174
+ # discard variable.
175
+ continue
176
+ setattr(self, var_name, var_value)
177
+ return self
178
+
179
+ required_properties = set([
180
+ '_data_store',
181
+ '_check_type',
182
+ '_spec_property_naming',
183
+ '_path_to_item',
184
+ '_configuration',
185
+ '_visited_composed_classes',
186
+ ])
187
+
188
+ @convert_js_args_to_python_args
189
+ def __init__(self, *args, **kwargs): # noqa: E501
190
+ """NillableDecimal - a model defined in OpenAPI
191
+
192
+ Keyword Args:
193
+ _check_type (bool): if True, values for parameters in openapi_types
194
+ will be type checked and a TypeError will be
195
+ raised if the wrong type is input.
196
+ Defaults to True
197
+ _path_to_item (tuple/list): This is a list of keys or values to
198
+ drill down to the model in received_data
199
+ when deserializing a response
200
+ _spec_property_naming (bool): True if the variable names in the input data
201
+ are serialized names, as specified in the OpenAPI document.
202
+ False if the variable names in the input data
203
+ are pythonic names, e.g. snake case (default)
204
+ _configuration (Configuration): the instance to use when
205
+ deserializing a file_type parameter.
206
+ If passed, type conversion is attempted
207
+ If omitted no type conversion is done.
208
+ _visited_composed_classes (tuple): This stores a tuple of
209
+ classes that we have traveled through so that
210
+ if we see that class again we will not use its
211
+ discriminator again.
212
+ When traveling through a discriminator, the
213
+ composed schema that is
214
+ is traveled through is added to this set.
215
+ For example if Animal has a discriminator
216
+ petType and we pass in "Dog", and the class Dog
217
+ allOf includes Animal, we move through Animal
218
+ once using the discriminator, and pick Dog.
219
+ Then in Dog, we will make an instance of the
220
+ Animal class but this time we won't travel
221
+ through its discriminator because we passed in
222
+ _visited_composed_classes = (Animal,)
223
+ value (float, none_type): The value. If missing or null the value is set to \"null\". [optional] # noqa: E501
224
+ """
225
+
226
+ _check_type = kwargs.pop('_check_type', True)
227
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
228
+ _path_to_item = kwargs.pop('_path_to_item', ())
229
+ _configuration = kwargs.pop('_configuration', None)
230
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
231
+
232
+ if args:
233
+ for arg in args:
234
+ if isinstance(arg, dict):
235
+ kwargs.update(arg)
236
+ else:
237
+ raise ApiTypeError(
238
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
239
+ args,
240
+ self.__class__.__name__,
241
+ ),
242
+ path_to_item=_path_to_item,
243
+ valid_classes=(self.__class__,),
244
+ )
245
+
246
+ self._data_store = {}
247
+ self._check_type = _check_type
248
+ self._spec_property_naming = _spec_property_naming
249
+ self._path_to_item = _path_to_item
250
+ self._configuration = _configuration
251
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
252
+
253
+ for var_name, var_value in kwargs.items():
254
+ if var_name not in self.attribute_map and \
255
+ self._configuration is not None and \
256
+ self._configuration.discard_unknown_keys and \
257
+ self.additional_properties_type is None:
258
+ # discard variable.
259
+ continue
260
+ setattr(self, var_name, var_value)
261
+ if var_name in self.read_only_vars:
262
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
263
+ f"class with read only attributes.")
@@ -31,7 +31,9 @@ from criteo_api_retailmedia_v2025_04.exceptions import ApiAttributeError
31
31
 
32
32
  def lazy_import():
33
33
  from criteo_api_retailmedia_v2025_04.model.rm_contact_list_create_v1 import RmContactListCreateV1
34
+ from criteo_api_retailmedia_v2025_04.model.rm_events_create_v1 import RmEventsCreateV1
34
35
  globals()['RmContactListCreateV1'] = RmContactListCreateV1
36
+ globals()['RmEventsCreateV1'] = RmEventsCreateV1
35
37
 
36
38
 
37
39
  class RmAudienceSegmentCreateEntityV1(ModelNormal):
@@ -91,6 +93,7 @@ class RmAudienceSegmentCreateEntityV1(ModelNormal):
91
93
  'retailer_id': (str,), # noqa: E501
92
94
  'contact_list': (RmContactListCreateV1,), # noqa: E501
93
95
  'description': (str,), # noqa: E501
96
+ 'events': (RmEventsCreateV1,), # noqa: E501
94
97
  }
95
98
 
96
99
  @cached_property
@@ -103,6 +106,7 @@ class RmAudienceSegmentCreateEntityV1(ModelNormal):
103
106
  'retailer_id': 'retailerId', # noqa: E501
104
107
  'contact_list': 'contactList', # noqa: E501
105
108
  'description': 'description', # noqa: E501
109
+ 'events': 'events', # noqa: E501
106
110
  }
107
111
 
108
112
  read_only_vars = {
@@ -152,6 +156,7 @@ class RmAudienceSegmentCreateEntityV1(ModelNormal):
152
156
  _visited_composed_classes = (Animal,)
153
157
  contact_list (RmContactListCreateV1): [optional] # noqa: E501
154
158
  description (str): Description of the segment. [optional] # noqa: E501
159
+ events (RmEventsCreateV1): [optional] # noqa: E501
155
160
  """
156
161
 
157
162
  _check_type = kwargs.pop('_check_type', True)
@@ -245,6 +250,7 @@ class RmAudienceSegmentCreateEntityV1(ModelNormal):
245
250
  _visited_composed_classes = (Animal,)
246
251
  contact_list (RmContactListCreateV1): [optional] # noqa: E501
247
252
  description (str): Description of the segment. [optional] # noqa: E501
253
+ events (RmEventsCreateV1): [optional] # noqa: E501
248
254
  """
249
255
 
250
256
  _check_type = kwargs.pop('_check_type', True)
@@ -31,7 +31,9 @@ from criteo_api_retailmedia_v2025_04.exceptions import ApiAttributeError
31
31
 
32
32
  def lazy_import():
33
33
  from criteo_api_retailmedia_v2025_04.model.nillable_string import NillableString
34
+ from criteo_api_retailmedia_v2025_04.model.rm_events_update_v1 import RmEventsUpdateV1
34
35
  globals()['NillableString'] = NillableString
36
+ globals()['RmEventsUpdateV1'] = RmEventsUpdateV1
35
37
 
36
38
 
37
39
  class RmAudienceSegmentUpdateEntityV1(ModelNormal):
@@ -89,6 +91,7 @@ class RmAudienceSegmentUpdateEntityV1(ModelNormal):
89
91
  return {
90
92
  'contact_list': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
91
93
  'description': (NillableString,), # noqa: E501
94
+ 'events': (RmEventsUpdateV1,), # noqa: E501
92
95
  'name': (str,), # noqa: E501
93
96
  }
94
97
 
@@ -100,6 +103,7 @@ class RmAudienceSegmentUpdateEntityV1(ModelNormal):
100
103
  attribute_map = {
101
104
  'contact_list': 'contactList', # noqa: E501
102
105
  'description': 'description', # noqa: E501
106
+ 'events': 'events', # noqa: E501
103
107
  'name': 'name', # noqa: E501
104
108
  }
105
109
 
@@ -146,6 +150,7 @@ class RmAudienceSegmentUpdateEntityV1(ModelNormal):
146
150
  _visited_composed_classes = (Animal,)
147
151
  contact_list ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Settings to update the contact list of the segment. [optional] # noqa: E501
148
152
  description (NillableString): [optional] # noqa: E501
153
+ events (RmEventsUpdateV1): [optional] # noqa: E501
149
154
  name (str): Name of the segment. [optional] # noqa: E501
150
155
  """
151
156
 
@@ -234,6 +239,7 @@ class RmAudienceSegmentUpdateEntityV1(ModelNormal):
234
239
  _visited_composed_classes = (Animal,)
235
240
  contact_list ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Settings to update the contact list of the segment. [optional] # noqa: E501
236
241
  description (NillableString): [optional] # noqa: E501
242
+ events (RmEventsUpdateV1): [optional] # noqa: E501
237
243
  name (str): Name of the segment. [optional] # noqa: E501
238
244
  """
239
245
 
@@ -0,0 +1,305 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - RetailMedia # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-04
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_retailmedia_v2025_04.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_retailmedia_v2025_04.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class RmEventsCreateV1(ModelNormal):
34
+ """NOTE: This class is auto generated by OpenAPI Generator.
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+
39
+ Attributes:
40
+ allowed_values (dict): The key is the tuple path to the attribute
41
+ and the for var_name this is (var_name,). The value is a dict
42
+ with a capitalized key describing the allowed value and an allowed
43
+ value. These dicts store the allowed enum values.
44
+ attribute_map (dict): The key is attribute name
45
+ and the value is json key in definition.
46
+ discriminator_value_class_map (dict): A dict to go from the discriminator
47
+ variable value to the discriminator class name.
48
+ validations (dict): The key is the tuple path to the attribute
49
+ and the for var_name this is (var_name,). The value is a dict
50
+ that stores validations for max_length, min_length, max_items,
51
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
52
+ inclusive_minimum, and regex.
53
+ additional_properties_type (tuple): A tuple of classes accepted
54
+ as additional properties values.
55
+ """
56
+
57
+ allowed_values = {
58
+ ('lookback_days',): {
59
+ 'UNKNOWN': "Unknown",
60
+ 'LAST7DAYS': "Last7Days",
61
+ 'LAST14DAYS': "Last14Days",
62
+ 'LAST30DAYS': "Last30Days",
63
+ 'LAST45DAYS': "Last45Days",
64
+ 'LAST60DAYS': "Last60Days",
65
+ 'LAST90DAYS': "Last90Days",
66
+ 'LAST120DAYS': "Last120Days",
67
+ 'LAST150DAYS': "Last150Days",
68
+ 'LAST180DAYS': "Last180Days",
69
+ },
70
+ ('shopper_activity',): {
71
+ 'UNKNOWN': "Unknown",
72
+ 'VIEW': "View",
73
+ 'BUY': "Buy",
74
+ 'ADDTOCART': "AddToCart",
75
+ },
76
+ }
77
+
78
+ validations = {
79
+ ('brand_ids',): {
80
+ },
81
+ ('category_ids',): {
82
+ },
83
+ }
84
+
85
+ @cached_property
86
+ def additional_properties_type():
87
+ """
88
+ This must be a method because a model may have properties that are
89
+ of type self, this must run after the class is loaded
90
+ """
91
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
92
+
93
+ _nullable = False
94
+
95
+ @cached_property
96
+ def openapi_types():
97
+ """
98
+ This must be a method because a model may have properties that are
99
+ of type self, this must run after the class is loaded
100
+
101
+ Returns
102
+ openapi_types (dict): The key is attribute name
103
+ and the value is attribute type.
104
+ """
105
+ return {
106
+ 'brand_ids': ([str],), # noqa: E501
107
+ 'category_ids': ([str],), # noqa: E501
108
+ 'lookback_days': (str,), # noqa: E501
109
+ 'max_price': (float,), # noqa: E501
110
+ 'min_price': (float,), # noqa: E501
111
+ 'shopper_activity': (str,), # noqa: E501
112
+ }
113
+
114
+ @cached_property
115
+ def discriminator():
116
+ return None
117
+
118
+
119
+ attribute_map = {
120
+ 'brand_ids': 'brandIds', # noqa: E501
121
+ 'category_ids': 'categoryIds', # noqa: E501
122
+ 'lookback_days': 'lookbackDays', # noqa: E501
123
+ 'max_price': 'maxPrice', # noqa: E501
124
+ 'min_price': 'minPrice', # noqa: E501
125
+ 'shopper_activity': 'shopperActivity', # noqa: E501
126
+ }
127
+
128
+ read_only_vars = {
129
+ }
130
+
131
+ _composed_schemas = {}
132
+
133
+ @classmethod
134
+ @convert_js_args_to_python_args
135
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
136
+ """RmEventsCreateV1 - a model defined in OpenAPI
137
+
138
+ Keyword Args:
139
+ _check_type (bool): if True, values for parameters in openapi_types
140
+ will be type checked and a TypeError will be
141
+ raised if the wrong type is input.
142
+ Defaults to True
143
+ _path_to_item (tuple/list): This is a list of keys or values to
144
+ drill down to the model in received_data
145
+ when deserializing a response
146
+ _spec_property_naming (bool): True if the variable names in the input data
147
+ are serialized names, as specified in the OpenAPI document.
148
+ False if the variable names in the input data
149
+ are pythonic names, e.g. snake case (default)
150
+ _configuration (Configuration): the instance to use when
151
+ deserializing a file_type parameter.
152
+ If passed, type conversion is attempted
153
+ If omitted no type conversion is done.
154
+ _visited_composed_classes (tuple): This stores a tuple of
155
+ classes that we have traveled through so that
156
+ if we see that class again we will not use its
157
+ discriminator again.
158
+ When traveling through a discriminator, the
159
+ composed schema that is
160
+ is traveled through is added to this set.
161
+ For example if Animal has a discriminator
162
+ petType and we pass in "Dog", and the class Dog
163
+ allOf includes Animal, we move through Animal
164
+ once using the discriminator, and pick Dog.
165
+ Then in Dog, we will make an instance of the
166
+ Animal class but this time we won't travel
167
+ through its discriminator because we passed in
168
+ _visited_composed_classes = (Animal,)
169
+ brand_ids ([str]): Choose the brands your segment might be interested in. [optional] # noqa: E501
170
+ category_ids ([str]): Choose the categories your segment might be interested in. [optional] # noqa: E501
171
+ lookback_days (str): Number of days of the lookback windows. [optional] # noqa: E501
172
+ max_price (float): Reach people who’ve shown interest in products with a maximum price. [optional] # noqa: E501
173
+ min_price (float): Reach people who’ve shown interest in products with a minimum price. [optional] # noqa: E501
174
+ shopper_activity (str): Types of shopper activity.. [optional] # noqa: E501
175
+ """
176
+
177
+ _check_type = kwargs.pop('_check_type', True)
178
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
179
+ _path_to_item = kwargs.pop('_path_to_item', ())
180
+ _configuration = kwargs.pop('_configuration', None)
181
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
182
+
183
+ self = super(OpenApiModel, cls).__new__(cls)
184
+
185
+ if args:
186
+ for arg in args:
187
+ if isinstance(arg, dict):
188
+ kwargs.update(arg)
189
+ else:
190
+ raise ApiTypeError(
191
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
192
+ args,
193
+ self.__class__.__name__,
194
+ ),
195
+ path_to_item=_path_to_item,
196
+ valid_classes=(self.__class__,),
197
+ )
198
+
199
+ self._data_store = {}
200
+ self._check_type = _check_type
201
+ self._spec_property_naming = _spec_property_naming
202
+ self._path_to_item = _path_to_item
203
+ self._configuration = _configuration
204
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
205
+
206
+ for var_name, var_value in kwargs.items():
207
+ if var_name not in self.attribute_map and \
208
+ self._configuration is not None and \
209
+ self._configuration.discard_unknown_keys and \
210
+ self.additional_properties_type is None:
211
+ # discard variable.
212
+ continue
213
+ setattr(self, var_name, var_value)
214
+ return self
215
+
216
+ required_properties = set([
217
+ '_data_store',
218
+ '_check_type',
219
+ '_spec_property_naming',
220
+ '_path_to_item',
221
+ '_configuration',
222
+ '_visited_composed_classes',
223
+ ])
224
+
225
+ @convert_js_args_to_python_args
226
+ def __init__(self, *args, **kwargs): # noqa: E501
227
+ """RmEventsCreateV1 - a model defined in OpenAPI
228
+
229
+ Keyword Args:
230
+ _check_type (bool): if True, values for parameters in openapi_types
231
+ will be type checked and a TypeError will be
232
+ raised if the wrong type is input.
233
+ Defaults to True
234
+ _path_to_item (tuple/list): This is a list of keys or values to
235
+ drill down to the model in received_data
236
+ when deserializing a response
237
+ _spec_property_naming (bool): True if the variable names in the input data
238
+ are serialized names, as specified in the OpenAPI document.
239
+ False if the variable names in the input data
240
+ are pythonic names, e.g. snake case (default)
241
+ _configuration (Configuration): the instance to use when
242
+ deserializing a file_type parameter.
243
+ If passed, type conversion is attempted
244
+ If omitted no type conversion is done.
245
+ _visited_composed_classes (tuple): This stores a tuple of
246
+ classes that we have traveled through so that
247
+ if we see that class again we will not use its
248
+ discriminator again.
249
+ When traveling through a discriminator, the
250
+ composed schema that is
251
+ is traveled through is added to this set.
252
+ For example if Animal has a discriminator
253
+ petType and we pass in "Dog", and the class Dog
254
+ allOf includes Animal, we move through Animal
255
+ once using the discriminator, and pick Dog.
256
+ Then in Dog, we will make an instance of the
257
+ Animal class but this time we won't travel
258
+ through its discriminator because we passed in
259
+ _visited_composed_classes = (Animal,)
260
+ brand_ids ([str]): Choose the brands your segment might be interested in. [optional] # noqa: E501
261
+ category_ids ([str]): Choose the categories your segment might be interested in. [optional] # noqa: E501
262
+ lookback_days (str): Number of days of the lookback windows. [optional] # noqa: E501
263
+ max_price (float): Reach people who’ve shown interest in products with a maximum price. [optional] # noqa: E501
264
+ min_price (float): Reach people who’ve shown interest in products with a minimum price. [optional] # noqa: E501
265
+ shopper_activity (str): Types of shopper activity.. [optional] # noqa: E501
266
+ """
267
+
268
+ _check_type = kwargs.pop('_check_type', True)
269
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
270
+ _path_to_item = kwargs.pop('_path_to_item', ())
271
+ _configuration = kwargs.pop('_configuration', None)
272
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
273
+
274
+ if args:
275
+ for arg in args:
276
+ if isinstance(arg, dict):
277
+ kwargs.update(arg)
278
+ else:
279
+ raise ApiTypeError(
280
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
281
+ args,
282
+ self.__class__.__name__,
283
+ ),
284
+ path_to_item=_path_to_item,
285
+ valid_classes=(self.__class__,),
286
+ )
287
+
288
+ self._data_store = {}
289
+ self._check_type = _check_type
290
+ self._spec_property_naming = _spec_property_naming
291
+ self._path_to_item = _path_to_item
292
+ self._configuration = _configuration
293
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
294
+
295
+ for var_name, var_value in kwargs.items():
296
+ if var_name not in self.attribute_map and \
297
+ self._configuration is not None and \
298
+ self._configuration.discard_unknown_keys and \
299
+ self.additional_properties_type is None:
300
+ # discard variable.
301
+ continue
302
+ setattr(self, var_name, var_value)
303
+ if var_name in self.read_only_vars:
304
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
305
+ f"class with read only attributes.")
@@ -0,0 +1,307 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - RetailMedia # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-04
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_retailmedia_v2025_04.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_retailmedia_v2025_04.exceptions import ApiAttributeError
30
+
31
+
32
+ def lazy_import():
33
+ from criteo_api_retailmedia_v2025_04.model.nillable_decimal import NillableDecimal
34
+ globals()['NillableDecimal'] = NillableDecimal
35
+
36
+
37
+ class RmEventsUpdateV1(ModelNormal):
38
+ """NOTE: This class is auto generated by OpenAPI Generator.
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+
43
+ Attributes:
44
+ allowed_values (dict): The key is the tuple path to the attribute
45
+ and the for var_name this is (var_name,). The value is a dict
46
+ with a capitalized key describing the allowed value and an allowed
47
+ value. These dicts store the allowed enum values.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ discriminator_value_class_map (dict): A dict to go from the discriminator
51
+ variable value to the discriminator class name.
52
+ validations (dict): The key is the tuple path to the attribute
53
+ and the for var_name this is (var_name,). The value is a dict
54
+ that stores validations for max_length, min_length, max_items,
55
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
56
+ inclusive_minimum, and regex.
57
+ additional_properties_type (tuple): A tuple of classes accepted
58
+ as additional properties values.
59
+ """
60
+
61
+ allowed_values = {
62
+ ('lookback_days',): {
63
+ 'UNKNOWN': "Unknown",
64
+ 'LAST7DAYS': "Last7Days",
65
+ 'LAST14DAYS': "Last14Days",
66
+ 'LAST30DAYS': "Last30Days",
67
+ 'LAST45DAYS': "Last45Days",
68
+ 'LAST60DAYS': "Last60Days",
69
+ 'LAST90DAYS': "Last90Days",
70
+ 'LAST120DAYS': "Last120Days",
71
+ 'LAST150DAYS': "Last150Days",
72
+ 'LAST180DAYS': "Last180Days",
73
+ },
74
+ ('shopper_activity',): {
75
+ 'UNKNOWN': "Unknown",
76
+ 'VIEW': "View",
77
+ 'BUY': "Buy",
78
+ 'ADDTOCART': "AddToCart",
79
+ },
80
+ }
81
+
82
+ validations = {
83
+ }
84
+
85
+ @cached_property
86
+ def additional_properties_type():
87
+ """
88
+ This must be a method because a model may have properties that are
89
+ of type self, this must run after the class is loaded
90
+ """
91
+ lazy_import()
92
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
93
+
94
+ _nullable = False
95
+
96
+ @cached_property
97
+ def openapi_types():
98
+ """
99
+ This must be a method because a model may have properties that are
100
+ of type self, this must run after the class is loaded
101
+
102
+ Returns
103
+ openapi_types (dict): The key is attribute name
104
+ and the value is attribute type.
105
+ """
106
+ lazy_import()
107
+ return {
108
+ 'brand_ids': ([str],), # noqa: E501
109
+ 'category_ids': ([str],), # noqa: E501
110
+ 'lookback_days': (str,), # noqa: E501
111
+ 'max_price': (NillableDecimal,), # noqa: E501
112
+ 'min_price': (NillableDecimal,), # noqa: E501
113
+ 'shopper_activity': (str,), # noqa: E501
114
+ }
115
+
116
+ @cached_property
117
+ def discriminator():
118
+ return None
119
+
120
+
121
+ attribute_map = {
122
+ 'brand_ids': 'brandIds', # noqa: E501
123
+ 'category_ids': 'categoryIds', # noqa: E501
124
+ 'lookback_days': 'lookbackDays', # noqa: E501
125
+ 'max_price': 'maxPrice', # noqa: E501
126
+ 'min_price': 'minPrice', # noqa: E501
127
+ 'shopper_activity': 'shopperActivity', # noqa: E501
128
+ }
129
+
130
+ read_only_vars = {
131
+ }
132
+
133
+ _composed_schemas = {}
134
+
135
+ @classmethod
136
+ @convert_js_args_to_python_args
137
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
138
+ """RmEventsUpdateV1 - a model defined in OpenAPI
139
+
140
+ Keyword Args:
141
+ _check_type (bool): if True, values for parameters in openapi_types
142
+ will be type checked and a TypeError will be
143
+ raised if the wrong type is input.
144
+ Defaults to True
145
+ _path_to_item (tuple/list): This is a list of keys or values to
146
+ drill down to the model in received_data
147
+ when deserializing a response
148
+ _spec_property_naming (bool): True if the variable names in the input data
149
+ are serialized names, as specified in the OpenAPI document.
150
+ False if the variable names in the input data
151
+ are pythonic names, e.g. snake case (default)
152
+ _configuration (Configuration): the instance to use when
153
+ deserializing a file_type parameter.
154
+ If passed, type conversion is attempted
155
+ If omitted no type conversion is done.
156
+ _visited_composed_classes (tuple): This stores a tuple of
157
+ classes that we have traveled through so that
158
+ if we see that class again we will not use its
159
+ discriminator again.
160
+ When traveling through a discriminator, the
161
+ composed schema that is
162
+ is traveled through is added to this set.
163
+ For example if Animal has a discriminator
164
+ petType and we pass in "Dog", and the class Dog
165
+ allOf includes Animal, we move through Animal
166
+ once using the discriminator, and pick Dog.
167
+ Then in Dog, we will make an instance of the
168
+ Animal class but this time we won't travel
169
+ through its discriminator because we passed in
170
+ _visited_composed_classes = (Animal,)
171
+ brand_ids ([str]): Choose the brands your segment might be interested in. [optional] # noqa: E501
172
+ category_ids ([str]): Choose the categories your segment might be interested in. [optional] # noqa: E501
173
+ lookback_days (str): Number of days of the lookback windows. [optional] # noqa: E501
174
+ max_price (NillableDecimal): [optional] # noqa: E501
175
+ min_price (NillableDecimal): [optional] # noqa: E501
176
+ shopper_activity (str): Types of shopper activity.. [optional] # noqa: E501
177
+ """
178
+
179
+ _check_type = kwargs.pop('_check_type', True)
180
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
181
+ _path_to_item = kwargs.pop('_path_to_item', ())
182
+ _configuration = kwargs.pop('_configuration', None)
183
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
184
+
185
+ self = super(OpenApiModel, cls).__new__(cls)
186
+
187
+ if args:
188
+ for arg in args:
189
+ if isinstance(arg, dict):
190
+ kwargs.update(arg)
191
+ else:
192
+ raise ApiTypeError(
193
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
194
+ args,
195
+ self.__class__.__name__,
196
+ ),
197
+ path_to_item=_path_to_item,
198
+ valid_classes=(self.__class__,),
199
+ )
200
+
201
+ self._data_store = {}
202
+ self._check_type = _check_type
203
+ self._spec_property_naming = _spec_property_naming
204
+ self._path_to_item = _path_to_item
205
+ self._configuration = _configuration
206
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
207
+
208
+ for var_name, var_value in kwargs.items():
209
+ if var_name not in self.attribute_map and \
210
+ self._configuration is not None and \
211
+ self._configuration.discard_unknown_keys and \
212
+ self.additional_properties_type is None:
213
+ # discard variable.
214
+ continue
215
+ setattr(self, var_name, var_value)
216
+ return self
217
+
218
+ required_properties = set([
219
+ '_data_store',
220
+ '_check_type',
221
+ '_spec_property_naming',
222
+ '_path_to_item',
223
+ '_configuration',
224
+ '_visited_composed_classes',
225
+ ])
226
+
227
+ @convert_js_args_to_python_args
228
+ def __init__(self, *args, **kwargs): # noqa: E501
229
+ """RmEventsUpdateV1 - a model defined in OpenAPI
230
+
231
+ Keyword Args:
232
+ _check_type (bool): if True, values for parameters in openapi_types
233
+ will be type checked and a TypeError will be
234
+ raised if the wrong type is input.
235
+ Defaults to True
236
+ _path_to_item (tuple/list): This is a list of keys or values to
237
+ drill down to the model in received_data
238
+ when deserializing a response
239
+ _spec_property_naming (bool): True if the variable names in the input data
240
+ are serialized names, as specified in the OpenAPI document.
241
+ False if the variable names in the input data
242
+ are pythonic names, e.g. snake case (default)
243
+ _configuration (Configuration): the instance to use when
244
+ deserializing a file_type parameter.
245
+ If passed, type conversion is attempted
246
+ If omitted no type conversion is done.
247
+ _visited_composed_classes (tuple): This stores a tuple of
248
+ classes that we have traveled through so that
249
+ if we see that class again we will not use its
250
+ discriminator again.
251
+ When traveling through a discriminator, the
252
+ composed schema that is
253
+ is traveled through is added to this set.
254
+ For example if Animal has a discriminator
255
+ petType and we pass in "Dog", and the class Dog
256
+ allOf includes Animal, we move through Animal
257
+ once using the discriminator, and pick Dog.
258
+ Then in Dog, we will make an instance of the
259
+ Animal class but this time we won't travel
260
+ through its discriminator because we passed in
261
+ _visited_composed_classes = (Animal,)
262
+ brand_ids ([str]): Choose the brands your segment might be interested in. [optional] # noqa: E501
263
+ category_ids ([str]): Choose the categories your segment might be interested in. [optional] # noqa: E501
264
+ lookback_days (str): Number of days of the lookback windows. [optional] # noqa: E501
265
+ max_price (NillableDecimal): [optional] # noqa: E501
266
+ min_price (NillableDecimal): [optional] # noqa: E501
267
+ shopper_activity (str): Types of shopper activity.. [optional] # noqa: E501
268
+ """
269
+
270
+ _check_type = kwargs.pop('_check_type', True)
271
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
272
+ _path_to_item = kwargs.pop('_path_to_item', ())
273
+ _configuration = kwargs.pop('_configuration', None)
274
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
275
+
276
+ if args:
277
+ for arg in args:
278
+ if isinstance(arg, dict):
279
+ kwargs.update(arg)
280
+ else:
281
+ raise ApiTypeError(
282
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
283
+ args,
284
+ self.__class__.__name__,
285
+ ),
286
+ path_to_item=_path_to_item,
287
+ valid_classes=(self.__class__,),
288
+ )
289
+
290
+ self._data_store = {}
291
+ self._check_type = _check_type
292
+ self._spec_property_naming = _spec_property_naming
293
+ self._path_to_item = _path_to_item
294
+ self._configuration = _configuration
295
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
296
+
297
+ for var_name, var_value in kwargs.items():
298
+ if var_name not in self.attribute_map and \
299
+ self._configuration is not None and \
300
+ self._configuration.discard_unknown_keys and \
301
+ self.additional_properties_type is None:
302
+ # discard variable.
303
+ continue
304
+ setattr(self, var_name, var_value)
305
+ if var_name in self.read_only_vars:
306
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
307
+ f"class with read only attributes.")
@@ -157,6 +157,7 @@ from criteo_api_retailmedia_v2025_04.model.line_item_product_status import LineI
157
157
  from criteo_api_retailmedia_v2025_04.model.match_type_model import MatchTypeModel
158
158
  from criteo_api_retailmedia_v2025_04.model.metadata import Metadata
159
159
  from criteo_api_retailmedia_v2025_04.model.monthly_line_item_budeget_override import MonthlyLineItemBudegetOverride
160
+ from criteo_api_retailmedia_v2025_04.model.nillable_decimal import NillableDecimal
160
161
  from criteo_api_retailmedia_v2025_04.model.nillable_string import NillableString
161
162
  from criteo_api_retailmedia_v2025_04.model.outcome import Outcome
162
163
  from criteo_api_retailmedia_v2025_04.model.page_metadata import PageMetadata
@@ -235,6 +236,8 @@ from criteo_api_retailmedia_v2025_04.model.rm_contact_list_statistics_entity_v1
235
236
  from criteo_api_retailmedia_v2025_04.model.rm_contact_list_statistics_entity_v1_resource import RmContactListStatisticsEntityV1Resource
236
237
  from criteo_api_retailmedia_v2025_04.model.rm_contact_list_statistics_entity_v1_response import RmContactListStatisticsEntityV1Response
237
238
  from criteo_api_retailmedia_v2025_04.model.rm_contact_list_v1 import RmContactListV1
239
+ from criteo_api_retailmedia_v2025_04.model.rm_events_create_v1 import RmEventsCreateV1
240
+ from criteo_api_retailmedia_v2025_04.model.rm_events_update_v1 import RmEventsUpdateV1
238
241
  from criteo_api_retailmedia_v2025_04.model.rm_events_v1 import RmEventsV1
239
242
  from criteo_api_retailmedia_v2025_04.model.rmca_common_problem import RmcaCommonProblem
240
243
  from criteo_api_retailmedia_v2025_04.model.sdk_api_rest_common_problem import SdkApiRestCommonProblem