payi 0.1.0a16__tar.gz → 0.1.0a17__tar.gz

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 (124) hide show
  1. payi-0.1.0a17/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a16 → payi-0.1.0a17}/CHANGELOG.md +13 -0
  3. {payi-0.1.0a16 → payi-0.1.0a17}/PKG-INFO +1 -1
  4. {payi-0.1.0a16 → payi-0.1.0a17}/pyproject.toml +1 -1
  5. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_version.py +1 -1
  6. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/experiences/experiences.py +26 -6
  7. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/experiences/types.py +22 -10
  8. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/ingest.py +31 -14
  9. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_resource_response.py +2 -2
  10. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experiences/type_create_params.py +3 -4
  11. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/ingest_units_params.py +4 -0
  12. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/experiences/test_types.py +82 -38
  13. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/test_experiences.py +68 -18
  14. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/test_ingest.py +4 -0
  15. payi-0.1.0a16/.release-please-manifest.json +0 -3
  16. {payi-0.1.0a16 → payi-0.1.0a17}/.gitignore +0 -0
  17. {payi-0.1.0a16 → payi-0.1.0a17}/CONTRIBUTING.md +0 -0
  18. {payi-0.1.0a16 → payi-0.1.0a17}/LICENSE +0 -0
  19. {payi-0.1.0a16 → payi-0.1.0a17}/README.md +0 -0
  20. {payi-0.1.0a16 → payi-0.1.0a17}/SECURITY.md +0 -0
  21. {payi-0.1.0a16 → payi-0.1.0a17}/api.md +0 -0
  22. {payi-0.1.0a16 → payi-0.1.0a17}/bin/check-release-environment +0 -0
  23. {payi-0.1.0a16 → payi-0.1.0a17}/bin/publish-pypi +0 -0
  24. {payi-0.1.0a16 → payi-0.1.0a17}/examples/.keep +0 -0
  25. {payi-0.1.0a16 → payi-0.1.0a17}/mypy.ini +0 -0
  26. {payi-0.1.0a16 → payi-0.1.0a17}/noxfile.py +0 -0
  27. {payi-0.1.0a16 → payi-0.1.0a17}/release-please-config.json +0 -0
  28. {payi-0.1.0a16 → payi-0.1.0a17}/requirements-dev.lock +0 -0
  29. {payi-0.1.0a16 → payi-0.1.0a17}/requirements.lock +0 -0
  30. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/__init__.py +0 -0
  31. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_base_client.py +0 -0
  32. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_client.py +0 -0
  33. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_compat.py +0 -0
  34. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_constants.py +0 -0
  35. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_exceptions.py +0 -0
  36. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_files.py +0 -0
  37. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_models.py +0 -0
  38. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_qs.py +0 -0
  39. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_resource.py +0 -0
  40. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_response.py +0 -0
  41. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_streaming.py +0 -0
  42. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_types.py +0 -0
  43. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/__init__.py +0 -0
  44. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_logs.py +0 -0
  45. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_proxy.py +0 -0
  46. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_reflection.py +0 -0
  47. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_streams.py +0 -0
  48. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_sync.py +0 -0
  49. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_transform.py +0 -0
  50. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_typing.py +0 -0
  51. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/_utils/_utils.py +0 -0
  52. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/lib/.keep +0 -0
  53. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/lib/helpers.py +0 -0
  54. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/py.typed +0 -0
  55. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/__init__.py +0 -0
  56. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/budgets/__init__.py +0 -0
  57. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/budgets/budgets.py +0 -0
  58. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/budgets/tags.py +0 -0
  59. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/categories/__init__.py +0 -0
  60. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/categories/categories.py +0 -0
  61. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/categories/resources.py +0 -0
  62. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/resources/experiences/__init__.py +0 -0
  63. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/__init__.py +0 -0
  64. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budget_create_params.py +0 -0
  65. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budget_history_response.py +0 -0
  66. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budget_list_params.py +0 -0
  67. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budget_response.py +0 -0
  68. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budget_update_params.py +0 -0
  69. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/__init__.py +0 -0
  70. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/budget_tags.py +0 -0
  71. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_create_params.py +0 -0
  72. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_create_response.py +0 -0
  73. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_delete_response.py +0 -0
  74. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_list_response.py +0 -0
  75. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_remove_params.py +0 -0
  76. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_remove_response.py +0 -0
  77. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_update_params.py +0 -0
  78. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/budgets/tag_update_response.py +0 -0
  79. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/bulk_ingest_response.py +0 -0
  80. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/categories/__init__.py +0 -0
  81. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/categories/resource_create_params.py +0 -0
  82. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/categories/resource_list_response.py +0 -0
  83. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_delete_resource_response.py +0 -0
  84. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_delete_response.py +0 -0
  85. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_list_resources_response.py +0 -0
  86. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_list_response.py +0 -0
  87. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/category_response.py +0 -0
  88. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/cost_data.py +0 -0
  89. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/cost_details.py +0 -0
  90. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/default_response.py +0 -0
  91. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experience_instance.py +0 -0
  92. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experiences/__init__.py +0 -0
  93. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experiences/experience_type.py +0 -0
  94. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experiences/type_list_response.py +0 -0
  95. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/experiences/type_update_params.py +0 -0
  96. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/ingest_bulk_params.py +0 -0
  97. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/ingest_response.py +0 -0
  98. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/paged_budget_list.py +0 -0
  99. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/requests_data.py +0 -0
  100. {payi-0.1.0a16 → payi-0.1.0a17}/src/payi/types/total_cost_data.py +0 -0
  101. {payi-0.1.0a16 → payi-0.1.0a17}/tests/__init__.py +0 -0
  102. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/__init__.py +0 -0
  103. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/budgets/__init__.py +0 -0
  104. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/budgets/test_tags.py +0 -0
  105. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/categories/__init__.py +0 -0
  106. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/categories/test_resources.py +0 -0
  107. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/experiences/__init__.py +0 -0
  108. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/test_budgets.py +0 -0
  109. {payi-0.1.0a16 → payi-0.1.0a17}/tests/api_resources/test_categories.py +0 -0
  110. {payi-0.1.0a16 → payi-0.1.0a17}/tests/conftest.py +0 -0
  111. {payi-0.1.0a16 → payi-0.1.0a17}/tests/sample_file.txt +0 -0
  112. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_client.py +0 -0
  113. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_deepcopy.py +0 -0
  114. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_extract_files.py +0 -0
  115. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_files.py +0 -0
  116. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_models.py +0 -0
  117. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_qs.py +0 -0
  118. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_required_args.py +0 -0
  119. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_response.py +0 -0
  120. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_streaming.py +0 -0
  121. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_transform.py +0 -0
  122. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_utils/test_proxy.py +0 -0
  123. {payi-0.1.0a16 → payi-0.1.0a17}/tests/test_utils/test_typing.py +0 -0
  124. {payi-0.1.0a16 → payi-0.1.0a17}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.17"
