pingram-python 0.1.0__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.
Files changed (189) hide show
  1. pingram/__init__.py +395 -0
  2. pingram/api/__init__.py +21 -0
  3. pingram/api/account_api.py +2198 -0
  4. pingram/api/addresses_api.py +860 -0
  5. pingram/api/components_api.py +1681 -0
  6. pingram/api/default_api.py +320 -0
  7. pingram/api/domains_api.py +849 -0
  8. pingram/api/editor_api.py +320 -0
  9. pingram/api/environments_api.py +878 -0
  10. pingram/api/health_api.py +287 -0
  11. pingram/api/insights_api.py +321 -0
  12. pingram/api/keys_api.py +849 -0
  13. pingram/api/logs_api.py +1632 -0
  14. pingram/api/members_api.py +1780 -0
  15. pingram/api/sender_api.py +892 -0
  16. pingram/api/templates_api.py +1889 -0
  17. pingram/api/types_api.py +1411 -0
  18. pingram/api/user_api.py +2534 -0
  19. pingram/api/users_api.py +936 -0
  20. pingram/api_client.py +807 -0
  21. pingram/api_response.py +21 -0
  22. pingram/client_wrapper.py +357 -0
  23. pingram/configuration.py +623 -0
  24. pingram/exceptions.py +219 -0
  25. pingram/models/__init__.py +173 -0
  26. pingram/models/account_addresses_response.py +95 -0
  27. pingram/models/account_addresses_response_addresses_inner.py +104 -0
  28. pingram/models/account_get_response.py +143 -0
  29. pingram/models/account_get_response_pending_downgrade_usage_limit.py +99 -0
  30. pingram/models/address_response.py +91 -0
  31. pingram/models/auto_join_get_response.py +89 -0
  32. pingram/models/auto_join_post_response.py +89 -0
  33. pingram/models/auto_join_request_body.py +87 -0
  34. pingram/models/bee_token_v2.py +89 -0
  35. pingram/models/billing_post_request_body.py +91 -0
  36. pingram/models/billing_post_response_body.py +149 -0
  37. pingram/models/billing_post_response_body_pending_downgrade_usage_limit.py +99 -0
  38. pingram/models/channels_enum.py +42 -0
  39. pingram/models/create_account_request_body.py +87 -0
  40. pingram/models/create_account_response.py +89 -0
  41. pingram/models/create_address_request.py +91 -0
  42. pingram/models/create_key_request.py +98 -0
  43. pingram/models/create_key_response.py +104 -0
  44. pingram/models/delete_key_response.py +87 -0
  45. pingram/models/delete_user_response.py +87 -0
  46. pingram/models/email_auth_token_post_request.py +87 -0
  47. pingram/models/email_component_patch_request.py +93 -0
  48. pingram/models/email_component_post_request.py +95 -0
  49. pingram/models/email_component_response.py +120 -0
  50. pingram/models/email_component_response_referenced_by_inner.py +92 -0
  51. pingram/models/environment.py +96 -0
  52. pingram/models/environment_create_request.py +87 -0
  53. pingram/models/environment_patch_request.py +94 -0
  54. pingram/models/get_account_metadata_response.py +91 -0
  55. pingram/models/get_account_metadata_response_user_account_metadata.py +91 -0
  56. pingram/models/get_email_components_response_inner.py +120 -0
  57. pingram/models/get_environments_response_inner.py +96 -0
  58. pingram/models/get_inapp_notifications_response.py +95 -0
  59. pingram/models/get_inapp_notifications_response_notifications_inner.py +137 -0
  60. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.py +106 -0
  61. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.py +93 -0
  62. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.py +87 -0
  63. pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.py +89 -0
  64. pingram/models/get_inapp_notifications_response_notifications_inner_template.py +136 -0
  65. pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.py +98 -0
  66. pingram/models/get_keys_response.py +95 -0
  67. pingram/models/get_keys_response_keys_inner.py +110 -0
  68. pingram/models/get_logs_response.py +97 -0
  69. pingram/models/get_logs_response_messages_inner.py +141 -0
  70. pingram/models/get_logs_response_messages_inner_attachments_inner.py +93 -0
  71. pingram/models/get_members_response_inner.py +95 -0
  72. pingram/models/get_metrics_response_inner.py +116 -0
  73. pingram/models/get_metrics_response_inner_messages_inner.py +89 -0
  74. pingram/models/get_notifications_response_inner.py +126 -0
  75. pingram/models/get_notifications_response_inner_deduplication.py +87 -0
  76. pingram/models/get_notifications_response_inner_options.py +122 -0
  77. pingram/models/get_notifications_response_inner_options_email.py +128 -0
  78. pingram/models/get_notifications_response_inner_options_email_daily.py +89 -0
  79. pingram/models/get_notifications_response_inner_options_email_monthly.py +101 -0
  80. pingram/models/get_notifications_response_inner_options_email_weekly.py +91 -0
  81. pingram/models/get_notifications_response_inner_templates_inner.py +90 -0
  82. pingram/models/get_notifications_response_inner_throttling.py +111 -0
  83. pingram/models/get_senders_response_inner.py +128 -0
  84. pingram/models/get_templates_response.py +136 -0
  85. pingram/models/get_users_response.py +99 -0
  86. pingram/models/get_users_response_users_inner.py +133 -0
  87. pingram/models/get_users_response_users_inner_email_suppression_status.py +96 -0
  88. pingram/models/get_users_response_users_inner_push_tokens_inner.py +104 -0
  89. pingram/models/get_users_response_users_inner_push_tokens_inner_device.py +97 -0
  90. pingram/models/get_users_response_users_inner_slack_token.py +140 -0
  91. pingram/models/get_users_response_users_inner_slack_token_authed_user.py +97 -0
  92. pingram/models/get_users_response_users_inner_slack_token_enterprise.py +89 -0
  93. pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.py +93 -0
  94. pingram/models/get_users_response_users_inner_slack_token_response_metadata.py +97 -0
  95. pingram/models/get_users_response_users_inner_web_push_tokens_inner.py +91 -0
  96. pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.py +93 -0
  97. pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.py +89 -0
  98. pingram/models/in_app_notification_patch_request.py +112 -0
  99. pingram/models/in_app_notification_unread_clear_request.py +89 -0
  100. pingram/models/inapp_unread_count_response.py +87 -0
  101. pingram/models/inbound_request_body.py +138 -0
  102. pingram/models/inbound_response_body.py +104 -0
  103. pingram/models/inbound_response_body_results_inner.py +103 -0
  104. pingram/models/ingishts_post_request.py +121 -0
  105. pingram/models/ingishts_post_request_label_options.py +87 -0
  106. pingram/models/ingishts_post_request_metric_data_queries_inner.py +103 -0
  107. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.py +107 -0
  108. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.py +99 -0
  109. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.py +89 -0
  110. pingram/models/intercom_webhook.py +106 -0
  111. pingram/models/intercom_webhook_data.py +91 -0
  112. pingram/models/intercom_webhook_data_item.py +136 -0
  113. pingram/models/intercom_webhook_data_item_any_of.py +140 -0
  114. pingram/models/intercom_webhook_data_item_any_of_contacts.py +104 -0
  115. pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.py +91 -0
  116. pingram/models/intercom_webhook_data_item_any_of_source.py +101 -0
  117. pingram/models/intercom_webhook_data_item_any_of_source_author.py +93 -0
  118. pingram/models/invite_post_response.py +89 -0
  119. pingram/models/log_query_post_body.py +109 -0
  120. pingram/models/logs_bulk_request.py +87 -0
  121. pingram/models/logs_get_response.py +95 -0
  122. pingram/models/logs_get_response_logs_inner.py +627 -0
  123. pingram/models/logs_query_response.py +87 -0
  124. pingram/models/logs_query_result_response.py +101 -0
  125. pingram/models/logs_retention_response.py +87 -0
  126. pingram/models/logs_tail_response.py +95 -0
  127. pingram/models/member_invite_request.py +89 -0
  128. pingram/models/member_update_request.py +87 -0
  129. pingram/models/message_response.py +87 -0
  130. pingram/models/notification.py +126 -0
  131. pingram/models/notification_create_request.py +97 -0
  132. pingram/models/notification_patch_request.py +112 -0
  133. pingram/models/post_email_test_request.py +99 -0
  134. pingram/models/post_email_test_response.py +89 -0
  135. pingram/models/post_senders_request_body.py +87 -0
  136. pingram/models/post_user_request.py +121 -0
  137. pingram/models/sender_post_body.py +166 -0
  138. pingram/models/sender_post_body_email.py +95 -0
  139. pingram/models/sender_post_body_inapp.py +91 -0
  140. pingram/models/sender_post_body_mobile_push.py +89 -0
  141. pingram/models/sender_post_body_options.py +103 -0
  142. pingram/models/sender_post_body_options_apn.py +99 -0
  143. pingram/models/sender_post_body_options_email.py +107 -0
  144. pingram/models/sender_post_body_options_email_attachments_inner.py +134 -0
  145. pingram/models/sender_post_body_options_email_attachments_inner_any_of.py +89 -0
  146. pingram/models/sender_post_body_options_email_attachments_inner_any_of1.py +91 -0
  147. pingram/models/sender_post_body_options_fcm.py +91 -0
  148. pingram/models/sender_post_body_options_fcm_android.py +103 -0
  149. pingram/models/sender_post_body_slack.py +123 -0
  150. pingram/models/sender_post_body_slack_metadata.py +99 -0
  151. pingram/models/sender_post_body_slack_metadata_entities_inner.py +99 -0
  152. pingram/models/sender_post_body_slack_metadata_entities_inner_external_ref.py +89 -0
  153. pingram/models/sender_post_body_sms.py +93 -0
  154. pingram/models/sender_post_body_sms_auto_reply.py +87 -0
  155. pingram/models/sender_post_body_to.py +133 -0
  156. pingram/models/sender_post_body_user.py +133 -0
  157. pingram/models/sender_post_body_web_push.py +93 -0
  158. pingram/models/sender_post_response.py +89 -0
  159. pingram/models/set_default_template_request.py +97 -0
  160. pingram/models/slack_interactivity_response.py +87 -0
  161. pingram/models/slack_oauth_request.py +89 -0
  162. pingram/models/success_response.py +87 -0
  163. pingram/models/supabase_configure_request.py +93 -0
  164. pingram/models/supabase_configure_response.py +89 -0
  165. pingram/models/supabase_o_auth_request.py +91 -0
  166. pingram/models/supabase_o_auth_response.py +89 -0
  167. pingram/models/supabase_projects_response.py +95 -0
  168. pingram/models/supabase_projects_response_projects_inner.py +95 -0
  169. pingram/models/supabase_status_response.py +93 -0
  170. pingram/models/template.py +98 -0
  171. pingram/models/template_patch_request.py +134 -0
  172. pingram/models/template_patch_request_any_of.py +97 -0
  173. pingram/models/template_patch_request_any_of1.py +103 -0
  174. pingram/models/template_patch_request_any_of1_batch.py +91 -0
  175. pingram/models/template_patch_request_any_of1_instant.py +91 -0
  176. pingram/models/template_post_request.py +131 -0
  177. pingram/models/template_post_request_batch.py +91 -0
  178. pingram/models/template_post_request_instant.py +91 -0
  179. pingram/models/update_address_request.py +91 -0
  180. pingram/models/user.py +133 -0
  181. pingram/models/user_suppression_delete_response.py +91 -0
  182. pingram/models/webhook_response.py +104 -0
  183. pingram/py.typed +0 -0
  184. pingram/rest.py +199 -0
  185. pingram_python-0.1.0.dist-info/METADATA +69 -0
  186. pingram_python-0.1.0.dist-info/RECORD +189 -0
  187. pingram_python-0.1.0.dist-info/WHEEL +5 -0
  188. pingram_python-0.1.0.dist-info/licenses/LICENSE +21 -0
  189. pingram_python-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1780 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ NotificationAPI
