criteo-api-marketingsolutions-sdk 2025.7.0.250911__py3-none-any.whl → 2025.7.0.251009__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-marketingsolutions-sdk might be problematic. Click here for more details.

Files changed (31) hide show
  1. {criteo_api_marketingsolutions_sdk-2025.7.0.250911.dist-info → criteo_api_marketingsolutions_sdk-2025.7.0.251009.dist-info}/METADATA +3 -3
  2. {criteo_api_marketingsolutions_sdk-2025.7.0.250911.dist-info → criteo_api_marketingsolutions_sdk-2025.7.0.251009.dist-info}/RECORD +31 -20
  3. criteo_api_marketingsolutions_v2025_07/__init__.py +1 -1
  4. criteo_api_marketingsolutions_v2025_07/api/advertiser_api.py +7 -9
  5. criteo_api_marketingsolutions_v2025_07/api/analytics_api.py +12 -25
  6. criteo_api_marketingsolutions_v2025_07/api/audience_api.py +27 -94
  7. criteo_api_marketingsolutions_v2025_07/api/campaign_api.py +4430 -406
  8. criteo_api_marketingsolutions_v2025_07/api/creative_api.py +22 -63
  9. criteo_api_marketingsolutions_v2025_07/api_client.py +4 -4
  10. criteo_api_marketingsolutions_v2025_07/configuration.py +1 -1
  11. criteo_api_marketingsolutions_v2025_07/model/adaptive_colors.py +1 -1
  12. criteo_api_marketingsolutions_v2025_07/model/adaptive_read_attributes.py +330 -0
  13. criteo_api_marketingsolutions_v2025_07/model/create_seller_budget_mapi_message.py +283 -0
  14. criteo_api_marketingsolutions_v2025_07/model/{outcome.py → create_seller_campaign_message_mapi.py} +18 -19
  15. criteo_api_marketingsolutions_v2025_07/model/creative_read.py +327 -0
  16. criteo_api_marketingsolutions_v2025_07/model/placements_report_query_message.py +12 -8
  17. criteo_api_marketingsolutions_v2025_07/model/{resource_collection_outcome_of_creative.py → resource_collection_outcome_of_creative_read.py} +8 -8
  18. criteo_api_marketingsolutions_v2025_07/model/{error_code_response.py → resource_of_creative_read.py} +19 -23
  19. criteo_api_marketingsolutions_v2025_07/model/seller_base.py +267 -0
  20. criteo_api_marketingsolutions_v2025_07/model/seller_budget_message.py +305 -0
  21. criteo_api_marketingsolutions_v2025_07/model/seller_budget_status_v2.py +291 -0
  22. criteo_api_marketingsolutions_v2025_07/model/seller_campaign_message.py +290 -0
  23. criteo_api_marketingsolutions_v2025_07/model/seller_campaign_suspension_reason.py +294 -0
  24. criteo_api_marketingsolutions_v2025_07/model/seller_campaign_update.py +267 -0
  25. criteo_api_marketingsolutions_v2025_07/model/statistics_report_query_message.py +248 -8
  26. criteo_api_marketingsolutions_v2025_07/model/transactions_report_query_message.py +12 -8
  27. criteo_api_marketingsolutions_v2025_07/model/update_seller_budget_message.py +283 -0
  28. criteo_api_marketingsolutions_v2025_07/model/update_seller_budget_message_base.py +279 -0
  29. criteo_api_marketingsolutions_v2025_07/models/__init__.py +14 -3
  30. {criteo_api_marketingsolutions_sdk-2025.7.0.250911.dist-info → criteo_api_marketingsolutions_sdk-2025.7.0.251009.dist-info}/WHEEL +0 -0
  31. {criteo_api_marketingsolutions_sdk-2025.7.0.250911.dist-info → criteo_api_marketingsolutions_sdk-2025.7.0.251009.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,283 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-07
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_marketingsolutions_v2025_07.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_marketingsolutions_v2025_07.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class UpdateSellerBudgetMessage(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 = False
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
+ 'amount': (str,), # noqa: E501
85
+ 'budget_id': (int,), # noqa: E501
86
+ 'campaign_ids': ([int],), # noqa: E501
87
+ 'end_date': (str,), # noqa: E501
88
+ 'is_suspended': (bool,), # noqa: E501
89
+ 'start_date': (datetime,), # noqa: E501
90
+ }
91
+
92
+ @cached_property
93
+ def discriminator():
94
+ return None
95
+
96
+
97
+ attribute_map = {
98
+ 'amount': 'amount', # noqa: E501
99
+ 'budget_id': 'budgetId', # noqa: E501
100
+ 'campaign_ids': 'campaignIds', # noqa: E501
101
+ 'end_date': 'endDate', # noqa: E501
102
+ 'is_suspended': 'isSuspended', # noqa: E501
103
+ 'start_date': 'startDate', # noqa: E501
104
+ }
105
+
106
+ read_only_vars = {
107
+ }
108
+
109
+ _composed_schemas = {}
110
+
111
+ @classmethod
112
+ @convert_js_args_to_python_args
113
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
114
+ """UpdateSellerBudgetMessage - a model defined in OpenAPI
115
+
116
+ Keyword Args:
117
+ _check_type (bool): if True, values for parameters in openapi_types
118
+ will be type checked and a TypeError will be
119
+ raised if the wrong type is input.
120
+ Defaults to True
121
+ _path_to_item (tuple/list): This is a list of keys or values to
122
+ drill down to the model in received_data
123
+ when deserializing a response
124
+ _spec_property_naming (bool): True if the variable names in the input data
125
+ are serialized names, as specified in the OpenAPI document.
126
+ False if the variable names in the input data
127
+ are pythonic names, e.g. snake case (default)
128
+ _configuration (Configuration): the instance to use when
129
+ deserializing a file_type parameter.
130
+ If passed, type conversion is attempted
131
+ If omitted no type conversion is done.
132
+ _visited_composed_classes (tuple): This stores a tuple of
133
+ classes that we have traveled through so that
134
+ if we see that class again we will not use its
135
+ discriminator again.
136
+ When traveling through a discriminator, the
137
+ composed schema that is
138
+ is traveled through is added to this set.
139
+ For example if Animal has a discriminator
140
+ petType and we pass in "Dog", and the class Dog
141
+ allOf includes Animal, we move through Animal
142
+ once using the discriminator, and pick Dog.
143
+ Then in Dog, we will make an instance of the
144
+ Animal class but this time we won't travel
145
+ through its discriminator because we passed in
146
+ _visited_composed_classes = (Animal,)
147
+ amount (str): [optional] # noqa: E501
148
+ budget_id (int): [optional] # noqa: E501
149
+ campaign_ids ([int]): [optional] # noqa: E501
150
+ end_date (str): [optional] # noqa: E501
151
+ is_suspended (bool): [optional] # noqa: E501
152
+ start_date (datetime): [optional] # noqa: E501
153
+ """
154
+
155
+ _check_type = kwargs.pop('_check_type', True)
156
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
157
+ _path_to_item = kwargs.pop('_path_to_item', ())
158
+ _configuration = kwargs.pop('_configuration', None)
159
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
160
+
161
+ self = super(OpenApiModel, cls).__new__(cls)
162
+
163
+ if args:
164
+ for arg in args:
165
+ if isinstance(arg, dict):
166
+ kwargs.update(arg)
167
+ else:
168
+ raise ApiTypeError(
169
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
170
+ args,
171
+ self.__class__.__name__,
172
+ ),
173
+ path_to_item=_path_to_item,
174
+ valid_classes=(self.__class__,),
175
+ )
176
+
177
+ self._data_store = {}
178
+ self._check_type = _check_type
179
+ self._spec_property_naming = _spec_property_naming
180
+ self._path_to_item = _path_to_item
181
+ self._configuration = _configuration
182
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
183
+
184
+ for var_name, var_value in kwargs.items():
185
+ if var_name not in self.attribute_map and \
186
+ self._configuration is not None and \
187
+ self._configuration.discard_unknown_keys and \
188
+ self.additional_properties_type is None:
189
+ # discard variable.
190
+ continue
191
+ setattr(self, var_name, var_value)
192
+ return self
193
+
194
+ required_properties = set([
195
+ '_data_store',
196
+ '_check_type',
197
+ '_spec_property_naming',
198
+ '_path_to_item',
199
+ '_configuration',
200
+ '_visited_composed_classes',
201
+ ])
202
+
203
+ @convert_js_args_to_python_args
204
+ def __init__(self, *args, **kwargs): # noqa: E501
205
+ """UpdateSellerBudgetMessage - a model defined in OpenAPI
206
+
207
+ Keyword Args:
208
+ _check_type (bool): if True, values for parameters in openapi_types
209
+ will be type checked and a TypeError will be
210
+ raised if the wrong type is input.
211
+ Defaults to True
212
+ _path_to_item (tuple/list): This is a list of keys or values to
213
+ drill down to the model in received_data
214
+ when deserializing a response
215
+ _spec_property_naming (bool): True if the variable names in the input data
216
+ are serialized names, as specified in the OpenAPI document.
217
+ False if the variable names in the input data
218
+ are pythonic names, e.g. snake case (default)
219
+ _configuration (Configuration): the instance to use when
220
+ deserializing a file_type parameter.
221
+ If passed, type conversion is attempted
222
+ If omitted no type conversion is done.
223
+ _visited_composed_classes (tuple): This stores a tuple of
224
+ classes that we have traveled through so that
225
+ if we see that class again we will not use its
226
+ discriminator again.
227
+ When traveling through a discriminator, the
228
+ composed schema that is
229
+ is traveled through is added to this set.
230
+ For example if Animal has a discriminator
231
+ petType and we pass in "Dog", and the class Dog
232
+ allOf includes Animal, we move through Animal
233
+ once using the discriminator, and pick Dog.
234
+ Then in Dog, we will make an instance of the
235
+ Animal class but this time we won't travel
236
+ through its discriminator because we passed in
237
+ _visited_composed_classes = (Animal,)
238
+ amount (str): [optional] # noqa: E501
239
+ budget_id (int): [optional] # noqa: E501
240
+ campaign_ids ([int]): [optional] # noqa: E501
241
+ end_date (str): [optional] # noqa: E501
242
+ is_suspended (bool): [optional] # noqa: E501
243
+ start_date (datetime): [optional] # noqa: E501
244
+ """
245
+
246
+ _check_type = kwargs.pop('_check_type', True)
247
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
248
+ _path_to_item = kwargs.pop('_path_to_item', ())
249
+ _configuration = kwargs.pop('_configuration', None)
250
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
251
+
252
+ if args:
253
+ for arg in args:
254
+ if isinstance(arg, dict):
255
+ kwargs.update(arg)
256
+ else:
257
+ raise ApiTypeError(
258
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
259
+ args,
260
+ self.__class__.__name__,
261
+ ),
262
+ path_to_item=_path_to_item,
263
+ valid_classes=(self.__class__,),
264
+ )
265
+
266
+ self._data_store = {}
267
+ self._check_type = _check_type
268
+ self._spec_property_naming = _spec_property_naming
269
+ self._path_to_item = _path_to_item
270
+ self._configuration = _configuration
271
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
272
+
273
+ for var_name, var_value in kwargs.items():
274
+ if var_name not in self.attribute_map and \
275
+ self._configuration is not None and \
276
+ self._configuration.discard_unknown_keys and \
277
+ self.additional_properties_type is None:
278
+ # discard variable.
279
+ continue
280
+ setattr(self, var_name, var_value)
281
+ if var_name in self.read_only_vars:
282
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
283
+ f"class with read only attributes.")
@@ -0,0 +1,279 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-07
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_marketingsolutions_v2025_07.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_marketingsolutions_v2025_07.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class UpdateSellerBudgetMessageBase(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 = False
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
+ 'amount': (str,), # noqa: E501
85
+ 'campaign_ids': ([int],), # noqa: E501
86
+ 'end_date': (str,), # noqa: E501
87
+ 'is_suspended': (bool,), # noqa: E501
88
+ 'start_date': (datetime,), # noqa: E501
89
+ }
90
+
91
+ @cached_property
92
+ def discriminator():
93
+ return None
94
+
95
+
96
+ attribute_map = {
97
+ 'amount': 'amount', # noqa: E501
98
+ 'campaign_ids': 'campaignIds', # noqa: E501
99
+ 'end_date': 'endDate', # noqa: E501
100
+ 'is_suspended': 'isSuspended', # noqa: E501
101
+ 'start_date': 'startDate', # noqa: E501
102
+ }
103
+
104
+ read_only_vars = {
105
+ }
106
+
107
+ _composed_schemas = {}
108
+
109
+ @classmethod
110
+ @convert_js_args_to_python_args
111
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
112
+ """UpdateSellerBudgetMessageBase - a model defined in OpenAPI
113
+
114
+ Keyword Args:
115
+ _check_type (bool): if True, values for parameters in openapi_types
116
+ will be type checked and a TypeError will be
117
+ raised if the wrong type is input.
118
+ Defaults to True
119
+ _path_to_item (tuple/list): This is a list of keys or values to
120
+ drill down to the model in received_data
121
+ when deserializing a response
122
+ _spec_property_naming (bool): True if the variable names in the input data
123
+ are serialized names, as specified in the OpenAPI document.
124
+ False if the variable names in the input data
125
+ are pythonic names, e.g. snake case (default)
126
+ _configuration (Configuration): the instance to use when
127
+ deserializing a file_type parameter.
128
+ If passed, type conversion is attempted
129
+ If omitted no type conversion is done.
130
+ _visited_composed_classes (tuple): This stores a tuple of
131
+ classes that we have traveled through so that
132
+ if we see that class again we will not use its
133
+ discriminator again.
134
+ When traveling through a discriminator, the
135
+ composed schema that is
136
+ is traveled through is added to this set.
137
+ For example if Animal has a discriminator
138
+ petType and we pass in "Dog", and the class Dog
139
+ allOf includes Animal, we move through Animal
140
+ once using the discriminator, and pick Dog.
141
+ Then in Dog, we will make an instance of the
142
+ Animal class but this time we won't travel
143
+ through its discriminator because we passed in
144
+ _visited_composed_classes = (Animal,)
145
+ amount (str): [optional] # noqa: E501
146
+ campaign_ids ([int]): [optional] # noqa: E501
147
+ end_date (str): [optional] # noqa: E501
148
+ is_suspended (bool): [optional] # noqa: E501
149
+ start_date (datetime): [optional] # noqa: E501
150
+ """
151
+
152
+ _check_type = kwargs.pop('_check_type', True)
153
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
154
+ _path_to_item = kwargs.pop('_path_to_item', ())
155
+ _configuration = kwargs.pop('_configuration', None)
156
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
157
+
158
+ self = super(OpenApiModel, cls).__new__(cls)
159
+
160
+ if args:
161
+ for arg in args:
162
+ if isinstance(arg, dict):
163
+ kwargs.update(arg)
164
+ else:
165
+ raise ApiTypeError(
166
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
167
+ args,
168
+ self.__class__.__name__,
169
+ ),
170
+ path_to_item=_path_to_item,
171
+ valid_classes=(self.__class__,),
172
+ )
173
+
174
+ self._data_store = {}
175
+ self._check_type = _check_type
176
+ self._spec_property_naming = _spec_property_naming
177
+ self._path_to_item = _path_to_item
178
+ self._configuration = _configuration
179
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
180
+
181
+ for var_name, var_value in kwargs.items():
182
+ if var_name not in self.attribute_map and \
183
+ self._configuration is not None and \
184
+ self._configuration.discard_unknown_keys and \
185
+ self.additional_properties_type is None:
186
+ # discard variable.
187
+ continue
188
+ setattr(self, var_name, var_value)
189
+ return self
190
+
191
+ required_properties = set([
192
+ '_data_store',
193
+ '_check_type',
194
+ '_spec_property_naming',
195
+ '_path_to_item',
196
+ '_configuration',
197
+ '_visited_composed_classes',
198
+ ])
199
+
200
+ @convert_js_args_to_python_args
201
+ def __init__(self, *args, **kwargs): # noqa: E501
202
+ """UpdateSellerBudgetMessageBase - a model defined in OpenAPI
203
+
204
+ Keyword Args:
205
+ _check_type (bool): if True, values for parameters in openapi_types
206
+ will be type checked and a TypeError will be
207
+ raised if the wrong type is input.
208
+ Defaults to True
209
+ _path_to_item (tuple/list): This is a list of keys or values to
210
+ drill down to the model in received_data
211
+ when deserializing a response
212
+ _spec_property_naming (bool): True if the variable names in the input data
213
+ are serialized names, as specified in the OpenAPI document.
214
+ False if the variable names in the input data
215
+ are pythonic names, e.g. snake case (default)
216
+ _configuration (Configuration): the instance to use when
217
+ deserializing a file_type parameter.
218
+ If passed, type conversion is attempted
219
+ If omitted no type conversion is done.
220
+ _visited_composed_classes (tuple): This stores a tuple of
221
+ classes that we have traveled through so that
222
+ if we see that class again we will not use its
223
+ discriminator again.
224
+ When traveling through a discriminator, the
225
+ composed schema that is
226
+ is traveled through is added to this set.
227
+ For example if Animal has a discriminator
228
+ petType and we pass in "Dog", and the class Dog
229
+ allOf includes Animal, we move through Animal
230
+ once using the discriminator, and pick Dog.
231
+ Then in Dog, we will make an instance of the
232
+ Animal class but this time we won't travel
233
+ through its discriminator because we passed in
234
+ _visited_composed_classes = (Animal,)
235
+ amount (str): [optional] # noqa: E501
236
+ campaign_ids ([int]): [optional] # noqa: E501
237
+ end_date (str): [optional] # noqa: E501
238
+ is_suspended (bool): [optional] # noqa: E501
239
+ start_date (datetime): [optional] # noqa: E501
240
+ """
241
+
242
+ _check_type = kwargs.pop('_check_type', True)
243
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
244
+ _path_to_item = kwargs.pop('_path_to_item', ())
245
+ _configuration = kwargs.pop('_configuration', None)
246
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
247
+
248
+ if args:
249
+ for arg in args:
250
+ if isinstance(arg, dict):
251
+ kwargs.update(arg)
252
+ else:
253
+ raise ApiTypeError(
254
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
255
+ args,
256
+ self.__class__.__name__,
257
+ ),
258
+ path_to_item=_path_to_item,
259
+ valid_classes=(self.__class__,),
260
+ )
261
+
262
+ self._data_store = {}
263
+ self._check_type = _check_type
264
+ self._spec_property_naming = _spec_property_naming
265
+ self._path_to_item = _path_to_item
266
+ self._configuration = _configuration
267
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
268
+
269
+ for var_name, var_value in kwargs.items():
270
+ if var_name not in self.attribute_map and \
271
+ self._configuration is not None and \
272
+ self._configuration.discard_unknown_keys and \
273
+ self.additional_properties_type is None:
274
+ # discard variable.
275
+ continue
276
+ setattr(self, var_name, var_value)
277
+ if var_name in self.read_only_vars:
278
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
279
+ f"class with read only attributes.")
@@ -31,6 +31,7 @@ from criteo_api_marketingsolutions_v2025_07.model.ad_set_targeting_v24_q3_freque
31
31
  from criteo_api_marketingsolutions_v2025_07.model.ad_write import AdWrite