3
+ }
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.17 (2024-08-07)
4
+
5
+ Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.16...v0.1.0-alpha.17)
6
+
7
+ ### Features
8
+
9
+ * **api:** update via SDK Studio ([#79](https://github.com/Pay-i/pay-i-python/issues/79)) ([b7a562e](https://github.com/Pay-i/pay-i-python/commit/b7a562ed5f6051fd797ac76087ef095e8c73a8bc))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **client:** correctly serialise array body params ([#77](https://github.com/Pay-i/pay-i-python/issues/77)) ([e3770e4](https://github.com/Pay-i/pay-i-python/commit/e3770e474a9279eb4f13cbd7d87480d4d6a5bc76))
15
+
3
16
  ## 0.1.0-alpha.16 (2024-08-07)
4
17
 
5
18
  Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.15...v0.1.0-alpha.16)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: payi
3
- Version: 0.1.0a16
3
+ Version: 0.1.0a17
4
4
  Summary: The official Python library for the payi API
5
5
  Project-URL: Homepage, https://github.com/Pay-i/pay-i-python
6
6
  Project-URL: Repository, https://github.com/Pay-i/pay-i-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.16"
3
+ version = "0.1.0-alpha.17"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "payi"
4
- __version__ = "0.1.0-alpha.16" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.17" # x-release-please-version
@@ -42,7 +42,7 @@ class ExperiencesResource(SyncAPIResource):
42
42
 
43
43
  def create(
44
44
  self,
45
- experience_type_id: int,
45
+ experience_type_id: str,
46
46
  *,
47
47
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
48
48
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -65,6 +65,8 @@ class ExperiencesResource(SyncAPIResource):
65
65
 
66
66
  timeout: Override the client-level default timeout for this request, in seconds
67
67
  """
68
+ if not experience_type_id:
69
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
68
70
  return self._post(
69
71
  f"/api/v1/experiences/instances/{experience_type_id}",
70
72
  options=make_request_options(
@@ -75,7 +77,7 @@ class ExperiencesResource(SyncAPIResource):
75
77
 
76
78
  def retrieve(
77
79
  self,
78
- experience_instance_id: int,
80
+ experience_instance_id: str,
79
81
  *,
80
82
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
81
83
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -96,6 +98,10 @@ class ExperiencesResource(SyncAPIResource):
96
98
 
97
99
  timeout: Override the client-level default timeout for this request, in seconds
98
100
  """
101
+ if not experience_instance_id:
102
+ raise ValueError(
103
+ f"Expected a non-empty value for `experience_instance_id` but received {experience_instance_id!r}"
104
+ )
99
105
  return self._get(
100
106
  f"/api/v1/experiences/instances/{experience_instance_id}",
101
107
  options=make_request_options(
@@ -106,7 +112,7 @@ class ExperiencesResource(SyncAPIResource):
106
112
 
107
113
  def delete(
108
114
  self,
109
- experience_instance_id: int,
115
+ experience_instance_id: str,
110
116
  *,
111
117
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
112
118
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -129,6 +135,10 @@ class ExperiencesResource(SyncAPIResource):
129
135
 
130
136
  timeout: Override the client-level default timeout for this request, in seconds
131
137
  """
138
+ if not experience_instance_id:
139
+ raise ValueError(
140
+ f"Expected a non-empty value for `experience_instance_id` but received {experience_instance_id!r}"
141
+ )
132
142
  return self._delete(
133
143
  f"/api/v1/experiences/instances/{experience_instance_id}",
134
144
  options=make_request_options(
@@ -153,7 +163,7 @@ class AsyncExperiencesResource(AsyncAPIResource):
153
163
 
154
164
  async def create(
155
165
  self,
156
- experience_type_id: int,
166
+ experience_type_id: str,
157
167
  *,
158
168
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
159
169
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -176,6 +186,8 @@ class AsyncExperiencesResource(AsyncAPIResource):
176
186
 
177
187
  timeout: Override the client-level default timeout for this request, in seconds
178
188
  """
189
+ if not experience_type_id:
190
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
179
191
  return await self._post(
180
192
  f"/api/v1/experiences/instances/{experience_type_id}",
181
193
  options=make_request_options(
@@ -186,7 +198,7 @@ class AsyncExperiencesResource(AsyncAPIResource):
186
198
 
187
199
  async def retrieve(
188
200
  self,
189
- experience_instance_id: int,
201
+ experience_instance_id: str,
190
202
  *,
191
203
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
192
204
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -207,6 +219,10 @@ class AsyncExperiencesResource(AsyncAPIResource):
207
219
 
208
220
  timeout: Override the client-level default timeout for this request, in seconds
209
221
  """
222
+ if not experience_instance_id:
223
+ raise ValueError(
224
+ f"Expected a non-empty value for `experience_instance_id` but received {experience_instance_id!r}"
225
+ )
210
226
  return await self._get(
211
227
  f"/api/v1/experiences/instances/{experience_instance_id}",
212
228
  options=make_request_options(
@@ -217,7 +233,7 @@ class AsyncExperiencesResource(AsyncAPIResource):
217
233
 
218
234
  async def delete(
219
235
  self,
220
- experience_instance_id: int,
236
+ experience_instance_id: str,
221
237
  *,
222
238
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
223
239
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -240,6 +256,10 @@ class AsyncExperiencesResource(AsyncAPIResource):
240
256
 
241
257
  timeout: Override the client-level default timeout for this request, in seconds
242
258
  """
259
+ if not experience_instance_id:
260
+ raise ValueError(
261
+ f"Expected a non-empty value for `experience_instance_id` but received {experience_instance_id!r}"
262
+ )
243
263
  return await self._delete(
244
264
  f"/api/v1/experiences/instances/{experience_instance_id}",
245
265
  options=make_request_options(
@@ -39,8 +39,8 @@ class TypesResource(SyncAPIResource):
39
39
  def create(
40
40
  self,
41
41
  *,
42
- description: Optional[str] | NotGiven = NOT_GIVEN,
43
- name: Optional[str] | NotGiven = NOT_GIVEN,
42
+ description: str,
43
+ name: str,
44
44
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
45
45
  # The extra values given here take precedence over values defined on the client or passed to this method.
46
46
  extra_headers: Headers | None = None,
@@ -79,7 +79,7 @@ class TypesResource(SyncAPIResource):
79
79
 
80
80
  def retrieve(
81
81
  self,
82
- experience_type_id: int,
82
+ experience_type_id: str,
83
83
  *,
84
84
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
85
85
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -100,6 +100,8 @@ class TypesResource(SyncAPIResource):
100
100
 
101
101
  timeout: Override the client-level default timeout for this request, in seconds
102
102
  """
103
+ if not experience_type_id:
104
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
103
105
  return self._get(
104
106
  f"/api/v1/experiences/types/{experience_type_id}",
105
107
  options=make_request_options(
@@ -110,7 +112,7 @@ class TypesResource(SyncAPIResource):
110
112
 
111
113
  def update(
112
114
  self,
113
- experience_type_id: int,
115
+ experience_type_id: str,
114
116
  *,
115
117
  description: Optional[str] | NotGiven = NOT_GIVEN,
116
118
  name: Optional[str] | NotGiven = NOT_GIVEN,
@@ -133,6 +135,8 @@ class TypesResource(SyncAPIResource):
133
135
 
134
136
  timeout: Override the client-level default timeout for this request, in seconds
135
137
  """
138
+ if not experience_type_id:
139
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
136
140
  return self._patch(
137
141
  f"/api/v1/experiences/types/{experience_type_id}",
138
142
  body=maybe_transform(
@@ -169,7 +173,7 @@ class TypesResource(SyncAPIResource):
169
173
 
170
174
  def delete(
171
175
  self,
172
- experience_type_id: int,
176
+ experience_type_id: str,
173
177
  *,
174
178
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
175
179
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -192,6 +196,8 @@ class TypesResource(SyncAPIResource):
192
196
 
193
197
  timeout: Override the client-level default timeout for this request, in seconds
194
198
  """
199
+ if not experience_type_id:
200
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
195
201
  return self._delete(
196
202
  f"/api/v1/experiences/types/{experience_type_id}",
197
203
  options=make_request_options(
@@ -213,8 +219,8 @@ class AsyncTypesResource(AsyncAPIResource):
213
219
  async def create(
214
220
  self,
215
221
  *,
216
- description: Optional[str] | NotGiven = NOT_GIVEN,
217
- name: Optional[str] | NotGiven = NOT_GIVEN,
222
+ description: str,
223
+ name: str,
218
224
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
219
225
  # The extra values given here take precedence over values defined on the client or passed to this method.
220
226
  extra_headers: Headers | None = None,
@@ -253,7 +259,7 @@ class AsyncTypesResource(AsyncAPIResource):
253
259
 
254
260
  async def retrieve(
255
261
  self,
256
- experience_type_id: int,
262
+ experience_type_id: str,
257
263
  *,
258
264
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
259
265
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -274,6 +280,8 @@ class AsyncTypesResource(AsyncAPIResource):
274
280
 
275
281
  timeout: Override the client-level default timeout for this request, in seconds
276
282
  """
283
+ if not experience_type_id:
284
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
277
285
  return await self._get(
278
286
  f"/api/v1/experiences/types/{experience_type_id}",
279
287
  options=make_request_options(
@@ -284,7 +292,7 @@ class AsyncTypesResource(AsyncAPIResource):
284
292
 
285
293
  async def update(
286
294
  self,
287
- experience_type_id: int,
295
+ experience_type_id: str,
288
296
  *,
289
297
  description: Optional[str] | NotGiven = NOT_GIVEN,
290
298
  name: Optional[str] | NotGiven = NOT_GIVEN,
@@ -307,6 +315,8 @@ class AsyncTypesResource(AsyncAPIResource):
307
315
 
308
316
  timeout: Override the client-level default timeout for this request, in seconds
309
317
  """
318
+ if not experience_type_id:
319
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
310
320
  return await self._patch(
311
321
  f"/api/v1/experiences/types/{experience_type_id}",
312
322
  body=await async_maybe_transform(
@@ -343,7 +353,7 @@ class AsyncTypesResource(AsyncAPIResource):
343
353
 
344
354
  async def delete(
345
355
  self,
346
- experience_type_id: int,
356
+ experience_type_id: str,
347
357
  *,
348
358
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
349
359
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -366,6 +376,8 @@ class AsyncTypesResource(AsyncAPIResource):
366
376
 
367
377
  timeout: Override the client-level default timeout for this request, in seconds
368
378
  """
379
+ if not experience_type_id:
380
+ raise ValueError(f"Expected a non-empty value for `experience_type_id` but received {experience_type_id!r}")
369
381
  return await self._delete(
370
382
  f"/api/v1/experiences/types/{experience_type_id}",
371
383
  options=make_request_options(
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, Union, Iterable, cast
5
+ from typing import Union, Iterable
6
6
  from datetime import datetime
7
7
 
8
8
  import httpx
@@ -66,12 +66,7 @@ class IngestResource(SyncAPIResource):
66
66
  """
67
67
  return self._post(
68
68
  "/api/v1/ingest/bulk",
69
- body=cast(Dict[str, object], maybe_transform(
70
- {
71
- "events": events,
72
- },
73
- ingest_bulk_params.IngestBulkParams)
74
- )["events"],
69
+ body=maybe_transform(events, Iterable[ingest_bulk_params.Event]),
75
70
  options=make_request_options(
76
71
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77
72
  ),
@@ -88,6 +83,8 @@ class IngestResource(SyncAPIResource):
88
83
  event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
89
84
  budget_ids: Union[list[str], None] | NotGiven = NOT_GIVEN,
90
85
  request_tags: Union[list[str], None] | NotGiven = NOT_GIVEN,
86
+ experience_instance_id: Union[str, None] | NotGiven = NOT_GIVEN,
87
+ user_id: Union[str, None] | NotGiven = NOT_GIVEN,
91
88
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
92
89
  # The extra values given here take precedence over values defined on the client or passed to this method.
93
90
  extra_headers: Headers | None = None,
@@ -112,6 +109,10 @@ class IngestResource(SyncAPIResource):
112
109
  budget_ids (list[str], optional): The budget IDs to associate with the request. Defaults to None.
113
110
 
114
111
  request_tags (list[str], optional): The request tags to associate with the request. Defaults to None.
112
+
113
+ experience_instance_id (str, optional): The experience instance id
114
+
115
+ user_id (str, optional): The user id
115
116
 
116
117
  extra_headers (Dict[str, str], optional): Additional headers for the request. Defaults to None.
117
118
 
@@ -142,11 +143,19 @@ class IngestResource(SyncAPIResource):
142
143
  valid_tags = [tag.strip() for tag in request_tags if tag.strip()]
143
144
  valid_tags_str = ",".join(valid_tags) if valid_tags else NOT_GIVEN
144
145
 
146
+ if experience_instance_id is None or isinstance(experience_instance_id, NotGiven):
147
+ experience_instance_id = NOT_GIVEN
148
+
149
+ if user_id is None or isinstance(user_id, NotGiven):
150
+ user_id = NOT_GIVEN
151
+
145
152
  extra_headers = {
146
153
  **strip_not_given(
147
154
  {
148
155
  "xProxy-Budget-IDs": valid_ids_str,
149
156
  "xProxy-Request-Tags": valid_tags_str,
157
+ "xProxy-Experience-InstanceId": experience_instance_id,
158
+ "xProxy-User-ID": user_id,
150
159
  }
151
160
  ),
152
161
  **(extra_headers or {}),
@@ -206,13 +215,7 @@ class AsyncIngestResource(AsyncAPIResource):
206
215
  """
207
216
  return await self._post(
208
217
  "/api/v1/ingest/bulk",
209
- body= cast(Dict[str, object],
210
- await async_maybe_transform(
211
- {
212
- "events": events,
213
- },
214
- ingest_bulk_params.IngestBulkParams)
215
- )["events"],
218
+ body=await async_maybe_transform(events, Iterable[ingest_bulk_params.Event]),
216
219
  options=make_request_options(
217
220
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
218
221
  ),
@@ -229,6 +232,8 @@ class AsyncIngestResource(AsyncAPIResource):
229
232
  event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
230
233
  budget_ids: Union[list[str], None] | NotGiven = NOT_GIVEN,
231
234
  request_tags: Union[list[str], None] | NotGiven = NOT_GIVEN,
235
+ experience_instance_id: Union[str, None] | NotGiven = NOT_GIVEN,
236
+ user_id: Union[str, None] | NotGiven = NOT_GIVEN,
232
237
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
233
238
  # The extra values given here take precedence over values defined on the client or passed to this method.
234
239
  extra_headers: Headers | None = None,
@@ -254,6 +259,10 @@ class AsyncIngestResource(AsyncAPIResource):
254
259
 
255
260
  request_tags (list[str], optional): The request tags to associate with the request. Defaults to None.
256
261
 
262
+ experience_instance_id (str, optional): The experience instance id
263
+
264
+ user_id (str, optional): The user id
265
+
257
266
  extra_headers (Dict[str, str], optional): Additional headers for the request. Defaults to None.
258
267
 
259
268
  extra_query (Dict[str, str], optional): Additional query parameters. Defaults to None.
@@ -283,11 +292,19 @@ class AsyncIngestResource(AsyncAPIResource):
283
292
  valid_tags = [tag.strip() for tag in request_tags if tag.strip()]
284
293
  valid_tags_str = ",".join(valid_tags) if valid_tags else NOT_GIVEN
285
294
 
295
+ if experience_instance_id is None or isinstance(experience_instance_id, NotGiven):
296
+ experience_instance_id = NOT_GIVEN
297
+
298
+ if user_id is None or isinstance(user_id, NotGiven):
299
+ user_id = NOT_GIVEN
300
+
286
301
  extra_headers = {
287
302
  **strip_not_given(
288
303
  {
289
304
  "xProxy-Budget-IDs": valid_ids_str,
290
305
  "xProxy-Request-Tags": valid_tags_str,
306
+ "xProxy-Experience-InstanceId": experience_instance_id,
307
+ "xProxy-User-ID": user_id,
291
308
  }
292
309
  ),
293
310
  **(extra_headers or {}),
@@ -13,6 +13,8 @@ class CategoryResourceResponse(BaseModel):
13
13
 
14
14
  resource: str
15
15
 
16
+ start_timestamp: datetime
17
+
16
18
  input_price: Optional[float] = None
17
19
 
18
20
  max_input_units: Optional[int] = None
@@ -20,5 +22,3 @@ class CategoryResourceResponse(BaseModel):
20
22
  max_output_units: Optional[int] = None
21
23
 
22
24
  output_price: Optional[float] = None
23
-
24
- start_timestamp: Optional[datetime] = None
@@ -2,13 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Optional
6
- from typing_extensions import TypedDict
5
+ from typing_extensions import Required, TypedDict
7
6
 
8
7
  __all__ = ["TypeCreateParams"]
9
8
 
10
9
 
11
10
  class TypeCreateParams(TypedDict, total=False):
12
- description: Optional[str]
11
+ description: Required[str]
13
12
 
14
- name: Optional[str]
13
+ name: Required[str]
@@ -25,3 +25,7 @@ class IngestUnitsParams(TypedDict, total=False):
25
25
  budget_ids: Annotated[Union[list[str], None], PropertyInfo(alias="xProxy-Budget-IDs")]
26
26
 
27
27
  request_tags: Annotated[Union[list[str], None], PropertyInfo(alias="xProxy-Request-Tags")]
28
+
29
+ experience_instance_id: Annotated[Union[str, None], PropertyInfo(alias="xProxy-Experience-InstanceId")]
30
+
31
+ user_id: Annotated[Union[str, None], PropertyInfo(alias="xProxy-User-ID")]