payi 0.1.0a33__py3-none-any.whl → 0.1.0a35__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 payi might be problematic. Click here for more details.

Files changed (52) hide show
  1. payi/_base_client.py +6 -0
  2. payi/_client.py +9 -9
  3. payi/_models.py +5 -1
  4. payi/_version.py +1 -1
  5. payi/lib/helpers.py +11 -8
  6. payi/resources/__init__.py +13 -13
  7. payi/resources/billing_models.py +4 -4
  8. payi/resources/experiences/__init__.py +0 -14
  9. payi/resources/experiences/experiences.py +0 -32
  10. payi/resources/experiences/properties.py +5 -5
  11. payi/resources/ingest.py +49 -23
  12. payi/resources/{budgets → limits}/__init__.py +13 -13
  13. payi/resources/{budgets/budgets.py → limits/limits.py} +213 -196
  14. payi/resources/{budgets → limits}/tags.py +68 -68
  15. payi/resources/requests/properties.py +5 -5
  16. payi/types/__init__.py +8 -6
  17. payi/types/billing_model.py +1 -1
  18. payi/types/billing_model_create_params.py +1 -1
  19. payi/types/billing_model_update_params.py +1 -1
  20. payi/types/category_resource_response.py +4 -0
  21. payi/types/experiences/__init__.py +0 -2
  22. payi/types/experiences/property_create_params.py +2 -2
  23. payi/types/ingest_event_param.py +29 -5
  24. payi/types/ingest_response.py +7 -7
  25. payi/types/ingest_units_params.py +28 -4
  26. payi/types/{budget_create_params.py → limit_create_params.py} +7 -9
  27. payi/types/limit_history_response.py +34 -0
  28. payi/types/{budget_list_params.py → limit_list_params.py} +3 -3
  29. payi/types/limit_reset_params.py +16 -0
  30. payi/types/{budget_response.py → limit_response.py} +11 -13
  31. payi/types/{budget_update_params.py → limit_update_params.py} +3 -3
  32. payi/types/{budgets → limits}/__init__.py +1 -1
  33. payi/types/{budgets/budget_tags.py → limits/limit_tags.py} +2 -2
  34. payi/types/{budgets → limits}/tag_create_params.py +1 -1
  35. payi/types/{budgets → limits}/tag_create_response.py +2 -2
  36. payi/types/{budgets → limits}/tag_delete_response.py +2 -2
  37. payi/types/{budgets → limits}/tag_list_response.py +2 -2
  38. payi/types/{budgets → limits}/tag_remove_params.py +1 -1
  39. payi/types/{budgets → limits}/tag_remove_response.py +2 -2
  40. payi/types/{budgets → limits}/tag_update_params.py +1 -1
  41. payi/types/{budgets → limits}/tag_update_response.py +2 -2
  42. payi/types/{paged_budget_list.py → paged_limit_list.py} +9 -11
  43. payi/types/requests/property_create_params.py +2 -2
  44. payi/types/shared/__init__.py +3 -0
  45. payi/types/{experiences/csat_response.py → shared/evaluation_response.py} +3 -2
  46. {payi-0.1.0a33.dist-info → payi-0.1.0a35.dist-info}/METADATA +22 -23
  47. {payi-0.1.0a33.dist-info → payi-0.1.0a35.dist-info}/RECORD +49 -49
  48. {payi-0.1.0a33.dist-info → payi-0.1.0a35.dist-info}/licenses/LICENSE +1 -1
  49. payi/resources/experiences/csat.py +0 -188
  50. payi/types/budget_history_response.py +0 -38
  51. payi/types/experiences/csat_create_params.py +0 -14
  52. {payi-0.1.0a33.dist-info → payi-0.1.0a35.dist-info}/WHEEL +0 -0
@@ -20,12 +20,12 @@ from ..._response import (
20
20
  async_to_streamed_response_wrapper,
21
21
  )
22
22
  from ..._base_client import make_request_options