32
32
  from criteo_api_marketingsolutions_v2025_07.model.adaptive_attributes import AdaptiveAttributes
33
33
  from criteo_api_marketingsolutions_v2025_07.model.adaptive_colors import AdaptiveColors
34
+ from criteo_api_marketingsolutions_v2025_07.model.adaptive_read_attributes import AdaptiveReadAttributes
34
35
  from criteo_api_marketingsolutions_v2025_07.model.adaptive_write_attributes import AdaptiveWriteAttributes
35
36
  from criteo_api_marketingsolutions_v2025_07.model.algebra_node_v1 import AlgebraNodeV1
36
37
  from criteo_api_marketingsolutions_v2025_07.model.application_summary_model import ApplicationSummaryModel
@@ -137,7 +138,10 @@ from criteo_api_marketingsolutions_v2025_07.model.create_campaign_resource impor
137
138
  from criteo_api_marketingsolutions_v2025_07.model.create_campaign_spend_limit import CreateCampaignSpendLimit
138
139
  from criteo_api_marketingsolutions_v2025_07.model.create_coupon import CreateCoupon
139
140
  from criteo_api_marketingsolutions_v2025_07.model.create_image_slide import CreateImageSlide
141
+ from criteo_api_marketingsolutions_v2025_07.model.create_seller_budget_mapi_message import CreateSellerBudgetMapiMessage
142
+ from criteo_api_marketingsolutions_v2025_07.model.create_seller_campaign_message_mapi import CreateSellerCampaignMessageMapi
140
143
  from criteo_api_marketingsolutions_v2025_07.model.creative import Creative