5
+
6
+ Internal API for notification delivery and management
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr
20
+ from typing import List
21
+ from typing_extensions import Annotated
22
+ from pingram.models.auto_join_get_response import AutoJoinGetResponse
23
+ from pingram.models.auto_join_post_response import AutoJoinPostResponse
24
+ from pingram.models.auto_join_request_body import AutoJoinRequestBody
25
+ from pingram.models.get_members_response_inner import GetMembersResponseInner
26
+ from pingram.models.invite_post_response import InvitePostResponse
27
+ from pingram.models.member_invite_request import MemberInviteRequest
28
+ from pingram.models.member_update_request import MemberUpdateRequest
29
+ from pingram.models.success_response import SuccessResponse
30
+
31
+ from pingram.api_client import ApiClient, RequestSerialized
32
+ from pingram.api_response import ApiResponse
33
+ from pingram.rest import RESTResponseType
34
+
35
+
36
+ class MembersApi:
37
+ """NOTE: This class is auto generated by OpenAPI Generator
38
+ Ref: https://openapi-generator.tech
39
+
40
+ Do not edit the class manually.
41
+ """
42
+
43
+ def __init__(self, api_client=None) -> None:
44
+ if api_client is None:
45
+ api_client = ApiClient.get_default()
46
+ self.api_client = api_client
47
+
48
+
49
+ @validate_call
50
+ async def members_get_auto_join(
51
+ self,
52
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
53
+ _request_timeout: Union[
54
+ None,
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Tuple[
57
+ Annotated[StrictFloat, Field(gt=0)],
58
+ Annotated[StrictFloat, Field(gt=0)]
59
+ ]
60
+ ] = None,
61
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
62
+ _content_type: Optional[StrictStr] = None,
63
+ _headers: Optional[Dict[StrictStr, Any]] = None,
64
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
65
+ ) -> AutoJoinGetResponse:
66
+ """Get auto-join domains for the account
67
+
68
+
69
+ :param env_id: Environment ID (required)
70
+ :type env_id: str
71
+ :param _request_timeout: timeout setting for this request. If one
72
+ number provided, it will be total request
73
+ timeout. It can also be a pair (tuple) of
74
+ (connection, read) timeouts.
75
+ :type _request_timeout: int, tuple(int, int), optional
76
+ :param _request_auth: set to override the auth_settings for an a single
77
+ request; this effectively ignores the
78
+ authentication in the spec for a single request.
79
+ :type _request_auth: dict, optional
80
+ :param _content_type: force content-type for the request.
81
+ :type _content_type: str, Optional
82
+ :param _headers: set to override the headers for a single
83
+ request; this effectively ignores the headers
84
+ in the spec for a single request.
85
+ :type _headers: dict, optional
86
+ :param _host_index: set to override the host_index for a single
87
+ request; this effectively ignores the host_index
88
+ in the spec for a single request.
89
+ :type _host_index: int, optional
90
+ :return: Returns the result object.
91
+ """ # noqa: E501
92
+
93
+ _param = self._members_get_auto_join_serialize(
94
+ env_id=env_id,
95
+ _request_auth=_request_auth,
96
+ _content_type=_content_type,
97
+ _headers=_headers,
98
+ _host_index=_host_index
99
+ )
100
+
101
+ _response_types_map: Dict[str, Optional[str]] = {
102
+ '200': "AutoJoinGetResponse",
103
+ '400': None,
104
+ '401': None,
105
+ '500': None,
106
+ }
107
+ response_data = await self.api_client.call_api(
108
+ *_param,
109
+ _request_timeout=_request_timeout
110
+ )
111
+ await response_data.read()
112
+ return self.api_client.response_deserialize(
113
+ response_data=response_data,
114
+ response_types_map=_response_types_map,
115
+ ).data
116
+
117
+
118
+ @validate_call
119
+ async def members_get_auto_join_with_http_info(
120
+ self,
121
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
122
+ _request_timeout: Union[
123
+ None,
124
+ Annotated[StrictFloat, Field(gt=0)],
125
+ Tuple[
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Annotated[StrictFloat, Field(gt=0)]
128
+ ]
129
+ ] = None,
130
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
131
+ _content_type: Optional[StrictStr] = None,
132
+ _headers: Optional[Dict[StrictStr, Any]] = None,
133
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
134
+ ) -> ApiResponse[AutoJoinGetResponse]:
135
+ """Get auto-join domains for the account
136
+
137
+
138
+ :param env_id: Environment ID (required)
139
+ :type env_id: str
140
+ :param _request_timeout: timeout setting for this request. If one
141
+ number provided, it will be total request
142
+ timeout. It can also be a pair (tuple) of
143
+ (connection, read) timeouts.
144
+ :type _request_timeout: int, tuple(int, int), optional
145
+ :param _request_auth: set to override the auth_settings for an a single
146
+ request; this effectively ignores the
147
+ authentication in the spec for a single request.
148
+ :type _request_auth: dict, optional
149
+ :param _content_type: force content-type for the request.
150
+ :type _content_type: str, Optional
151
+ :param _headers: set to override the headers for a single
152
+ request; this effectively ignores the headers
153
+ in the spec for a single request.
154
+ :type _headers: dict, optional
155
+ :param _host_index: set to override the host_index for a single
156
+ request; this effectively ignores the host_index
157
+ in the spec for a single request.
158
+ :type _host_index: int, optional
159
+ :return: Returns the result object.
160
+ """ # noqa: E501
161
+
162
+ _param = self._members_get_auto_join_serialize(
163
+ env_id=env_id,
164
+ _request_auth=_request_auth,
165
+ _content_type=_content_type,
166
+ _headers=_headers,
167
+ _host_index=_host_index
168
+ )
169
+
170
+ _response_types_map: Dict[str, Optional[str]] = {
171
+ '200': "AutoJoinGetResponse",
172
+ '400': None,
173
+ '401': None,
174
+ '500': None,
175
+ }
176
+ response_data = await self.api_client.call_api(
177
+ *_param,
178
+ _request_timeout=_request_timeout
179
+ )
180
+ await response_data.read()
181
+ return self.api_client.response_deserialize(
182
+ response_data=response_data,
183
+ response_types_map=_response_types_map,
184
+ )
185
+
186
+
187
+ @validate_call
188
+ async def members_get_auto_join_without_preload_content(
189
+ self,
190
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
191
+ _request_timeout: Union[
192
+ None,
193
+ Annotated[StrictFloat, Field(gt=0)],
194
+ Tuple[
195
+ Annotated[StrictFloat, Field(gt=0)],
196
+ Annotated[StrictFloat, Field(gt=0)]
197
+ ]
198
+ ] = None,
199
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
200
+ _content_type: Optional[StrictStr] = None,
201
+ _headers: Optional[Dict[StrictStr, Any]] = None,
202
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
+ ) -> RESTResponseType:
204
+ """Get auto-join domains for the account
205
+
206
+
207
+ :param env_id: Environment ID (required)
208
+ :type env_id: str
209
+ :param _request_timeout: timeout setting for this request. If one
210
+ number provided, it will be total request
211
+ timeout. It can also be a pair (tuple) of
212
+ (connection, read) timeouts.
213
+ :type _request_timeout: int, tuple(int, int), optional
214
+ :param _request_auth: set to override the auth_settings for an a single
215
+ request; this effectively ignores the
216
+ authentication in the spec for a single request.
217
+ :type _request_auth: dict, optional
218
+ :param _content_type: force content-type for the request.
219
+ :type _content_type: str, Optional
220
+ :param _headers: set to override the headers for a single
221
+ request; this effectively ignores the headers
222
+ in the spec for a single request.
223
+ :type _headers: dict, optional
224
+ :param _host_index: set to override the host_index for a single
225
+ request; this effectively ignores the host_index
226
+ in the spec for a single request.
227
+ :type _host_index: int, optional
228
+ :return: Returns the result object.
229
+ """ # noqa: E501
230
+
231
+ _param = self._members_get_auto_join_serialize(
232
+ env_id=env_id,
233
+ _request_auth=_request_auth,
234
+ _content_type=_content_type,
235
+ _headers=_headers,
236
+ _host_index=_host_index
237
+ )
238
+
239
+ _response_types_map: Dict[str, Optional[str]] = {
240
+ '200': "AutoJoinGetResponse",
241
+ '400': None,
242
+ '401': None,
243
+ '500': None,
244
+ }
245
+ response_data = await self.api_client.call_api(
246
+ *_param,
247
+ _request_timeout=_request_timeout
248
+ )
249
+ return response_data.response
250
+
251
+
252
+ def _members_get_auto_join_serialize(
253
+ self,
254
+ env_id,
255
+ _request_auth,
256
+ _content_type,
257
+ _headers,
258
+ _host_index,
259
+ ) -> RequestSerialized:
260
+
261
+ _host = None
262
+
263
+ _collection_formats: Dict[str, str] = {
264
+ }
265
+
266
+ _path_params: Dict[str, str] = {}
267
+ _query_params: List[Tuple[str, str]] = []
268
+ _header_params: Dict[str, Optional[str]] = _headers or {}
269
+ _form_params: List[Tuple[str, str]] = []
270
+ _files: Dict[
271
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
272
+ ] = {}
273
+ _body_params: Optional[bytes] = None
274
+
275
+ # process the path parameters
276
+ if env_id is not None:
277
+ _path_params['envId'] = env_id
278
+ # process the query parameters
279
+ # process the header parameters
280
+ # process the form parameters
281
+ # process the body parameter
282
+
283
+
284
+ # set the HTTP header `Accept`
285
+ if 'Accept' not in _header_params:
286
+ _header_params['Accept'] = self.api_client.select_header_accept(
287
+ [
288
+ 'application/json'
289
+ ]
290
+ )
291
+
292
+
293
+ # authentication setting
294
+ _auth_settings: List[str] = [
295
+ 'endUserHashed',
296
+ 'endUser',
297
+ 'apiKey',
298
+ 'clientCredentials'
299
+ ]
300
+
301
+ return self.api_client.param_serialize(
302
+ method='GET',
303
+ resource_path='/members/autojoin',
304
+ path_params=_path_params,
305
+ query_params=_query_params,
306
+ header_params=_header_params,
307
+ body=_body_params,
308
+ post_params=_form_params,
309
+ files=_files,
310
+ auth_settings=_auth_settings,
311
+ collection_formats=_collection_formats,
312
+ _host=_host,
313
+ _request_auth=_request_auth
314
+ )
315
+
316
+
317
+
318
+
319
+ @validate_call
320
+ async def members_invite_member(
321
+ self,
322
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
323
+ member_invite_request: MemberInviteRequest,
324
+ _request_timeout: Union[
325
+ None,
326
+ Annotated[StrictFloat, Field(gt=0)],
327
+ Tuple[
328
+ Annotated[StrictFloat, Field(gt=0)],
329
+ Annotated[StrictFloat, Field(gt=0)]
330
+ ]
331
+ ] = None,
332
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
333
+ _content_type: Optional[StrictStr] = None,
334
+ _headers: Optional[Dict[StrictStr, Any]] = None,
335
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
336
+ ) -> InvitePostResponse:
337
+ """Invite a new member to the account
338
+
339
+
340
+ :param env_id: Environment ID (required)
341
+ :type env_id: str
342
+ :param member_invite_request: (required)
343
+ :type member_invite_request: MemberInviteRequest
344
+ :param _request_timeout: timeout setting for this request. If one
345
+ number provided, it will be total request
346
+ timeout. It can also be a pair (tuple) of
347
+ (connection, read) timeouts.
348
+ :type _request_timeout: int, tuple(int, int), optional
349
+ :param _request_auth: set to override the auth_settings for an a single
350
+ request; this effectively ignores the
351
+ authentication in the spec for a single request.
352
+ :type _request_auth: dict, optional
353
+ :param _content_type: force content-type for the request.
354
+ :type _content_type: str, Optional
355
+ :param _headers: set to override the headers for a single
356
+ request; this effectively ignores the headers
357
+ in the spec for a single request.
358
+ :type _headers: dict, optional
359
+ :param _host_index: set to override the host_index for a single
360
+ request; this effectively ignores the host_index
361
+ in the spec for a single request.
362
+ :type _host_index: int, optional
363
+ :return: Returns the result object.
364
+ """ # noqa: E501
365
+
366
+ _param = self._members_invite_member_serialize(
367
+ env_id=env_id,
368
+ member_invite_request=member_invite_request,
369
+ _request_auth=_request_auth,
370
+ _content_type=_content_type,
371
+ _headers=_headers,
372
+ _host_index=_host_index
373
+ )
374
+
375
+ _response_types_map: Dict[str, Optional[str]] = {
376
+ '200': "InvitePostResponse",
377
+ '400': None,
378
+ '401': None,
379
+ '500': None,
380
+ }
381
+ response_data = await self.api_client.call_api(
382
+ *_param,
383
+ _request_timeout=_request_timeout
384
+ )
385
+ await response_data.read()
386
+ return self.api_client.response_deserialize(
387
+ response_data=response_data,
388
+ response_types_map=_response_types_map,
389
+ ).data
390
+
391
+
392
+ @validate_call
393
+ async def members_invite_member_with_http_info(
394
+ self,
395
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
396
+ member_invite_request: MemberInviteRequest,
397
+ _request_timeout: Union[
398
+ None,
399
+ Annotated[StrictFloat, Field(gt=0)],
400
+ Tuple[
401
+ Annotated[StrictFloat, Field(gt=0)],
402
+ Annotated[StrictFloat, Field(gt=0)]
403
+ ]
404
+ ] = None,
405
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
406
+ _content_type: Optional[StrictStr] = None,
407
+ _headers: Optional[Dict[StrictStr, Any]] = None,
408
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
409
+ ) -> ApiResponse[InvitePostResponse]:
410
+ """Invite a new member to the account
411
+
412
+
413
+ :param env_id: Environment ID (required)
414
+ :type env_id: str
415
+ :param member_invite_request: (required)
416
+ :type member_invite_request: MemberInviteRequest
417
+ :param _request_timeout: timeout setting for this request. If one
418
+ number provided, it will be total request
419
+ timeout. It can also be a pair (tuple) of
420
+ (connection, read) timeouts.
421
+ :type _request_timeout: int, tuple(int, int), optional
422
+ :param _request_auth: set to override the auth_settings for an a single
423
+ request; this effectively ignores the
424
+ authentication in the spec for a single request.
425
+ :type _request_auth: dict, optional
426
+ :param _content_type: force content-type for the request.
427
+ :type _content_type: str, Optional
428
+ :param _headers: set to override the headers for a single
429
+ request; this effectively ignores the headers
430
+ in the spec for a single request.
431
+ :type _headers: dict, optional
432
+ :param _host_index: set to override the host_index for a single
433
+ request; this effectively ignores the host_index
434
+ in the spec for a single request.
435
+ :type _host_index: int, optional
436
+ :return: Returns the result object.
437
+ """ # noqa: E501
438
+
439
+ _param = self._members_invite_member_serialize(
440
+ env_id=env_id,
441
+ member_invite_request=member_invite_request,
442
+ _request_auth=_request_auth,
443
+ _content_type=_content_type,
444
+ _headers=_headers,
445
+ _host_index=_host_index
446
+ )
447
+
448
+ _response_types_map: Dict[str, Optional[str]] = {
449
+ '200': "InvitePostResponse",
450
+ '400': None,
451
+ '401': None,
452
+ '500': None,
453
+ }
454
+ response_data = await self.api_client.call_api(
455
+ *_param,
456
+ _request_timeout=_request_timeout
457
+ )
458
+ await response_data.read()
459
+ return self.api_client.response_deserialize(
460
+ response_data=response_data,
461
+ response_types_map=_response_types_map,
462
+ )
463
+
464
+
465
+ @validate_call
466
+ async def members_invite_member_without_preload_content(
467
+ self,
468
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
469
+ member_invite_request: MemberInviteRequest,
470
+ _request_timeout: Union[
471
+ None,
472
+ Annotated[StrictFloat, Field(gt=0)],
473
+ Tuple[
474
+ Annotated[StrictFloat, Field(gt=0)],
475
+ Annotated[StrictFloat, Field(gt=0)]
476
+ ]
477
+ ] = None,
478
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
479
+ _content_type: Optional[StrictStr] = None,
480
+ _headers: Optional[Dict[StrictStr, Any]] = None,
481
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
482
+ ) -> RESTResponseType:
483
+ """Invite a new member to the account
484
+
485
+
486
+ :param env_id: Environment ID (required)
487
+ :type env_id: str
488
+ :param member_invite_request: (required)
489
+ :type member_invite_request: MemberInviteRequest
490
+ :param _request_timeout: timeout setting for this request. If one
491
+ number provided, it will be total request
492
+ timeout. It can also be a pair (tuple) of
493
+ (connection, read) timeouts.
494
+ :type _request_timeout: int, tuple(int, int), optional
495
+ :param _request_auth: set to override the auth_settings for an a single
496
+ request; this effectively ignores the
497
+ authentication in the spec for a single request.
498
+ :type _request_auth: dict, optional
499
+ :param _content_type: force content-type for the request.
500
+ :type _content_type: str, Optional
501
+ :param _headers: set to override the headers for a single
502
+ request; this effectively ignores the headers
503
+ in the spec for a single request.
504
+ :type _headers: dict, optional
505
+ :param _host_index: set to override the host_index for a single
506
+ request; this effectively ignores the host_index
507
+ in the spec for a single request.
508
+ :type _host_index: int, optional
509
+ :return: Returns the result object.
510
+ """ # noqa: E501
511
+
512
+ _param = self._members_invite_member_serialize(
513
+ env_id=env_id,
514
+ member_invite_request=member_invite_request,
515
+ _request_auth=_request_auth,
516
+ _content_type=_content_type,
517
+ _headers=_headers,
518
+ _host_index=_host_index
519
+ )
520
+
521
+ _response_types_map: Dict[str, Optional[str]] = {
522
+ '200': "InvitePostResponse",
523
+ '400': None,
524
+ '401': None,
525
+ '500': None,
526
+ }
527
+ response_data = await self.api_client.call_api(
528
+ *_param,
529
+ _request_timeout=_request_timeout
530
+ )
531
+ return response_data.response
532
+
533
+
534
+ def _members_invite_member_serialize(
535
+ self,
536
+ env_id,
537
+ member_invite_request,
538
+ _request_auth,
539
+ _content_type,
540
+ _headers,
541
+ _host_index,
542
+ ) -> RequestSerialized:
543
+
544
+ _host = None
545
+
546
+ _collection_formats: Dict[str, str] = {
547
+ }
548
+
549
+ _path_params: Dict[str, str] = {}
550
+ _query_params: List[Tuple[str, str]] = []
551
+ _header_params: Dict[str, Optional[str]] = _headers or {}
552
+ _form_params: List[Tuple[str, str]] = []
553
+ _files: Dict[
554
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
555
+ ] = {}
556
+ _body_params: Optional[bytes] = None
557
+
558
+ # process the path parameters
559
+ if env_id is not None:
560
+ _path_params['envId'] = env_id
561
+ # process the query parameters
562
+ # process the header parameters
563
+ # process the form parameters
564
+ # process the body parameter
565
+ if member_invite_request is not None:
566
+ _body_params = member_invite_request
567
+
568
+
569
+ # set the HTTP header `Accept`
570
+ if 'Accept' not in _header_params:
571
+ _header_params['Accept'] = self.api_client.select_header_accept(
572
+ [
573
+ 'application/json'
574
+ ]
575
+ )
576
+
577
+ # set the HTTP header `Content-Type`
578
+ if _content_type:
579
+ _header_params['Content-Type'] = _content_type
580
+ else:
581
+ _default_content_type = (
582
+ self.api_client.select_header_content_type(
583
+ [
584
+ 'application/json'
585
+ ]
586
+ )
587
+ )
588
+ if _default_content_type is not None:
589
+ _header_params['Content-Type'] = _default_content_type
590
+
591
+ # authentication setting
592
+ _auth_settings: List[str] = [
593
+ 'endUserHashed',
594
+ 'endUser',
595
+ 'apiKey',
596
+ 'clientCredentials'
597
+ ]
598
+
599
+ return self.api_client.param_serialize(
600
+ method='POST',
601
+ resource_path='/members',
602
+ path_params=_path_params,
603
+ query_params=_query_params,
604
+ header_params=_header_params,
605
+ body=_body_params,
606
+ post_params=_form_params,
607
+ files=_files,
608
+ auth_settings=_auth_settings,
609
+ collection_formats=_collection_formats,
610
+ _host=_host,
611
+ _request_auth=_request_auth
612
+ )
613
+
614
+
615
+
616
+
617
+ @validate_call
618
+ async def members_list_members(
619
+ self,
620
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
621
+ _request_timeout: Union[
622
+ None,
623
+ Annotated[StrictFloat, Field(gt=0)],
624
+ Tuple[
625
+ Annotated[StrictFloat, Field(gt=0)],
626
+ Annotated[StrictFloat, Field(gt=0)]
627
+ ]
628
+ ] = None,
629
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
630
+ _content_type: Optional[StrictStr] = None,
631
+ _headers: Optional[Dict[StrictStr, Any]] = None,
632
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
633
+ ) -> List[GetMembersResponseInner]:
634
+ """Get a list of team members in the account
635
+
636
+
637
+ :param env_id: Environment ID (required)
638
+ :type env_id: str
639
+ :param _request_timeout: timeout setting for this request. If one
640
+ number provided, it will be total request
641
+ timeout. It can also be a pair (tuple) of
642
+ (connection, read) timeouts.
643
+ :type _request_timeout: int, tuple(int, int), optional
644
+ :param _request_auth: set to override the auth_settings for an a single
645
+ request; this effectively ignores the
646
+ authentication in the spec for a single request.
647
+ :type _request_auth: dict, optional
648
+ :param _content_type: force content-type for the request.
649
+ :type _content_type: str, Optional
650
+ :param _headers: set to override the headers for a single
651
+ request; this effectively ignores the headers
652
+ in the spec for a single request.
653
+ :type _headers: dict, optional
654
+ :param _host_index: set to override the host_index for a single
655
+ request; this effectively ignores the host_index
656
+ in the spec for a single request.
657
+ :type _host_index: int, optional
658
+ :return: Returns the result object.
659
+ """ # noqa: E501
660
+
661
+ _param = self._members_list_members_serialize(
662
+ env_id=env_id,
663
+ _request_auth=_request_auth,
664
+ _content_type=_content_type,
665
+ _headers=_headers,
666
+ _host_index=_host_index
667
+ )
668
+
669
+ _response_types_map: Dict[str, Optional[str]] = {
670
+ '200': "List[GetMembersResponseInner]",
671
+ '400': None,
672
+ '401': None,
673
+ '500': None,
674
+ }
675
+ response_data = await self.api_client.call_api(
676
+ *_param,
677
+ _request_timeout=_request_timeout
678
+ )
679
+ await response_data.read()
680
+ return self.api_client.response_deserialize(
681
+ response_data=response_data,
682
+ response_types_map=_response_types_map,
683
+ ).data
684
+
685
+
686
+ @validate_call
687
+ async def members_list_members_with_http_info(
688
+ self,
689
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
690
+ _request_timeout: Union[
691
+ None,
692
+ Annotated[StrictFloat, Field(gt=0)],
693
+ Tuple[
694
+ Annotated[StrictFloat, Field(gt=0)],
695
+ Annotated[StrictFloat, Field(gt=0)]
696
+ ]
697
+ ] = None,
698
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
699
+ _content_type: Optional[StrictStr] = None,
700
+ _headers: Optional[Dict[StrictStr, Any]] = None,
701
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
702
+ ) -> ApiResponse[List[GetMembersResponseInner]]:
703
+ """Get a list of team members in the account
704
+
705
+
706
+ :param env_id: Environment ID (required)
707
+ :type env_id: str
708
+ :param _request_timeout: timeout setting for this request. If one
709
+ number provided, it will be total request
710
+ timeout. It can also be a pair (tuple) of
711
+ (connection, read) timeouts.
712
+ :type _request_timeout: int, tuple(int, int), optional
713
+ :param _request_auth: set to override the auth_settings for an a single
714
+ request; this effectively ignores the
715
+ authentication in the spec for a single request.
716
+ :type _request_auth: dict, optional
717
+ :param _content_type: force content-type for the request.
718
+ :type _content_type: str, Optional
719
+ :param _headers: set to override the headers for a single
720
+ request; this effectively ignores the headers
721
+ in the spec for a single request.
722
+ :type _headers: dict, optional
723
+ :param _host_index: set to override the host_index for a single
724
+ request; this effectively ignores the host_index
725
+ in the spec for a single request.
726
+ :type _host_index: int, optional
727
+ :return: Returns the result object.
728
+ """ # noqa: E501
729
+
730
+ _param = self._members_list_members_serialize(
731
+ env_id=env_id,
732
+ _request_auth=_request_auth,
733
+ _content_type=_content_type,
734
+ _headers=_headers,
735
+ _host_index=_host_index
736
+ )
737
+
738
+ _response_types_map: Dict[str, Optional[str]] = {
739
+ '200': "List[GetMembersResponseInner]",
740
+ '400': None,
741
+ '401': None,
742
+ '500': None,
743
+ }
744
+ response_data = await self.api_client.call_api(
745
+ *_param,
746
+ _request_timeout=_request_timeout
747
+ )
748
+ await response_data.read()
749
+ return self.api_client.response_deserialize(
750
+ response_data=response_data,
751
+ response_types_map=_response_types_map,
752
+ )
753
+
754
+
755
+ @validate_call
756
+ async def members_list_members_without_preload_content(
757
+ self,
758
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
759
+ _request_timeout: Union[
760
+ None,
761
+ Annotated[StrictFloat, Field(gt=0)],
762
+ Tuple[
763
+ Annotated[StrictFloat, Field(gt=0)],
764
+ Annotated[StrictFloat, Field(gt=0)]
765
+ ]
766
+ ] = None,
767
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
768
+ _content_type: Optional[StrictStr] = None,
769
+ _headers: Optional[Dict[StrictStr, Any]] = None,
770
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
771
+ ) -> RESTResponseType:
772
+ """Get a list of team members in the account
773
+
774
+
775
+ :param env_id: Environment ID (required)
776
+ :type env_id: str
777
+ :param _request_timeout: timeout setting for this request. If one
778
+ number provided, it will be total request
779
+ timeout. It can also be a pair (tuple) of
780
+ (connection, read) timeouts.
781
+ :type _request_timeout: int, tuple(int, int), optional
782
+ :param _request_auth: set to override the auth_settings for an a single
783
+ request; this effectively ignores the
784
+ authentication in the spec for a single request.
785
+ :type _request_auth: dict, optional
786
+ :param _content_type: force content-type for the request.
787
+ :type _content_type: str, Optional
788
+ :param _headers: set to override the headers for a single
789
+ request; this effectively ignores the headers
790
+ in the spec for a single request.
791
+ :type _headers: dict, optional
792
+ :param _host_index: set to override the host_index for a single
793
+ request; this effectively ignores the host_index
794
+ in the spec for a single request.
795
+ :type _host_index: int, optional
796
+ :return: Returns the result object.
797
+ """ # noqa: E501
798
+
799
+ _param = self._members_list_members_serialize(
800
+ env_id=env_id,
801
+ _request_auth=_request_auth,
802
+ _content_type=_content_type,
803
+ _headers=_headers,
804
+ _host_index=_host_index
805
+ )
806
+
807
+ _response_types_map: Dict[str, Optional[str]] = {
808
+ '200': "List[GetMembersResponseInner]",
809
+ '400': None,
810
+ '401': None,
811
+ '500': None,
812
+ }
813
+ response_data = await self.api_client.call_api(
814
+ *_param,
815
+ _request_timeout=_request_timeout
816
+ )
817
+ return response_data.response
818
+
819
+
820
+ def _members_list_members_serialize(
821
+ self,
822
+ env_id,
823
+ _request_auth,
824
+ _content_type,
825
+ _headers,
826
+ _host_index,
827
+ ) -> RequestSerialized:
828
+
829
+ _host = None
830
+
831
+ _collection_formats: Dict[str, str] = {
832
+ }
833
+
834
+ _path_params: Dict[str, str] = {}
835
+ _query_params: List[Tuple[str, str]] = []
836
+ _header_params: Dict[str, Optional[str]] = _headers or {}
837
+ _form_params: List[Tuple[str, str]] = []
838
+ _files: Dict[
839
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
840
+ ] = {}
841
+ _body_params: Optional[bytes] = None
842
+
843
+ # process the path parameters
844
+ if env_id is not None:
845
+ _path_params['envId'] = env_id
846
+ # process the query parameters
847
+ # process the header parameters
848
+ # process the form parameters
849
+ # process the body parameter
850
+
851
+
852
+ # set the HTTP header `Accept`
853
+ if 'Accept' not in _header_params:
854
+ _header_params['Accept'] = self.api_client.select_header_accept(
855
+ [
856
+ 'application/json'
857
+ ]
858
+ )
859
+
860
+
861
+ # authentication setting
862
+ _auth_settings: List[str] = [
863
+ 'endUserHashed',
864
+ 'endUser',
865
+ 'apiKey',
866
+ 'clientCredentials'
867
+ ]
868
+
869
+ return self.api_client.param_serialize(
870
+ method='GET',
871
+ resource_path='/members',
872
+ path_params=_path_params,
873
+ query_params=_query_params,
874
+ header_params=_header_params,
875
+ body=_body_params,
876
+ post_params=_form_params,
877
+ files=_files,
878
+ auth_settings=_auth_settings,
879
+ collection_formats=_collection_formats,
880
+ _host=_host,
881
+ _request_auth=_request_auth
882
+ )
883
+
884
+
885
+
886
+
887
+ @validate_call
888
+ async def members_remove_member(
889
+ self,
890
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
891
+ user_id: Annotated[StrictStr, Field(description="User ID or email address (URL encoded)")],
892
+ _request_timeout: Union[
893
+ None,
894
+ Annotated[StrictFloat, Field(gt=0)],
895
+ Tuple[
896
+ Annotated[StrictFloat, Field(gt=0)],
897
+ Annotated[StrictFloat, Field(gt=0)]
898
+ ]
899
+ ] = None,
900
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
901
+ _content_type: Optional[StrictStr] = None,
902
+ _headers: Optional[Dict[StrictStr, Any]] = None,
903
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
904
+ ) -> SuccessResponse:
905
+ """Remove a member from the account
906
+
907
+
908
+ :param env_id: Environment ID (required)
909
+ :type env_id: str
910
+ :param user_id: User ID or email address (URL encoded) (required)
911
+ :type user_id: str
912
+ :param _request_timeout: timeout setting for this request. If one
913
+ number provided, it will be total request
914
+ timeout. It can also be a pair (tuple) of
915
+ (connection, read) timeouts.
916
+ :type _request_timeout: int, tuple(int, int), optional
917
+ :param _request_auth: set to override the auth_settings for an a single
918
+ request; this effectively ignores the
919
+ authentication in the spec for a single request.
920
+ :type _request_auth: dict, optional
921
+ :param _content_type: force content-type for the request.
922
+ :type _content_type: str, Optional
923
+ :param _headers: set to override the headers for a single
924
+ request; this effectively ignores the headers
925
+ in the spec for a single request.
926
+ :type _headers: dict, optional
927
+ :param _host_index: set to override the host_index for a single
928
+ request; this effectively ignores the host_index
929
+ in the spec for a single request.
930
+ :type _host_index: int, optional
931
+ :return: Returns the result object.
932
+ """ # noqa: E501
933
+
934
+ _param = self._members_remove_member_serialize(
935
+ env_id=env_id,
936
+ user_id=user_id,
937
+ _request_auth=_request_auth,
938
+ _content_type=_content_type,
939
+ _headers=_headers,
940
+ _host_index=_host_index
941
+ )
942
+
943
+ _response_types_map: Dict[str, Optional[str]] = {
944
+ '200': "SuccessResponse",
945
+ '400': None,
946
+ '401': None,
947
+ '500': None,
948
+ }
949
+ response_data = await self.api_client.call_api(
950
+ *_param,
951
+ _request_timeout=_request_timeout
952
+ )
953
+ await response_data.read()
954
+ return self.api_client.response_deserialize(
955
+ response_data=response_data,
956
+ response_types_map=_response_types_map,
957
+ ).data
958
+
959
+
960
+ @validate_call
961
+ async def members_remove_member_with_http_info(
962
+ self,
963
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
964
+ user_id: Annotated[StrictStr, Field(description="User ID or email address (URL encoded)")],
965
+ _request_timeout: Union[
966
+ None,
967
+ Annotated[StrictFloat, Field(gt=0)],
968
+ Tuple[
969
+ Annotated[StrictFloat, Field(gt=0)],
970
+ Annotated[StrictFloat, Field(gt=0)]
971
+ ]
972
+ ] = None,
973
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
974
+ _content_type: Optional[StrictStr] = None,
975
+ _headers: Optional[Dict[StrictStr, Any]] = None,
976
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
977
+ ) -> ApiResponse[SuccessResponse]:
978
+ """Remove a member from the account
979
+
980
+
981
+ :param env_id: Environment ID (required)
982
+ :type env_id: str
983
+ :param user_id: User ID or email address (URL encoded) (required)
984
+ :type user_id: str
985
+ :param _request_timeout: timeout setting for this request. If one
986
+ number provided, it will be total request
987
+ timeout. It can also be a pair (tuple) of
988
+ (connection, read) timeouts.
989
+ :type _request_timeout: int, tuple(int, int), optional
990
+ :param _request_auth: set to override the auth_settings for an a single
991
+ request; this effectively ignores the
992
+ authentication in the spec for a single request.
993
+ :type _request_auth: dict, optional
994
+ :param _content_type: force content-type for the request.
995
+ :type _content_type: str, Optional
996
+ :param _headers: set to override the headers for a single
997
+ request; this effectively ignores the headers
998
+ in the spec for a single request.
999
+ :type _headers: dict, optional
1000
+ :param _host_index: set to override the host_index for a single
1001
+ request; this effectively ignores the host_index
1002
+ in the spec for a single request.
1003
+ :type _host_index: int, optional
1004
+ :return: Returns the result object.
1005
+ """ # noqa: E501
1006
+
1007
+ _param = self._members_remove_member_serialize(
1008
+ env_id=env_id,
1009
+ user_id=user_id,
1010
+ _request_auth=_request_auth,
1011
+ _content_type=_content_type,
1012
+ _headers=_headers,
1013
+ _host_index=_host_index
1014
+ )
1015
+
1016
+ _response_types_map: Dict[str, Optional[str]] = {
1017
+ '200': "SuccessResponse",
1018
+ '400': None,
1019
+ '401': None,
1020
+ '500': None,
1021
+ }
1022
+ response_data = await self.api_client.call_api(
1023
+ *_param,
1024
+ _request_timeout=_request_timeout
1025
+ )
1026
+ await response_data.read()
1027
+ return self.api_client.response_deserialize(
1028
+ response_data=response_data,
1029
+ response_types_map=_response_types_map,
1030
+ )
1031
+
1032
+
1033
+ @validate_call
1034
+ async def members_remove_member_without_preload_content(
1035
+ self,
1036
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1037
+ user_id: Annotated[StrictStr, Field(description="User ID or email address (URL encoded)")],
1038
+ _request_timeout: Union[
1039
+ None,
1040
+ Annotated[StrictFloat, Field(gt=0)],
1041
+ Tuple[
1042
+ Annotated[StrictFloat, Field(gt=0)],
1043
+ Annotated[StrictFloat, Field(gt=0)]
1044
+ ]
1045
+ ] = None,
1046
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1047
+ _content_type: Optional[StrictStr] = None,
1048
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1049
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1050
+ ) -> RESTResponseType:
1051
+ """Remove a member from the account
1052
+
1053
+
1054
+ :param env_id: Environment ID (required)
1055
+ :type env_id: str
1056
+ :param user_id: User ID or email address (URL encoded) (required)
1057
+ :type user_id: str
1058
+ :param _request_timeout: timeout setting for this request. If one
1059
+ number provided, it will be total request
1060
+ timeout. It can also be a pair (tuple) of
1061
+ (connection, read) timeouts.
1062
+ :type _request_timeout: int, tuple(int, int), optional
1063
+ :param _request_auth: set to override the auth_settings for an a single
1064
+ request; this effectively ignores the
1065
+ authentication in the spec for a single request.
1066
+ :type _request_auth: dict, optional
1067
+ :param _content_type: force content-type for the request.
1068
+ :type _content_type: str, Optional
1069
+ :param _headers: set to override the headers for a single
1070
+ request; this effectively ignores the headers
1071
+ in the spec for a single request.
1072
+ :type _headers: dict, optional
1073
+ :param _host_index: set to override the host_index for a single
1074
+ request; this effectively ignores the host_index
1075
+ in the spec for a single request.
1076
+ :type _host_index: int, optional
1077
+ :return: Returns the result object.
1078
+ """ # noqa: E501
1079
+
1080
+ _param = self._members_remove_member_serialize(
1081
+ env_id=env_id,
1082
+ user_id=user_id,
1083
+ _request_auth=_request_auth,
1084
+ _content_type=_content_type,
1085
+ _headers=_headers,
1086
+ _host_index=_host_index
1087
+ )
1088
+
1089
+ _response_types_map: Dict[str, Optional[str]] = {
1090
+ '200': "SuccessResponse",
1091
+ '400': None,
1092
+ '401': None,
1093
+ '500': None,
1094
+ }
1095
+ response_data = await self.api_client.call_api(
1096
+ *_param,
1097
+ _request_timeout=_request_timeout
1098
+ )
1099
+ return response_data.response
1100
+
1101
+
1102
+ def _members_remove_member_serialize(
1103
+ self,
1104
+ env_id,
1105
+ user_id,
1106
+ _request_auth,
1107
+ _content_type,
1108
+ _headers,
1109
+ _host_index,
1110
+ ) -> RequestSerialized:
1111
+
1112
+ _host = None
1113
+
1114
+ _collection_formats: Dict[str, str] = {
1115
+ }
1116
+
1117
+ _path_params: Dict[str, str] = {}
1118
+ _query_params: List[Tuple[str, str]] = []
1119
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1120
+ _form_params: List[Tuple[str, str]] = []
1121
+ _files: Dict[
1122
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1123
+ ] = {}
1124
+ _body_params: Optional[bytes] = None
1125
+
1126
+ # process the path parameters
1127
+ if env_id is not None:
1128
+ _path_params['envId'] = env_id
1129
+ if user_id is not None:
1130
+ _path_params['userId'] = user_id
1131
+ # process the query parameters
1132
+ # process the header parameters
1133
+ # process the form parameters
1134
+ # process the body parameter
1135
+
1136
+
1137
+ # set the HTTP header `Accept`
1138
+ if 'Accept' not in _header_params:
1139
+ _header_params['Accept'] = self.api_client.select_header_accept(
1140
+ [
1141
+ 'application/json'
1142
+ ]
1143
+ )
1144
+
1145
+
1146
+ # authentication setting
1147
+ _auth_settings: List[str] = [
1148
+ 'endUserHashed',
1149
+ 'endUser',
1150
+ 'apiKey',
1151
+ 'clientCredentials'
1152
+ ]
1153
+
1154
+ return self.api_client.param_serialize(
1155
+ method='DELETE',
1156
+ resource_path='/members/{userId}',
1157
+ path_params=_path_params,
1158
+ query_params=_query_params,
1159
+ header_params=_header_params,
1160
+ body=_body_params,
1161
+ post_params=_form_params,
1162
+ files=_files,
1163
+ auth_settings=_auth_settings,
1164
+ collection_formats=_collection_formats,
1165
+ _host=_host,
1166
+ _request_auth=_request_auth
1167
+ )
1168
+
1169
+
1170
+
1171
+
1172
+ @validate_call
1173
+ async def members_set_auto_join(
1174
+ self,
1175
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1176
+ auto_join_request_body: AutoJoinRequestBody,
1177
+ _request_timeout: Union[
1178
+ None,
1179
+ Annotated[StrictFloat, Field(gt=0)],
1180
+ Tuple[
1181
+ Annotated[StrictFloat, Field(gt=0)],
1182
+ Annotated[StrictFloat, Field(gt=0)]
1183
+ ]
1184
+ ] = None,
1185
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1186
+ _content_type: Optional[StrictStr] = None,
1187
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1188
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1189
+ ) -> AutoJoinPostResponse:
1190
+ """Set auto-join domains for the account
1191
+
1192
+
1193
+ :param env_id: Environment ID (required)
1194
+ :type env_id: str
1195
+ :param auto_join_request_body: (required)
1196
+ :type auto_join_request_body: AutoJoinRequestBody
1197
+ :param _request_timeout: timeout setting for this request. If one
1198
+ number provided, it will be total request
1199
+ timeout. It can also be a pair (tuple) of
1200
+ (connection, read) timeouts.
1201
+ :type _request_timeout: int, tuple(int, int), optional
1202
+ :param _request_auth: set to override the auth_settings for an a single
1203
+ request; this effectively ignores the
1204
+ authentication in the spec for a single request.
1205
+ :type _request_auth: dict, optional
1206
+ :param _content_type: force content-type for the request.
1207
+ :type _content_type: str, Optional
1208
+ :param _headers: set to override the headers for a single
1209
+ request; this effectively ignores the headers
1210
+ in the spec for a single request.
1211
+ :type _headers: dict, optional
1212
+ :param _host_index: set to override the host_index for a single
1213
+ request; this effectively ignores the host_index
1214
+ in the spec for a single request.
1215
+ :type _host_index: int, optional
1216
+ :return: Returns the result object.
1217
+ """ # noqa: E501
1218
+
1219
+ _param = self._members_set_auto_join_serialize(
1220
+ env_id=env_id,
1221
+ auto_join_request_body=auto_join_request_body,
1222
+ _request_auth=_request_auth,
1223
+ _content_type=_content_type,
1224
+ _headers=_headers,
1225
+ _host_index=_host_index
1226
+ )
1227
+
1228
+ _response_types_map: Dict[str, Optional[str]] = {
1229
+ '200': "AutoJoinPostResponse",
1230
+ '400': None,
1231
+ '401': None,
1232
+ '500': None,
1233
+ }
1234
+ response_data = await self.api_client.call_api(
1235
+ *_param,
1236
+ _request_timeout=_request_timeout
1237
+ )
1238
+ await response_data.read()
1239
+ return self.api_client.response_deserialize(
1240
+ response_data=response_data,
1241
+ response_types_map=_response_types_map,
1242
+ ).data
1243
+
1244
+
1245
+ @validate_call
1246
+ async def members_set_auto_join_with_http_info(
1247
+ self,
1248
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1249
+ auto_join_request_body: AutoJoinRequestBody,
1250
+ _request_timeout: Union[
1251
+ None,
1252
+ Annotated[StrictFloat, Field(gt=0)],
1253
+ Tuple[
1254
+ Annotated[StrictFloat, Field(gt=0)],
1255
+ Annotated[StrictFloat, Field(gt=0)]
1256
+ ]
1257
+ ] = None,
1258
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1259
+ _content_type: Optional[StrictStr] = None,
1260
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1261
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1262
+ ) -> ApiResponse[AutoJoinPostResponse]:
1263
+ """Set auto-join domains for the account
1264
+
1265
+
1266
+ :param env_id: Environment ID (required)
1267
+ :type env_id: str
1268
+ :param auto_join_request_body: (required)
1269
+ :type auto_join_request_body: AutoJoinRequestBody
1270
+ :param _request_timeout: timeout setting for this request. If one
1271
+ number provided, it will be total request
1272
+ timeout. It can also be a pair (tuple) of
1273
+ (connection, read) timeouts.
1274
+ :type _request_timeout: int, tuple(int, int), optional
1275
+ :param _request_auth: set to override the auth_settings for an a single
1276
+ request; this effectively ignores the
1277
+ authentication in the spec for a single request.
1278
+ :type _request_auth: dict, optional
1279
+ :param _content_type: force content-type for the request.
1280
+ :type _content_type: str, Optional
1281
+ :param _headers: set to override the headers for a single
1282
+ request; this effectively ignores the headers
1283
+ in the spec for a single request.
1284
+ :type _headers: dict, optional
1285
+ :param _host_index: set to override the host_index for a single
1286
+ request; this effectively ignores the host_index
1287
+ in the spec for a single request.
1288
+ :type _host_index: int, optional
1289
+ :return: Returns the result object.
1290
+ """ # noqa: E501
1291
+
1292
+ _param = self._members_set_auto_join_serialize(
1293
+ env_id=env_id,
1294
+ auto_join_request_body=auto_join_request_body,
1295
+ _request_auth=_request_auth,
1296
+ _content_type=_content_type,
1297
+ _headers=_headers,
1298
+ _host_index=_host_index
1299
+ )
1300
+
1301
+ _response_types_map: Dict[str, Optional[str]] = {
1302
+ '200': "AutoJoinPostResponse",
1303
+ '400': None,
1304
+ '401': None,
1305
+ '500': None,
1306
+ }
1307
+ response_data = await self.api_client.call_api(
1308
+ *_param,
1309
+ _request_timeout=_request_timeout
1310
+ )
1311
+ await response_data.read()
1312
+ return self.api_client.response_deserialize(
1313
+ response_data=response_data,
1314
+ response_types_map=_response_types_map,
1315
+ )
1316
+
1317
+
1318
+ @validate_call
1319
+ async def members_set_auto_join_without_preload_content(
1320
+ self,
1321
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1322
+ auto_join_request_body: AutoJoinRequestBody,
1323
+ _request_timeout: Union[
1324
+ None,
1325
+ Annotated[StrictFloat, Field(gt=0)],
1326
+ Tuple[
1327
+ Annotated[StrictFloat, Field(gt=0)],
1328
+ Annotated[StrictFloat, Field(gt=0)]
1329
+ ]
1330
+ ] = None,
1331
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1332
+ _content_type: Optional[StrictStr] = None,
1333
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1334
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1335
+ ) -> RESTResponseType:
1336
+ """Set auto-join domains for the account
1337
+
1338
+
1339
+ :param env_id: Environment ID (required)
1340
+ :type env_id: str
1341
+ :param auto_join_request_body: (required)
1342
+ :type auto_join_request_body: AutoJoinRequestBody
1343
+ :param _request_timeout: timeout setting for this request. If one
1344
+ number provided, it will be total request
1345
+ timeout. It can also be a pair (tuple) of
1346
+ (connection, read) timeouts.
1347
+ :type _request_timeout: int, tuple(int, int), optional
1348
+ :param _request_auth: set to override the auth_settings for an a single
1349
+ request; this effectively ignores the
1350
+ authentication in the spec for a single request.
1351
+ :type _request_auth: dict, optional
1352
+ :param _content_type: force content-type for the request.
1353
+ :type _content_type: str, Optional
1354
+ :param _headers: set to override the headers for a single
1355
+ request; this effectively ignores the headers
1356
+ in the spec for a single request.
1357
+ :type _headers: dict, optional
1358
+ :param _host_index: set to override the host_index for a single
1359
+ request; this effectively ignores the host_index
1360
+ in the spec for a single request.
1361
+ :type _host_index: int, optional
1362
+ :return: Returns the result object.
1363
+ """ # noqa: E501
1364
+
1365
+ _param = self._members_set_auto_join_serialize(
1366
+ env_id=env_id,
1367
+ auto_join_request_body=auto_join_request_body,
1368
+ _request_auth=_request_auth,
1369
+ _content_type=_content_type,
1370
+ _headers=_headers,
1371
+ _host_index=_host_index
1372
+ )
1373
+
1374
+ _response_types_map: Dict[str, Optional[str]] = {
1375
+ '200': "AutoJoinPostResponse",
1376
+ '400': None,
1377
+ '401': None,
1378
+ '500': None,
1379
+ }
1380
+ response_data = await self.api_client.call_api(
1381
+ *_param,
1382
+ _request_timeout=_request_timeout
1383
+ )
1384
+ return response_data.response
1385
+
1386
+
1387
+ def _members_set_auto_join_serialize(
1388
+ self,
1389
+ env_id,
1390
+ auto_join_request_body,
1391
+ _request_auth,
1392
+ _content_type,
1393
+ _headers,
1394
+ _host_index,
1395
+ ) -> RequestSerialized:
1396
+
1397
+ _host = None
1398
+
1399
+ _collection_formats: Dict[str, str] = {
1400
+ }
1401
+
1402
+ _path_params: Dict[str, str] = {}
1403
+ _query_params: List[Tuple[str, str]] = []
1404
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1405
+ _form_params: List[Tuple[str, str]] = []
1406
+ _files: Dict[
1407
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1408
+ ] = {}
1409
+ _body_params: Optional[bytes] = None
1410
+
1411
+ # process the path parameters
1412
+ if env_id is not None:
1413
+ _path_params['envId'] = env_id
1414
+ # process the query parameters
1415
+ # process the header parameters
1416
+ # process the form parameters
1417
+ # process the body parameter
1418
+ if auto_join_request_body is not None:
1419
+ _body_params = auto_join_request_body
1420
+
1421
+
1422
+ # set the HTTP header `Accept`
1423
+ if 'Accept' not in _header_params:
1424
+ _header_params['Accept'] = self.api_client.select_header_accept(
1425
+ [
1426
+ 'application/json'
1427
+ ]
1428
+ )
1429
+
1430
+ # set the HTTP header `Content-Type`
1431
+ if _content_type:
1432
+ _header_params['Content-Type'] = _content_type
1433
+ else:
1434
+ _default_content_type = (
1435
+ self.api_client.select_header_content_type(
1436
+ [
1437
+ 'application/json'
1438
+ ]
1439
+ )
1440
+ )
1441
+ if _default_content_type is not None:
1442
+ _header_params['Content-Type'] = _default_content_type
1443
+
1444
+ # authentication setting
1445
+ _auth_settings: List[str] = [
1446
+ 'endUserHashed',
1447
+ 'endUser',
1448
+ 'apiKey',
1449
+ 'clientCredentials'
1450
+ ]
1451
+
1452
+ return self.api_client.param_serialize(
1453
+ method='POST',
1454
+ resource_path='/members/autojoin',
1455
+ path_params=_path_params,
1456
+ query_params=_query_params,
1457
+ header_params=_header_params,
1458
+ body=_body_params,
1459
+ post_params=_form_params,
1460
+ files=_files,
1461
+ auth_settings=_auth_settings,
1462
+ collection_formats=_collection_formats,
1463
+ _host=_host,
1464
+ _request_auth=_request_auth
1465
+ )
1466
+
1467
+
1468
+
1469
+
1470
+ @validate_call
1471
+ async def members_update(
1472
+ self,
1473
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1474
+ user_id: Annotated[StrictStr, Field(description="User ID to update")],
1475
+ member_update_request: MemberUpdateRequest,
1476
+ _request_timeout: Union[
1477
+ None,
1478
+ Annotated[StrictFloat, Field(gt=0)],
1479
+ Tuple[
1480
+ Annotated[StrictFloat, Field(gt=0)],
1481
+ Annotated[StrictFloat, Field(gt=0)]
1482
+ ]
1483
+ ] = None,
1484
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1485
+ _content_type: Optional[StrictStr] = None,
1486
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1487
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1488
+ ) -> SuccessResponse:
1489
+ """Updates a specified member. The role update operation is restricted to administrators only.
1490
+
1491
+
1492
+ :param env_id: Environment ID (required)
1493
+ :type env_id: str
1494
+ :param user_id: User ID to update (required)
1495
+ :type user_id: str
1496
+ :param member_update_request: (required)
1497
+ :type member_update_request: MemberUpdateRequest
1498
+ :param _request_timeout: timeout setting for this request. If one
1499
+ number provided, it will be total request
1500
+ timeout. It can also be a pair (tuple) of
1501
+ (connection, read) timeouts.
1502
+ :type _request_timeout: int, tuple(int, int), optional
1503
+ :param _request_auth: set to override the auth_settings for an a single
1504
+ request; this effectively ignores the
1505
+ authentication in the spec for a single request.
1506
+ :type _request_auth: dict, optional
1507
+ :param _content_type: force content-type for the request.
1508
+ :type _content_type: str, Optional
1509
+ :param _headers: set to override the headers for a single
1510
+ request; this effectively ignores the headers
1511
+ in the spec for a single request.
1512
+ :type _headers: dict, optional
1513
+ :param _host_index: set to override the host_index for a single
1514
+ request; this effectively ignores the host_index
1515
+ in the spec for a single request.
1516
+ :type _host_index: int, optional
1517
+ :return: Returns the result object.
1518
+ """ # noqa: E501
1519
+
1520
+ _param = self._members_update_serialize(
1521
+ env_id=env_id,
1522
+ user_id=user_id,
1523
+ member_update_request=member_update_request,
1524
+ _request_auth=_request_auth,
1525
+ _content_type=_content_type,
1526
+ _headers=_headers,
1527
+ _host_index=_host_index
1528
+ )
1529
+
1530
+ _response_types_map: Dict[str, Optional[str]] = {
1531
+ '200': "SuccessResponse",
1532
+ '400': None,
1533
+ '401': None,
1534
+ '500': None,
1535
+ }
1536
+ response_data = await self.api_client.call_api(
1537
+ *_param,
1538
+ _request_timeout=_request_timeout
1539
+ )
1540
+ await response_data.read()
1541
+ return self.api_client.response_deserialize(
1542
+ response_data=response_data,
1543
+ response_types_map=_response_types_map,
1544
+ ).data
1545
+
1546
+
1547
+ @validate_call
1548
+ async def members_update_with_http_info(
1549
+ self,
1550
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1551
+ user_id: Annotated[StrictStr, Field(description="User ID to update")],
1552
+ member_update_request: MemberUpdateRequest,
1553
+ _request_timeout: Union[
1554
+ None,
1555
+ Annotated[StrictFloat, Field(gt=0)],
1556
+ Tuple[
1557
+ Annotated[StrictFloat, Field(gt=0)],
1558
+ Annotated[StrictFloat, Field(gt=0)]
1559
+ ]
1560
+ ] = None,
1561
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1562
+ _content_type: Optional[StrictStr] = None,
1563
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1564
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1565
+ ) -> ApiResponse[SuccessResponse]:
1566
+ """Updates a specified member. The role update operation is restricted to administrators only.
1567
+
1568
+
1569
+ :param env_id: Environment ID (required)
1570
+ :type env_id: str
1571
+ :param user_id: User ID to update (required)
1572
+ :type user_id: str
1573
+ :param member_update_request: (required)
1574
+ :type member_update_request: MemberUpdateRequest
1575
+ :param _request_timeout: timeout setting for this request. If one
1576
+ number provided, it will be total request
1577
+ timeout. It can also be a pair (tuple) of
1578
+ (connection, read) timeouts.
1579
+ :type _request_timeout: int, tuple(int, int), optional
1580
+ :param _request_auth: set to override the auth_settings for an a single
1581
+ request; this effectively ignores the
1582
+ authentication in the spec for a single request.
1583
+ :type _request_auth: dict, optional
1584
+ :param _content_type: force content-type for the request.
1585
+ :type _content_type: str, Optional
1586
+ :param _headers: set to override the headers for a single
1587
+ request; this effectively ignores the headers
1588
+ in the spec for a single request.
1589
+ :type _headers: dict, optional
1590
+ :param _host_index: set to override the host_index for a single
1591
+ request; this effectively ignores the host_index
1592
+ in the spec for a single request.
1593
+ :type _host_index: int, optional
1594
+ :return: Returns the result object.
1595
+ """ # noqa: E501
1596
+
1597
+ _param = self._members_update_serialize(
1598
+ env_id=env_id,
1599
+ user_id=user_id,
1600
+ member_update_request=member_update_request,
1601
+ _request_auth=_request_auth,
1602
+ _content_type=_content_type,
1603
+ _headers=_headers,
1604
+ _host_index=_host_index
1605
+ )
1606
+
1607
+ _response_types_map: Dict[str, Optional[str]] = {
1608
+ '200': "SuccessResponse",
1609
+ '400': None,
1610
+ '401': None,
1611
+ '500': None,
1612
+ }
1613
+ response_data = await self.api_client.call_api(
1614
+ *_param,
1615
+ _request_timeout=_request_timeout
1616
+ )
1617
+ await response_data.read()
1618
+ return self.api_client.response_deserialize(
1619
+ response_data=response_data,
1620
+ response_types_map=_response_types_map,
1621
+ )
1622
+
1623
+
1624
+ @validate_call
1625
+ async def members_update_without_preload_content(
1626
+ self,
1627
+ env_id: Annotated[StrictStr, Field(description="Environment ID")],
1628
+ user_id: Annotated[StrictStr, Field(description="User ID to update")],
1629
+ member_update_request: MemberUpdateRequest,
1630
+ _request_timeout: Union[
1631
+ None,
1632
+ Annotated[StrictFloat, Field(gt=0)],
1633
+ Tuple[
1634
+ Annotated[StrictFloat, Field(gt=0)],
1635
+ Annotated[StrictFloat, Field(gt=0)]
1636
+ ]
1637
+ ] = None,
1638
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1639
+ _content_type: Optional[StrictStr] = None,
1640
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1641
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1642
+ ) -> RESTResponseType:
1643
+ """Updates a specified member. The role update operation is restricted to administrators only.
1644
+
1645
+
1646
+ :param env_id: Environment ID (required)
1647
+ :type env_id: str
1648
+ :param user_id: User ID to update (required)
1649
+ :type user_id: str
1650
+ :param member_update_request: (required)
1651
+ :type member_update_request: MemberUpdateRequest
1652
+ :param _request_timeout: timeout setting for this request. If one
1653
+ number provided, it will be total request
1654
+ timeout. It can also be a pair (tuple) of
1655
+ (connection, read) timeouts.
1656
+ :type _request_timeout: int, tuple(int, int), optional
1657
+ :param _request_auth: set to override the auth_settings for an a single
1658
+ request; this effectively ignores the
1659
+ authentication in the spec for a single request.
1660
+ :type _request_auth: dict, optional
1661
+ :param _content_type: force content-type for the request.
1662
+ :type _content_type: str, Optional
1663
+ :param _headers: set to override the headers for a single
1664
+ request; this effectively ignores the headers
1665
+ in the spec for a single request.
1666
+ :type _headers: dict, optional
1667
+ :param _host_index: set to override the host_index for a single
1668
+ request; this effectively ignores the host_index
1669
+ in the spec for a single request.
1670
+ :type _host_index: int, optional
1671
+ :return: Returns the result object.
1672
+ """ # noqa: E501
1673
+
1674
+ _param = self._members_update_serialize(
1675
+ env_id=env_id,
1676
+ user_id=user_id,
1677
+ member_update_request=member_update_request,
1678
+ _request_auth=_request_auth,
1679
+ _content_type=_content_type,
1680
+ _headers=_headers,
1681
+ _host_index=_host_index
1682
+ )
1683
+
1684
+ _response_types_map: Dict[str, Optional[str]] = {
1685
+ '200': "SuccessResponse",
1686
+ '400': None,
1687
+ '401': None,
1688
+ '500': None,
1689
+ }
1690
+ response_data = await self.api_client.call_api(
1691
+ *_param,
1692
+ _request_timeout=_request_timeout
1693
+ )
1694
+ return response_data.response
1695
+
1696
+
1697
+ def _members_update_serialize(
1698
+ self,
1699
+ env_id,
1700
+ user_id,
1701
+ member_update_request,
1702
+ _request_auth,
1703
+ _content_type,
1704
+ _headers,
1705
+ _host_index,
1706
+ ) -> RequestSerialized:
1707
+
1708
+ _host = None
1709
+
1710
+ _collection_formats: Dict[str, str] = {
1711
+ }
1712
+
1713
+ _path_params: Dict[str, str] = {}
1714
+ _query_params: List[Tuple[str, str]] = []
1715
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1716
+ _form_params: List[Tuple[str, str]] = []
1717
+ _files: Dict[
1718
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1719
+ ] = {}
1720
+ _body_params: Optional[bytes] = None
1721
+
1722
+ # process the path parameters
1723
+ if env_id is not None:
1724
+ _path_params['envId'] = env_id
1725
+ if user_id is not None:
1726
+ _path_params['userId'] = user_id
1727
+ # process the query parameters
1728
+ # process the header parameters
1729
+ # process the form parameters
1730
+ # process the body parameter
1731
+ if member_update_request is not None:
1732
+ _body_params = member_update_request
1733
+
1734
+
1735
+ # set the HTTP header `Accept`
1736
+ if 'Accept' not in _header_params:
1737
+ _header_params['Accept'] = self.api_client.select_header_accept(
1738
+ [
1739
+ 'application/json'
1740
+ ]
1741
+ )
1742
+
1743
+ # set the HTTP header `Content-Type`
1744
+ if _content_type:
1745
+ _header_params['Content-Type'] = _content_type
1746
+ else:
1747
+ _default_content_type = (
1748
+ self.api_client.select_header_content_type(
1749
+ [
1750
+ 'application/json'
1751
+ ]
1752
+ )
1753
+ )
1754
+ if _default_content_type is not None:
1755
+ _header_params['Content-Type'] = _default_content_type
1756
+
1757
+ # authentication setting
1758
+ _auth_settings: List[str] = [
1759
+ 'endUserHashed',
1760
+ 'endUser',
1761
+ 'apiKey',
1762
+ 'clientCredentials'
1763
+ ]
1764
+
1765
+ return self.api_client.param_serialize(
1766
+ method='PATCH',
1767
+ resource_path='/members/{userId}',
1768
+ path_params=_path_params,
1769
+ query_params=_query_params,
1770
+ header_params=_header_params,
1771
+ body=_body_params,
1772
+ post_params=_form_params,
1773
+ files=_files,
1774
+ auth_settings=_auth_settings,
1775
+ collection_formats=_collection_formats,
1776
+ _host=_host,
1777
+ _request_auth=_request_auth
1778
+ )
1779
+
1780
+