23
- from ...types.budgets import tag_create_params, tag_remove_params, tag_update_params
24
- from ...types.budgets.tag_list_response import TagListResponse
25
- from ...types.budgets.tag_create_response import TagCreateResponse
26
- from ...types.budgets.tag_delete_response import TagDeleteResponse
27
- from ...types.budgets.tag_remove_response import TagRemoveResponse
28
- from ...types.budgets.tag_update_response import TagUpdateResponse
23
+ from ...types.limits import tag_create_params, tag_remove_params, tag_update_params
24
+ from ...types.limits.tag_list_response import TagListResponse
25
+ from ...types.limits.tag_create_response import TagCreateResponse
26
+ from ...types.limits.tag_delete_response import TagDeleteResponse
27
+ from ...types.limits.tag_remove_response import TagRemoveResponse
28
+ from ...types.limits.tag_update_response import TagUpdateResponse
29
29
 
30
30
  __all__ = ["TagsResource", "AsyncTagsResource"]
31
31
 
@@ -52,9 +52,9 @@ class TagsResource(SyncAPIResource):
52
52
 
53
53
  def create(
54
54
  self,
55
- budget_id: str,
55
+ limit_id: str,
56
56
  *,
57
- budget_tags: List[str],
57
+ limit_tags: List[str],
58
58
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
59
59
  # The extra values given here take precedence over values defined on the client or passed to this method.
60
60
  extra_headers: Headers | None = None,
@@ -63,7 +63,7 @@ class TagsResource(SyncAPIResource):
63
63
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
64
64
  ) -> TagCreateResponse:
65
65
  """
66
- Add Budget Tags
66
+ Add Limit Tags
67
67
 
68
68
  Args:
69
69
  extra_headers: Send extra headers
@@ -74,11 +74,11 @@ class TagsResource(SyncAPIResource):
74
74
 
75
75
  timeout: Override the client-level default timeout for this request, in seconds
76
76
  """