144
+ from criteo_api_marketingsolutions_v2025_07.model.creative_read import CreativeRead
141
145
  from criteo_api_marketingsolutions_v2025_07.model.creative_write import CreativeWrite
142
146
  from criteo_api_marketingsolutions_v2025_07.model.criteo_api_error import CriteoApiError
143
147
  from criteo_api_marketingsolutions_v2025_07.model.criteo_api_warning import CriteoApiWarning
@@ -145,7 +149,6 @@ from criteo_api_marketingsolutions_v2025_07.model.delete_audience_contact_list_r
145
149
  from criteo_api_marketingsolutions_v2025_07.model.dynamic_attributes import DynamicAttributes
146
150
  from criteo_api_marketingsolutions_v2025_07.model.dynamic_write_attributes import DynamicWriteAttributes
147
151
  from criteo_api_marketingsolutions_v2025_07.model.entity_of_portfolio_message import EntityOfPortfolioMessage
148
- from criteo_api_marketingsolutions_v2025_07.model.error_code_response import ErrorCodeResponse
149
152
  from criteo_api_marketingsolutions_v2025_07.model.get_portfolio_response import GetPortfolioResponse
150
153
  from criteo_api_marketingsolutions_v2025_07.model.html_tag_attributes import HtmlTagAttributes