77
- if not budget_id:
78
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
77
+ if not limit_id:
78
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
79
79
  return self._post(
80
- f"/api/v1/budgets/{budget_id}/tags",
81
- body=maybe_transform({"budget_tags": budget_tags}, tag_create_params.TagCreateParams),
80
+ f"/api/v1/limits/{limit_id}/tags",
81
+ body=maybe_transform({"limit_tags": limit_tags}, tag_create_params.TagCreateParams),
82
82
  options=make_request_options(
83
83
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
84
84
  ),
@@ -87,9 +87,9 @@ class TagsResource(SyncAPIResource):
87
87
 
88
88
  def update(
89
89
  self,
90
- budget_id: str,
90
+ limit_id: str,
91
91
  *,
92
- budget_tags: List[str],
92
+ limit_tags: List[str],
93
93
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
94
94
  # The extra values given here take precedence over values defined on the client or passed to this method.
95
95
  extra_headers: Headers | None = None,
@@ -98,7 +98,7 @@ class TagsResource(SyncAPIResource):
98
98
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
99
99
  ) -> TagUpdateResponse:
100
100
  """
101
- Update the Budget Tags
101
+ Update the Limit Tags
102
102
 
103
103
  Args:
104
104
  extra_headers: Send extra headers
@@ -109,11 +109,11 @@ class TagsResource(SyncAPIResource):
109
109
 
110
110
  timeout: Override the client-level default timeout for this request, in seconds
111
111
  """
112
- if not budget_id:
113
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
112
+ if not limit_id:
113
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
114
114
  return self._put(
115
- f"/api/v1/budgets/{budget_id}/tags",
116
- body=maybe_transform({"budget_tags": budget_tags}, tag_update_params.TagUpdateParams),
115
+ f"/api/v1/limits/{limit_id}/tags",
116
+ body=maybe_transform({"limit_tags": limit_tags}, tag_update_params.TagUpdateParams),
117
117
  options=make_request_options(
118
118
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
119
119
  ),
@@ -122,7 +122,7 @@ class TagsResource(SyncAPIResource):
122
122
 
123
123
  def list(
124
124
  self,
125
- budget_id: str,
125
+ limit_id: str,
126
126
  *,
127
127
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
128
128
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -132,7 +132,7 @@ class TagsResource(SyncAPIResource):
132
132
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
133
133
  ) -> TagListResponse:
134
134
  """
135
- Get Budget Tags
135
+ Get Limit Tags
136
136
 
137
137
  Args:
138
138
  extra_headers: Send extra headers
@@ -143,10 +143,10 @@ class TagsResource(SyncAPIResource):
143
143
 
144
144
  timeout: Override the client-level default timeout for this request, in seconds
145
145
  """
146
- if not budget_id:
147
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
146
+ if not limit_id:
147
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
148
148
  return self._get(
149
- f"/api/v1/budgets/{budget_id}/tags",
149
+ f"/api/v1/limits/{limit_id}/tags",
150
150
  options=make_request_options(
151
151
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
152
152
  ),
@@ -155,7 +155,7 @@ class TagsResource(SyncAPIResource):
155
155
 
156
156
  def delete(
157
157
  self,
158
- budget_id: str,
158
+ limit_id: str,
159
159
  *,
160
160
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
161
161
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -165,7 +165,7 @@ class TagsResource(SyncAPIResource):
165
165
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
166
166
  ) -> TagDeleteResponse:
167
167
  """
168
- Delete all Tags from Budget
168
+ Delete all Tags from Limit
169
169
 
170
170
  Args:
171
171
  extra_headers: Send extra headers
@@ -176,10 +176,10 @@ class TagsResource(SyncAPIResource):
176
176
 
177
177
  timeout: Override the client-level default timeout for this request, in seconds
178
178
  """
179
- if not budget_id:
180
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
179
+ if not limit_id:
180
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
181
181
  return self._delete(
182
- f"/api/v1/budgets/{budget_id}/tags",
182
+ f"/api/v1/limits/{limit_id}/tags",
183
183
  options=make_request_options(
184
184
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
185
185
  ),
@@ -188,9 +188,9 @@ class TagsResource(SyncAPIResource):
188
188
 
189
189
  def remove(
190
190
  self,
191
- budget_id: str,
191
+ limit_id: str,
192
192
  *,
193
- budget_tags: List[str],
193
+ limit_tags: List[str],
194
194
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
195
195
  # The extra values given here take precedence over values defined on the client or passed to this method.
196
196
  extra_headers: Headers | None = None,
@@ -199,7 +199,7 @@ class TagsResource(SyncAPIResource):
199
199
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
200
200
  ) -> TagRemoveResponse:
201
201
  """
202
- Remove Tags from Budget
202
+ Remove Tags from Limit
203
203
 
204
204
  Args:
205
205
  extra_headers: Send extra headers
@@ -210,11 +210,11 @@ class TagsResource(SyncAPIResource):
210
210
 
211
211
  timeout: Override the client-level default timeout for this request, in seconds
212
212
  """
213
- if not budget_id:
214
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
213
+ if not limit_id:
214
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
215
215
  return self._patch(
216
- f"/api/v1/budgets/{budget_id}/tags/remove",
217
- body=maybe_transform({"budget_tags": budget_tags}, tag_remove_params.TagRemoveParams),
216
+ f"/api/v1/limits/{limit_id}/tags/remove",
217
+ body=maybe_transform({"limit_tags": limit_tags}, tag_remove_params.TagRemoveParams),
218
218
  options=make_request_options(
219
219
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
220
220
  ),
@@ -244,9 +244,9 @@ class AsyncTagsResource(AsyncAPIResource):
244
244
 
245
245
  async def create(
246
246
  self,
247
- budget_id: str,
247
+ limit_id: str,
248
248
  *,
249
- budget_tags: List[str],
249
+ limit_tags: List[str],
250
250
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
251
251
  # The extra values given here take precedence over values defined on the client or passed to this method.
252
252
  extra_headers: Headers | None = None,
@@ -255,7 +255,7 @@ class AsyncTagsResource(AsyncAPIResource):
255
255
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
256
256
  ) -> TagCreateResponse:
257
257
  """
258
- Add Budget Tags
258
+ Add Limit Tags
259
259
 
260
260
  Args:
261
261
  extra_headers: Send extra headers
@@ -266,11 +266,11 @@ class AsyncTagsResource(AsyncAPIResource):
266
266
 
267
267
  timeout: Override the client-level default timeout for this request, in seconds
268
268
  """
269
- if not budget_id:
270
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
269
+ if not limit_id:
270
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
271
271
  return await self._post(
272
- f"/api/v1/budgets/{budget_id}/tags",
273
- body=await async_maybe_transform({"budget_tags": budget_tags}, tag_create_params.TagCreateParams),
272
+ f"/api/v1/limits/{limit_id}/tags",
273
+ body=await async_maybe_transform({"limit_tags": limit_tags}, tag_create_params.TagCreateParams),
274
274
  options=make_request_options(
275
275
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
276
276
  ),
@@ -279,9 +279,9 @@ class AsyncTagsResource(AsyncAPIResource):
279
279
 
280
280
  async def update(
281
281
  self,
282
- budget_id: str,
282
+ limit_id: str,
283
283
  *,
284
- budget_tags: List[str],
284
+ limit_tags: List[str],
285
285
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
286
286
  # The extra values given here take precedence over values defined on the client or passed to this method.
287
287
  extra_headers: Headers | None = None,
@@ -290,7 +290,7 @@ class AsyncTagsResource(AsyncAPIResource):
290
290
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
291
291
  ) -> TagUpdateResponse:
292
292
  """
293
- Update the Budget Tags
293
+ Update the Limit Tags
294
294
 
295
295
  Args:
296
296
  extra_headers: Send extra headers
@@ -301,11 +301,11 @@ class AsyncTagsResource(AsyncAPIResource):
301
301
 
302
302
  timeout: Override the client-level default timeout for this request, in seconds
303
303
  """
304
- if not budget_id:
305
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
304
+ if not limit_id:
305
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
306
306
  return await self._put(
307
- f"/api/v1/budgets/{budget_id}/tags",
308
- body=await async_maybe_transform({"budget_tags": budget_tags}, tag_update_params.TagUpdateParams),
307
+ f"/api/v1/limits/{limit_id}/tags",
308
+ body=await async_maybe_transform({"limit_tags": limit_tags}, tag_update_params.TagUpdateParams),
309
309
  options=make_request_options(
310
310
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
311
311
  ),
@@ -314,7 +314,7 @@ class AsyncTagsResource(AsyncAPIResource):
314
314
 
315
315
  async def list(
316
316
  self,
317
- budget_id: str,
317
+ limit_id: str,
318
318
  *,
319
319
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
320
320
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -324,7 +324,7 @@ class AsyncTagsResource(AsyncAPIResource):
324
324
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
325
325
  ) -> TagListResponse:
326
326
  """
327
- Get Budget Tags
327
+ Get Limit Tags
328
328
 
329
329
  Args:
330
330
  extra_headers: Send extra headers
@@ -335,10 +335,10 @@ class AsyncTagsResource(AsyncAPIResource):
335
335
 
336
336
  timeout: Override the client-level default timeout for this request, in seconds
337
337
  """
338
- if not budget_id:
339
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
338
+ if not limit_id:
339
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
340
340
  return await self._get(
341
- f"/api/v1/budgets/{budget_id}/tags",
341
+ f"/api/v1/limits/{limit_id}/tags",
342
342
  options=make_request_options(
343
343
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
344
344
  ),
@@ -347,7 +347,7 @@ class AsyncTagsResource(AsyncAPIResource):
347
347
 
348
348
  async def delete(
349
349
  self,
350
- budget_id: str,
350
+ limit_id: str,
351
351
  *,
352
352
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
353
353
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -357,7 +357,7 @@ class AsyncTagsResource(AsyncAPIResource):
357
357
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
358
358
  ) -> TagDeleteResponse:
359
359
  """
360
- Delete all Tags from Budget
360
+ Delete all Tags from Limit
361
361
 
362
362
  Args:
363
363
  extra_headers: Send extra headers
@@ -368,10 +368,10 @@ class AsyncTagsResource(AsyncAPIResource):
368
368
 
369
369
  timeout: Override the client-level default timeout for this request, in seconds
370
370
  """
371
- if not budget_id:
372
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
371
+ if not limit_id:
372
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
373
373
  return await self._delete(
374
- f"/api/v1/budgets/{budget_id}/tags",
374
+ f"/api/v1/limits/{limit_id}/tags",
375
375
  options=make_request_options(
376
376
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
377
377
  ),
@@ -380,9 +380,9 @@ class AsyncTagsResource(AsyncAPIResource):
380
380
 
381
381
  async def remove(
382
382
  self,
383
- budget_id: str,
383
+ limit_id: str,
384
384
  *,
385
- budget_tags: List[str],
385
+ limit_tags: List[str],
386
386
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
387
387
  # The extra values given here take precedence over values defined on the client or passed to this method.
388
388
  extra_headers: Headers | None = None,
@@ -391,7 +391,7 @@ class AsyncTagsResource(AsyncAPIResource):
391
391
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
392
392
  ) -> TagRemoveResponse:
393
393
  """
394
- Remove Tags from Budget
394
+ Remove Tags from Limit
395
395
 
396
396
  Args:
397
397
  extra_headers: Send extra headers
@@ -402,11 +402,11 @@ class AsyncTagsResource(AsyncAPIResource):
402
402
 
403
403
  timeout: Override the client-level default timeout for this request, in seconds
404
404
  """
405
- if not budget_id:
406
- raise ValueError(f"Expected a non-empty value for `budget_id` but received {budget_id!r}")
405
+ if not limit_id:
406
+ raise ValueError(f"Expected a non-empty value for `limit_id` but received {limit_id!r}")
407
407
  return await self._patch(
408
- f"/api/v1/budgets/{budget_id}/tags/remove",
409
- body=await async_maybe_transform({"budget_tags": budget_tags}, tag_remove_params.TagRemoveParams),
408
+ f"/api/v1/limits/{limit_id}/tags/remove",
409
+ body=await async_maybe_transform({"limit_tags": limit_tags}, tag_remove_params.TagRemoveParams),
410
410
  options=make_request_options(
411
411
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
412
412
  ),
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, Optional
5
+ from typing import Dict
6
6
 
7
7
  import httpx
8
8
 
@@ -50,7 +50,7 @@ class PropertiesResource(SyncAPIResource):
50
50
  self,
51
51
  request_id: str,
52
52
  *,
53
- properties: Optional[Dict[str, str]],
53
+ properties: Dict[str, str],
54
54
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
55
  # The extra values given here take precedence over values defined on the client or passed to this method.
56
56
  extra_headers: Headers | None = None,
@@ -59,7 +59,7 @@ class PropertiesResource(SyncAPIResource):
59
59
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
60
  ) -> PropertiesResponse:
61
61
  """
62
- Create properties for a Request
62
+ Update Request properties
63
63
 
64
64
  Args:
65
65
  extra_headers: Send extra headers
@@ -106,7 +106,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
106
106
  self,
107
107
  request_id: str,
108
108
  *,
109
- properties: Optional[Dict[str, str]],
109
+ properties: Dict[str, str],
110
110
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
111
111
  # The extra values given here take precedence over values defined on the client or passed to this method.
112
112
  extra_headers: Headers | None = None,
@@ -115,7 +115,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
115
115
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
116
116
  ) -> PropertiesResponse:
117
117
  """
118
- Create properties for a Request
118
+ Update Request properties
119
119
 
120
120
  Args:
121
121
  extra_headers: Send extra headers
payi/types/__init__.py CHANGED
@@ -2,26 +2,28 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .shared import EvaluationResponse as EvaluationResponse
5
6
  from .cost_data import CostData as CostData
6
7
  from .cost_details import CostDetails as CostDetails
7
8
  from .billing_model import BillingModel as BillingModel
8
9
  from .requests_data import RequestsData as RequestsData
10
+ from .limit_response import LimitResponse as LimitResponse
9
11
  from .price_modifier import PriceModifier as PriceModifier
10
- from .budget_response import BudgetResponse as BudgetResponse
11
12
  from .ingest_response import IngestResponse as IngestResponse
12
13
  from .total_cost_data import TotalCostData as TotalCostData
13
14
  from .default_response import DefaultResponse as DefaultResponse
15
+ from .paged_limit_list import PagedLimitList as PagedLimitList
14
16
  from .category_response import CategoryResponse as CategoryResponse
15
- from .paged_budget_list import PagedBudgetList as PagedBudgetList
16
- from .budget_list_params import BudgetListParams as BudgetListParams
17
+ from .limit_list_params import LimitListParams as LimitListParams
17
18
  from .ingest_bulk_params import IngestBulkParams as IngestBulkParams
18
19
  from .ingest_event_param import IngestEventParam as IngestEventParam
20
+ from .limit_reset_params import LimitResetParams as LimitResetParams
19
21
  from .ingest_units_params import IngestUnitsParams as IngestUnitsParams
20
- from .budget_create_params import BudgetCreateParams as BudgetCreateParams
21
- from .budget_update_params import BudgetUpdateParams as BudgetUpdateParams
22
+ from .limit_create_params import LimitCreateParams as LimitCreateParams
23
+ from .limit_update_params import LimitUpdateParams as LimitUpdateParams
22
24
  from .bulk_ingest_response import BulkIngestResponse as BulkIngestResponse
23
25
  from .category_list_response import CategoryListResponse as CategoryListResponse
24
- from .budget_history_response import BudgetHistoryResponse as BudgetHistoryResponse
26
+ from .limit_history_response import LimitHistoryResponse as LimitHistoryResponse
25
27
  from .category_delete_response import CategoryDeleteResponse as CategoryDeleteResponse
26
28
  from .category_resource_response import CategoryResourceResponse as CategoryResourceResponse
27
29
  from .billing_model_create_params import BillingModelCreateParams as BillingModelCreateParams
@@ -18,7 +18,7 @@ class BillingModel(BaseModel):
18
18
 
19
19
  name: str
20
20
 
21
- type: Literal["invalid", "costplus", "subscription", "hybrid"]
21
+ type: Literal["costplus", "subscription", "hybrid"]
22
22
 
23
23
  updated_on: datetime
24
24
 
@@ -11,7 +11,7 @@ __all__ = ["BillingModelCreateParams"]
11
11
  class BillingModelCreateParams(TypedDict, total=False):
12
12
  name: Required[str]
13
13
 
14
- type: Required[Literal["invalid", "costplus", "subscription", "hybrid"]]
14
+ type: Required[Literal["costplus", "subscription", "hybrid"]]
15
15
 
16
16
  default_price_modifier: Optional[float]
17
17
 
@@ -9,7 +9,7 @@ __all__ = ["BillingModelUpdateParams"]
9
9
 
10
10
 
11
11
  class BillingModelUpdateParams(TypedDict, total=False):
12
- type: Required[Literal["invalid", "costplus", "subscription", "hybrid"]]
12
+ type: Required[Literal["costplus", "subscription", "hybrid"]]
13
13
 
14
14
  default_price_modifier: Optional[float]
15
15
 
@@ -17,6 +17,8 @@ class Units(BaseModel):
17
17
  class CategoryResourceResponse(BaseModel):
18
18
  category: str
19
19
 
20
+ proxy_allowed: bool
21
+
20
22
  resource: str
21
23
 
22
24
  resource_id: str
@@ -25,6 +27,8 @@ class CategoryResourceResponse(BaseModel):
25
27
 
26
28
  units: Dict[str, Units]
27
29
 
30
+ deprecated_timestamp: Optional[datetime] = None
31
+
28
32
  max_input_units: Optional[int] = None
29
33
 
30
34
  max_output_units: Optional[int] = None
@@ -2,10 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .csat_response import CsatResponse as CsatResponse
6
5
  from .experience_type import ExperienceType as ExperienceType
7
6
  from .type_list_params import TypeListParams as TypeListParams
8
- from .csat_create_params import CsatCreateParams as CsatCreateParams
9
7
  from .type_create_params import TypeCreateParams as TypeCreateParams
10
8
  from .type_list_response import TypeListResponse as TypeListResponse
11
9
  from .type_update_params import TypeUpdateParams as TypeUpdateParams
@@ -2,11 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, Optional
5
+ from typing import Dict
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
8
  __all__ = ["PropertyCreateParams"]
9
9
 
10
10
 
11
11
  class PropertyCreateParams(TypedDict, total=False):
12
- properties: Required[Optional[Dict[str, str]]]
12
+ properties: Required[Dict[str, str]]
@@ -2,13 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Optional
5
+ from typing import Dict, List, Union, Iterable, Optional
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  from .._utils import PropertyInfo
10
10
 
11
- __all__ = ["IngestEventParam", "Units"]
11
+ __all__ = ["IngestEventParam", "Units", "ProviderRequestHeader", "ProviderResponseHeader"]
12
12
 
13
13
 
14
14
  class Units(TypedDict, total=False):
@@ -17,6 +17,18 @@ class Units(TypedDict, total=False):
17
17
  output: int
18
18
 
19
19
 
20
+ class ProviderRequestHeader(TypedDict, total=False):
21
+ name: Required[str]
22
+
23
+ value: Optional[str]
24
+
25
+
26
+ class ProviderResponseHeader(TypedDict, total=False):
27
+ name: Required[str]
28
+
29
+ value: Optional[str]
30
+
31
+
20
32
  class IngestEventParam(TypedDict, total=False):
21
33
  category: Required[str]
22
34
 
@@ -24,8 +36,6 @@ class IngestEventParam(TypedDict, total=False):
24
36
 
25
37
  units: Required[Dict[str, Units]]
26
38
 
27
- budget_ids: Optional[List[str]]
28
-
29
39
  csat_rating: Optional[int]
30
40
 
31
41
  end_to_end_latency_ms: Optional[int]
@@ -36,9 +46,23 @@ class IngestEventParam(TypedDict, total=False):
36
46
 
37
47
  experience_name: Optional[str]
38
48
 
49
+ experience_properties: Optional[Dict[str, str]]
50
+
39
51
  http_status_code: Optional[int]
40
52
 
41
- provisioned_resource_name: Optional[str]
53
+ limit_ids: Optional[List[str]]
54
+
55
+ properties: Optional[Dict[str, str]]
56
+
57
+ provider_request_headers: Optional[Iterable[ProviderRequestHeader]]
58
+
59
+ provider_request_json: Optional[str]
60
+
61
+ provider_response_headers: Optional[Iterable[ProviderResponseHeader]]
62
+
63
+ provider_response_json: Union[str, List[str], None]
64
+
65
+ provider_uri: Optional[str]
42
66
 
43
67
  request_tags: Optional[List[str]]
44
68
 
@@ -7,11 +7,7 @@ from typing_extensions import Literal
7
7
  from .._models import BaseModel
8
8
  from .cost_details import CostDetails
9
9
 
10
- __all__ = ["IngestResponse", "XproxyResult", "XproxyResultBudgets", "XproxyResultCost"]
11
-
12
-
13
- class XproxyResultBudgets(BaseModel):
14
- state: Optional[Literal["ok", "blocked", "blocked_external", "exceeded", "overrun", "failed"]] = None
10
+ __all__ = ["IngestResponse", "XproxyResult", "XproxyResultCost", "XproxyResultLimits"]
15
11
 
16
12
 
17
13
  class XproxyResultCost(BaseModel):
@@ -24,13 +20,17 @@ class XproxyResultCost(BaseModel):
24
20
  total: Optional[CostDetails] = None
25
21
 
26
22
 
27
- class XproxyResult(BaseModel):
28
- budgets: Optional[Dict[str, XproxyResultBudgets]] = None
23
+ class XproxyResultLimits(BaseModel):
24
+ state: Optional[Literal["ok", "blocked", "blocked_external", "exceeded", "overrun", "failed"]] = None
25
+
29
26
 
27
+ class XproxyResult(BaseModel):
30
28
  cost: Optional[XproxyResultCost] = None
31
29
 
32
30
  experience_id: Optional[str] = None
33
31
 
32
+ limits: Optional[Dict[str, XproxyResultLimits]] = None
33
+
34
34
  request_id: Optional[str] = None
35
35
 
36
36
  request_tags: Optional[List[str]] = None