151
154
  from criteo_api_marketingsolutions_v2025_07.model.html_tag_write_attributes import HtmlTagWriteAttributes
@@ -180,7 +183,6 @@ from criteo_api_marketingsolutions_v2025_07.model.nillable_decimal import Nillab
180
183
  from criteo_api_marketingsolutions_v2025_07.model.nillable_gender_v1 import NillableGenderV1
181
184
  from criteo_api_marketingsolutions_v2025_07.model.nillable_int32 import NillableInt32
182
185
  from criteo_api_marketingsolutions_v2025_07.model.nillable_string import NillableString
183
- from criteo_api_marketingsolutions_v2025_07.model.outcome import Outcome
184
186
  from criteo_api_marketingsolutions_v2025_07.model.patch_ad_set_attribution_configuration_v24_q3 import PatchAdSetAttributionConfigurationV24Q3
185
187
  from criteo_api_marketingsolutions_v2025_07.model.patch_ad_set_bidding_v24_q3 import PatchAdSetBiddingV24Q3
186
188
  from criteo_api_marketingsolutions_v2025_07.model.patch_ad_set_budget_v24_q3 import PatchAdSetBudgetV24Q3
@@ -223,7 +225,7 @@ from criteo_api_marketingsolutions_v2025_07.model.requests_ad_set_id import Requ
223
225
  from criteo_api_marketingsolutions_v2025_07.model.requests_patch_ad_set_v24_q3 import RequestsPatchAdSetV24Q3
224
226
  from criteo_api_marketingsolutions_v2025_07.model.resource_collection_outcome_of_ad import ResourceCollectionOutcomeOfAd
225
227
  from criteo_api_marketingsolutions_v2025_07.model.resource_collection_outcome_of_coupon import ResourceCollectionOutcomeOfCoupon
226
- from criteo_api_marketingsolutions_v2025_07.model.resource_collection_outcome_of_creative import ResourceCollectionOutcomeOfCreative
228
+ from criteo_api_marketingsolutions_v2025_07.model.resource_collection_outcome_of_creative_read import ResourceCollectionOutcomeOfCreativeRead
227
229
  from criteo_api_marketingsolutions_v2025_07.model.resource_input_of_ad_write import ResourceInputOfAdWrite
228
230
  from criteo_api_marketingsolutions_v2025_07.model.resource_input_of_create_coupon import ResourceInputOfCreateCoupon
229
231
  from criteo_api_marketingsolutions_v2025_07.model.resource_input_of_creative_write import ResourceInputOfCreativeWrite
@@ -234,6 +236,7 @@ from criteo_api_marketingsolutions_v2025_07.model.resource_of_coupon import Reso
234
236
  from criteo_api_marketingsolutions_v2025_07.model.resource_of_coupon_supported_sizes import ResourceOfCouponSupportedSizes
235
237
  from criteo_api_marketingsolutions_v2025_07.model.resource_of_create_coupon import ResourceOfCreateCoupon
236
238
  from criteo_api_marketingsolutions_v2025_07.model.resource_of_creative import ResourceOfCreative
239
+ from criteo_api_marketingsolutions_v2025_07.model.resource_of_creative_read import ResourceOfCreativeRead
237
240
  from criteo_api_marketingsolutions_v2025_07.model.resource_of_creative_write import ResourceOfCreativeWrite
238
241
  from criteo_api_marketingsolutions_v2025_07.model.resource_of_update_coupon import ResourceOfUpdateCoupon
239
242
  from criteo_api_marketingsolutions_v2025_07.model.resource_outcome_of_ad import ResourceOutcomeOfAd
@@ -247,6 +250,12 @@ from criteo_api_marketingsolutions_v2025_07.model.responses_read_ad_set_v24_q3 i
247
250
  from criteo_api_marketingsolutions_v2025_07.model.retargeting_create_v1 import RetargetingCreateV1
248
251
  from criteo_api_marketingsolutions_v2025_07.model.retargeting_update_v1 import RetargetingUpdateV1
249
252
  from criteo_api_marketingsolutions_v2025_07.model.retargeting_v1 import RetargetingV1
253
+ from criteo_api_marketingsolutions_v2025_07.model.seller_base import SellerBase
254
+ from criteo_api_marketingsolutions_v2025_07.model.seller_budget_message import SellerBudgetMessage
255
+ from criteo_api_marketingsolutions_v2025_07.model.seller_budget_status_v2 import SellerBudgetStatusV2
256
+ from criteo_api_marketingsolutions_v2025_07.model.seller_campaign_message import SellerCampaignMessage
257
+ from criteo_api_marketingsolutions_v2025_07.model.seller_campaign_suspension_reason import SellerCampaignSuspensionReason
258
+ from criteo_api_marketingsolutions_v2025_07.model.seller_campaign_update import SellerCampaignUpdate
250
259
  from criteo_api_marketingsolutions_v2025_07.model.size import Size
251
260
  from criteo_api_marketingsolutions_v2025_07.model.statistics_report_query_message import StatisticsReportQueryMessage
252
261
  from criteo_api_marketingsolutions_v2025_07.model.tag import Tag
@@ -259,6 +268,8 @@ from criteo_api_marketingsolutions_v2025_07.model.transparency_report_file impor
259
268
  from criteo_api_marketingsolutions_v2025_07.model.transparency_report_list_response import TransparencyReportListResponse
260
269
  from criteo_api_marketingsolutions_v2025_07.model.transparency_report_resource import TransparencyReportResource
261
270
  from criteo_api_marketingsolutions_v2025_07.model.update_coupon import UpdateCoupon
271
+ from criteo_api_marketingsolutions_v2025_07.model.update_seller_budget_message import UpdateSellerBudgetMessage
272
+ from criteo_api_marketingsolutions_v2025_07.model.update_seller_budget_message_base import UpdateSellerBudgetMessageBase
262
273
  from criteo_api_marketingsolutions_v2025_07.model.video_detail import VideoDetail
263
274
  from criteo_api_marketingsolutions_v2025_07.model.write_model_ad_set_id import WriteModelAdSetId
264
275
  from criteo_api_marketingsolutions_v2025_07.model.write_model_patch_ad_set_v24_q3 import WriteModelPatchAdSetV24Q3