mollie-api-py 1.0.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 (337) hide show
  1. mollie/__init__.py +18 -0
  2. mollie/_hooks/__init__.py +5 -0
  3. mollie/_hooks/mollie_hooks.py +165 -0
  4. mollie/_hooks/registration.py +18 -0
  5. mollie/_hooks/sdkhooks.py +76 -0
  6. mollie/_hooks/types.py +113 -0
  7. mollie/_version.py +15 -0
  8. mollie/balance_transfers.py +651 -0
  9. mollie/balances.py +1105 -0
  10. mollie/basesdk.py +360 -0
  11. mollie/capabilities.py +209 -0
  12. mollie/captures.py +677 -0
  13. mollie/chargebacks_sdk.py +675 -0
  14. mollie/client_links.py +325 -0
  15. mollie/clients.py +409 -0
  16. mollie/customers.py +1563 -0
  17. mollie/delayed_routing.py +421 -0
  18. mollie/httpclient.py +125 -0
  19. mollie/invoices.py +429 -0
  20. mollie/mandates.py +895 -0
  21. mollie/methods.py +789 -0
  22. mollie/models/__init__.py +4002 -0
  23. mollie/models/address.py +29 -0
  24. mollie/models/amount.py +25 -0
  25. mollie/models/amount_nullable.py +24 -0
  26. mollie/models/apierror.py +40 -0
  27. mollie/models/balance_card_audience.py +10 -0
  28. mollie/models/balance_card_issuer.py +12 -0
  29. mollie/models/balance_card_region.py +12 -0
  30. mollie/models/balance_fee_type.py +43 -0
  31. mollie/models/balance_prepayment_part_type.py +13 -0
  32. mollie/models/balance_report_grouping.py +10 -0
  33. mollie/models/balance_transaction_type.py +47 -0
  34. mollie/models/balance_transfer_category.py +17 -0
  35. mollie/models/balance_transfer_category_response.py +18 -0
  36. mollie/models/balance_transfer_destination_type.py +14 -0
  37. mollie/models/balance_transfer_party_type.py +10 -0
  38. mollie/models/balance_transfer_party_type_response.py +11 -0
  39. mollie/models/balance_transfer_status.py +13 -0
  40. mollie/models/balance_transfer_status_reason_response.py +19 -0
  41. mollie/models/billingaddress.py +154 -0
  42. mollie/models/cancel_paymentop.py +93 -0
  43. mollie/models/cancel_refundop.py +86 -0
  44. mollie/models/cancel_subscriptionop.py +100 -0
  45. mollie/models/capability_requirement_status.py +15 -0
  46. mollie/models/capability_status.py +12 -0
  47. mollie/models/capability_status_reason.py +10 -0
  48. mollie/models/capture_mode.py +15 -0
  49. mollie/models/capture_mode_response.py +16 -0
  50. mollie/models/capture_response.py +265 -0
  51. mollie/models/client_link_request.py +210 -0
  52. mollie/models/client_link_response.py +56 -0
  53. mollie/models/clienterror.py +30 -0
  54. mollie/models/components_sub_totals.py +127 -0
  55. mollie/models/create_captureop.py +43 -0
  56. mollie/models/create_client_linkop.py +29 -0
  57. mollie/models/create_connect_balance_transferop.py +32 -0
  58. mollie/models/create_customer_paymentop.py +43 -0
  59. mollie/models/create_customerop.py +29 -0
  60. mollie/models/create_mandateop.py +43 -0
  61. mollie/models/create_payment_linkop.py +325 -0
  62. mollie/models/create_paymentop.py +73 -0
  63. mollie/models/create_profileop.py +29 -0
  64. mollie/models/create_refundop.py +43 -0
  65. mollie/models/create_sales_invoiceop.py +29 -0
  66. mollie/models/create_subscriptionop.py +43 -0
  67. mollie/models/create_webhook.py +123 -0
  68. mollie/models/create_webhookop.py +69 -0
  69. mollie/models/currencies.py +20 -0
  70. mollie/models/customer_response.py +169 -0
  71. mollie/models/delete_customerop.py +91 -0
  72. mollie/models/delete_payment_linkop.py +91 -0
  73. mollie/models/delete_profileop.py +29 -0
  74. mollie/models/delete_sales_invoiceop.py +44 -0
  75. mollie/models/delete_values_sales_invoice.py +54 -0
  76. mollie/models/delete_webhookop.py +56 -0
  77. mollie/models/entity_balance.py +325 -0
  78. mollie/models/entity_balance_report.py +541 -0
  79. mollie/models/entity_balance_transaction.py +1068 -0
  80. mollie/models/entity_balance_transfer.py +62 -0
  81. mollie/models/entity_balance_transfer_party.py +28 -0
  82. mollie/models/entity_balance_transfer_party_response.py +32 -0
  83. mollie/models/entity_balance_transfer_response.py +159 -0
  84. mollie/models/entity_capability.py +75 -0
  85. mollie/models/entity_capability_requirement.py +87 -0
  86. mollie/models/entity_capture.py +63 -0
  87. mollie/models/entity_chargeback.py +247 -0
  88. mollie/models/entity_customer.py +86 -0
  89. mollie/models/entity_event.py +46 -0
  90. mollie/models/entity_invoice.py +247 -0
  91. mollie/models/entity_method_get.py +329 -0
  92. mollie/models/entity_onboarding_status.py +95 -0
  93. mollie/models/entity_organization.py +178 -0
  94. mollie/models/entity_payment_route.py +111 -0
  95. mollie/models/entity_payment_route_response.py +140 -0
  96. mollie/models/entity_permission.py +61 -0
  97. mollie/models/entity_refund_response.py +361 -0
  98. mollie/models/entity_route.py +96 -0
  99. mollie/models/entity_settlement.py +467 -0
  100. mollie/models/entity_terminal.py +160 -0
  101. mollie/models/entity_webhook.py +122 -0
  102. mollie/models/entity_webhook_event.py +149 -0
  103. mollie/models/error_response.py +70 -0
  104. mollie/models/get_balance_reportop.py +126 -0
  105. mollie/models/get_balanceop.py +71 -0
  106. mollie/models/get_captureop.py +129 -0
  107. mollie/models/get_chargebackop.py +129 -0
  108. mollie/models/get_clientop.py +216 -0
  109. mollie/models/get_connect_balance_transferop.py +71 -0
  110. mollie/models/get_current_organizationop.py +22 -0
  111. mollie/models/get_current_profileop.py +22 -0
  112. mollie/models/get_customerop.py +286 -0
  113. mollie/models/get_invoiceop.py +29 -0
  114. mollie/models/get_mandateop.py +86 -0
  115. mollie/models/get_methodop.py +199 -0
  116. mollie/models/get_next_settlementop.py +22 -0
  117. mollie/models/get_onboarding_statusop.py +22 -0
  118. mollie/models/get_open_settlementop.py +22 -0
  119. mollie/models/get_organizationop.py +71 -0
  120. mollie/models/get_partner_statusop.py +231 -0
  121. mollie/models/get_payment_link_paymentsop.py +188 -0
  122. mollie/models/get_payment_linkop.py +77 -0
  123. mollie/models/get_paymentop.py +128 -0
  124. mollie/models/get_permissionop.py +73 -0
  125. mollie/models/get_primary_balanceop.py +22 -0
  126. mollie/models/get_profileop.py +71 -0
  127. mollie/models/get_refundop.py +129 -0
  128. mollie/models/get_sales_invoiceop.py +75 -0
  129. mollie/models/get_settlementop.py +29 -0
  130. mollie/models/get_subscriptionop.py +86 -0
  131. mollie/models/get_terminalop.py +77 -0
  132. mollie/models/get_webhook_eventop.py +71 -0
  133. mollie/models/get_webhookop.py +71 -0
  134. mollie/models/internal/__init__.py +54 -0
  135. mollie/models/internal/globals.py +59 -0
  136. mollie/models/line_categories.py +13 -0
  137. mollie/models/line_categories_response.py +14 -0
  138. mollie/models/list_all_chargebacksop.py +236 -0
  139. mollie/models/list_all_methodsop.py +249 -0
  140. mollie/models/list_all_refundsop.py +230 -0
  141. mollie/models/list_all_subscriptionsop.py +202 -0
  142. mollie/models/list_balance_transactionsop.py +174 -0
  143. mollie/models/list_balancesop.py +171 -0
  144. mollie/models/list_capabilitiesop.py +62 -0
  145. mollie/models/list_capture_response.py +264 -0
  146. mollie/models/list_capturesop.py +185 -0
  147. mollie/models/list_chargebacksop.py +185 -0
  148. mollie/models/list_clientsop.py +269 -0
  149. mollie/models/list_connect_balance_transfersop.py +177 -0
  150. mollie/models/list_customer_paymentsop.py +231 -0
  151. mollie/models/list_customer_response.py +164 -0
  152. mollie/models/list_customersop.py +172 -0
  153. mollie/models/list_entity_balance.py +322 -0
  154. mollie/models/list_entity_chargeback.py +244 -0
  155. mollie/models/list_entity_invoice.py +244 -0
  156. mollie/models/list_entity_method.py +315 -0
  157. mollie/models/list_entity_method_all.py +391 -0
  158. mollie/models/list_entity_permission.py +56 -0
  159. mollie/models/list_entity_refund.py +352 -0
  160. mollie/models/list_entity_settlement.py +457 -0
  161. mollie/models/list_entity_terminal.py +157 -0
  162. mollie/models/list_entity_webhook.py +117 -0
  163. mollie/models/list_invoicesop.py +175 -0
  164. mollie/models/list_links.py +68 -0
  165. mollie/models/list_mandate_response.py +261 -0
  166. mollie/models/list_mandatesop.py +186 -0
  167. mollie/models/list_methodsop.py +332 -0
  168. mollie/models/list_payment_linksop.py +159 -0
  169. mollie/models/list_payment_response.py +1953 -0
  170. mollie/models/list_paymentsop.py +217 -0
  171. mollie/models/list_permissionsop.py +85 -0
  172. mollie/models/list_profile_response.py +194 -0
  173. mollie/models/list_profilesop.py +118 -0
  174. mollie/models/list_refundsop.py +189 -0
  175. mollie/models/list_route_get_response.py +97 -0
  176. mollie/models/list_sales_invoice_response.py +505 -0
  177. mollie/models/list_sales_invoicesop.py +172 -0
  178. mollie/models/list_settlement_capturesop.py +187 -0
  179. mollie/models/list_settlement_chargebacksop.py +187 -0
  180. mollie/models/list_settlement_paymentsop.py +233 -0
  181. mollie/models/list_settlement_refundsop.py +191 -0
  182. mollie/models/list_settlementsop.py +178 -0
  183. mollie/models/list_subscription_paymentsop.py +242 -0
  184. mollie/models/list_subscription_response.py +344 -0
  185. mollie/models/list_subscriptionsop.py +189 -0
  186. mollie/models/list_terminalsop.py +172 -0
  187. mollie/models/list_webhooksop.py +189 -0
  188. mollie/models/locale.py +32 -0
  189. mollie/models/locale_response.py +33 -0
  190. mollie/models/mandate_details_card_label_response.py +22 -0
  191. mollie/models/mandate_method.py +15 -0
  192. mollie/models/mandate_method_response.py +16 -0
  193. mollie/models/mandate_request.py +160 -0
  194. mollie/models/mandate_response.py +264 -0
  195. mollie/models/metadata.py +19 -0
  196. mollie/models/method.py +50 -0
  197. mollie/models/method_include_wallets_parameter.py +8 -0
  198. mollie/models/method_resource_parameter.py +9 -0
  199. mollie/models/method_response.py +59 -0
  200. mollie/models/method_status.py +15 -0
  201. mollie/models/mode.py +12 -0
  202. mollie/models/no_response_error.py +17 -0
  203. mollie/models/onboarding_vat_regulation.py +16 -0
  204. mollie/models/organization_vat_regulation.py +17 -0
  205. mollie/models/payment_address.py +130 -0
  206. mollie/models/payment_create_routeop.py +43 -0
  207. mollie/models/payment_details_card_audition_response.py +12 -0
  208. mollie/models/payment_details_card_funding_response.py +14 -0
  209. mollie/models/payment_details_card_label_response.py +23 -0
  210. mollie/models/payment_details_card_security_response.py +12 -0
  211. mollie/models/payment_details_failure_reason_response.py +25 -0
  212. mollie/models/payment_details_fee_region_response.py +20 -0
  213. mollie/models/payment_details_receipt_card_read_method_response.py +17 -0
  214. mollie/models/payment_details_receipt_card_verification_method_response.py +21 -0
  215. mollie/models/payment_details_seller_protection_response.py +20 -0
  216. mollie/models/payment_details_wallet_response.py +11 -0
  217. mollie/models/payment_line_item.py +96 -0
  218. mollie/models/payment_line_item_response.py +104 -0
  219. mollie/models/payment_line_type.py +20 -0
  220. mollie/models/payment_line_type_response.py +21 -0
  221. mollie/models/payment_link_method.py +36 -0
  222. mollie/models/payment_link_method_response.py +37 -0
  223. mollie/models/payment_link_response.py +348 -0
  224. mollie/models/payment_link_sequence_type.py +9 -0
  225. mollie/models/payment_link_sequence_type_response.py +10 -0
  226. mollie/models/payment_list_routesop.py +140 -0
  227. mollie/models/payment_method.py +53 -0
  228. mollie/models/payment_request.py +919 -0
  229. mollie/models/payment_response.py +1953 -0
  230. mollie/models/profile_request.py +67 -0
  231. mollie/models/profile_response.py +197 -0
  232. mollie/models/profile_review_status_response.py +12 -0
  233. mollie/models/recurring_line_item.py +77 -0
  234. mollie/models/refund_external_reference_type.py +10 -0
  235. mollie/models/refund_external_reference_type_response.py +11 -0
  236. mollie/models/refund_request.py +200 -0
  237. mollie/models/release_authorizationop.py +108 -0
  238. mollie/models/request_apple_pay_payment_sessionop.py +76 -0
  239. mollie/models/responsevalidationerror.py +27 -0
  240. mollie/models/revoke_mandateop.py +100 -0
  241. mollie/models/route_create_response.py +97 -0
  242. mollie/models/route_destination_type.py +10 -0
  243. mollie/models/route_destination_type_response.py +11 -0
  244. mollie/models/sales_invoice_discount.py +21 -0
  245. mollie/models/sales_invoice_discount_response.py +25 -0
  246. mollie/models/sales_invoice_discount_type.py +11 -0
  247. mollie/models/sales_invoice_discount_type_response.py +12 -0
  248. mollie/models/sales_invoice_email_details.py +20 -0
  249. mollie/models/sales_invoice_line_item.py +67 -0
  250. mollie/models/sales_invoice_line_item_response.py +70 -0
  251. mollie/models/sales_invoice_payment_details.py +59 -0
  252. mollie/models/sales_invoice_payment_details_response.py +66 -0
  253. mollie/models/sales_invoice_payment_details_source.py +12 -0
  254. mollie/models/sales_invoice_payment_details_source_response.py +13 -0
  255. mollie/models/sales_invoice_payment_term.py +16 -0
  256. mollie/models/sales_invoice_payment_term_response.py +17 -0
  257. mollie/models/sales_invoice_recipient.py +176 -0
  258. mollie/models/sales_invoice_recipient_locale.py +18 -0
  259. mollie/models/sales_invoice_recipient_locale_response.py +19 -0
  260. mollie/models/sales_invoice_recipient_response.py +182 -0
  261. mollie/models/sales_invoice_recipient_type.py +13 -0
  262. mollie/models/sales_invoice_recipient_type_response.py +14 -0
  263. mollie/models/sales_invoice_request.py +256 -0
  264. mollie/models/sales_invoice_response.py +509 -0
  265. mollie/models/sales_invoice_status.py +25 -0
  266. mollie/models/sales_invoice_status_response.py +26 -0
  267. mollie/models/sales_invoice_vat_mode.py +13 -0
  268. mollie/models/sales_invoice_vat_mode_response.py +14 -0
  269. mollie/models/sales_invoice_vat_scheme.py +11 -0
  270. mollie/models/sales_invoice_vat_scheme_response.py +12 -0
  271. mollie/models/security.py +35 -0
  272. mollie/models/sequence_type.py +10 -0
  273. mollie/models/sequence_type_response.py +11 -0
  274. mollie/models/sorting.py +9 -0
  275. mollie/models/status_reason.py +168 -0
  276. mollie/models/sub_group.py +52 -0
  277. mollie/models/sub_totals.py +120 -0
  278. mollie/models/submit_onboarding_dataop.py +214 -0
  279. mollie/models/subscription_method.py +12 -0
  280. mollie/models/subscription_method_response.py +13 -0
  281. mollie/models/subscription_request.py +213 -0
  282. mollie/models/subscription_response.py +349 -0
  283. mollie/models/terminal_brand.py +12 -0
  284. mollie/models/terminal_model.py +16 -0
  285. mollie/models/test_webhookop.py +64 -0
  286. mollie/models/update_customerop.py +43 -0
  287. mollie/models/update_payment_linkop.py +172 -0
  288. mollie/models/update_paymentop.py +332 -0
  289. mollie/models/update_profileop.py +147 -0
  290. mollie/models/update_sales_invoiceop.py +44 -0
  291. mollie/models/update_subscriptionop.py +188 -0
  292. mollie/models/update_values_sales_invoice.py +176 -0
  293. mollie/models/update_webhookop.py +83 -0
  294. mollie/models/url.py +24 -0
  295. mollie/models/url_nullable.py +25 -0
  296. mollie/models/webhook_event_types.py +18 -0
  297. mollie/models/webhook_status.py +14 -0
  298. mollie/onboarding.py +403 -0
  299. mollie/organizations.py +579 -0
  300. mollie/payment_links.py +1323 -0
  301. mollie/payments_sdk.py +1385 -0
  302. mollie/permissions.py +397 -0
  303. mollie/profiles.py +1209 -0
  304. mollie/py.typed +1 -0
  305. mollie/refunds_sdk.py +1111 -0
  306. mollie/sales_invoices.py +1121 -0
  307. mollie/sdk.py +265 -0
  308. mollie/sdkconfiguration.py +50 -0
  309. mollie/settlements.py +1735 -0
  310. mollie/subscriptions.py +1617 -0
  311. mollie/terminals.py +427 -0
  312. mollie/types/__init__.py +21 -0
  313. mollie/types/basemodel.py +39 -0
  314. mollie/utils/__init__.py +200 -0
  315. mollie/utils/annotations.py +79 -0
  316. mollie/utils/datetimes.py +23 -0
  317. mollie/utils/enums.py +74 -0
  318. mollie/utils/eventstreaming.py +248 -0
  319. mollie/utils/forms.py +223 -0
  320. mollie/utils/headers.py +136 -0
  321. mollie/utils/logger.py +27 -0
  322. mollie/utils/metadata.py +118 -0
  323. mollie/utils/queryparams.py +205 -0
  324. mollie/utils/requestbodies.py +66 -0
  325. mollie/utils/retries.py +217 -0
  326. mollie/utils/security.py +195 -0
  327. mollie/utils/serializers.py +249 -0
  328. mollie/utils/unmarshal_json_response.py +24 -0
  329. mollie/utils/url.py +155 -0
  330. mollie/utils/values.py +137 -0
  331. mollie/wallets.py +263 -0
  332. mollie/webhook_events.py +211 -0
  333. mollie/webhooks.py +1305 -0
  334. mollie_api_py-1.0.0.dist-info/METADATA +834 -0
  335. mollie_api_py-1.0.0.dist-info/RECORD +337 -0
  336. mollie_api_py-1.0.0.dist-info/WHEEL +4 -0
  337. mollie_api_py-1.0.0.dist-info/licenses/LICENSE.md +24 -0
mollie/clients.py ADDED
@@ -0,0 +1,409 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from mollie import models, utils
5
+ from mollie._hooks import HookContext
6
+ from mollie.types import OptionalNullable, UNSET
7
+ from mollie.utils import get_security_from_env
8
+ from mollie.utils.unmarshal_json_response import unmarshal_json_response
9
+ from typing import Any, Mapping, Optional
10
+
11
+
12
+ class Clients(BaseSDK):
13
+ def list(
14
+ self,
15
+ *,
16
+ embed: OptionalNullable[str] = UNSET,
17
+ from_: OptionalNullable[str] = UNSET,
18
+ limit: OptionalNullable[int] = UNSET,
19
+ idempotency_key: Optional[str] = None,
20
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
21
+ server_url: Optional[str] = None,
22
+ timeout_ms: Optional[int] = None,
23
+ http_headers: Optional[Mapping[str, str]] = None,
24
+ ) -> models.ListClientsResponse:
25
+ r"""List clients
26
+
27
+ Retrieve a list of all clients linked to your account.
28
+
29
+ The results are paginated.
30
+
31
+ :param embed: This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter.
32
+ :param from_: Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set.
33
+ :param limit: The maximum number of items to return. Defaults to 50 items.
34
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
35
+ :param retries: Override the default retry configuration for this method
36
+ :param server_url: Override the default server URL for this method
37
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
38
+ :param http_headers: Additional headers to set or replace on requests.
39
+ """
40
+ base_url = None
41
+ url_variables = None
42
+ if timeout_ms is None:
43
+ timeout_ms = self.sdk_configuration.timeout_ms
44
+
45
+ if server_url is not None:
46
+ base_url = server_url
47
+ else:
48
+ base_url = self._get_url(base_url, url_variables)
49
+
50
+ request = models.ListClientsRequest(
51
+ embed=embed,
52
+ from_=from_,
53
+ limit=limit,
54
+ idempotency_key=idempotency_key,
55
+ )
56
+
57
+ req = self._build_request(
58
+ method="GET",
59
+ path="/clients",
60
+ base_url=base_url,
61
+ url_variables=url_variables,
62
+ request=request,
63
+ request_body_required=False,
64
+ request_has_path_params=False,
65
+ request_has_query_params=True,
66
+ user_agent_header="user-agent",
67
+ accept_header_value="application/hal+json",
68
+ http_headers=http_headers,
69
+ security=self.sdk_configuration.security,
70
+ timeout_ms=timeout_ms,
71
+ )
72
+
73
+ if retries == UNSET:
74
+ if self.sdk_configuration.retry_config is not UNSET:
75
+ retries = self.sdk_configuration.retry_config
76
+ else:
77
+ retries = utils.RetryConfig(
78
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
79
+ )
80
+
81
+ retry_config = None
82
+ if isinstance(retries, utils.RetryConfig):
83
+ retry_config = (retries, ["5xx"])
84
+
85
+ http_res = self.do_request(
86
+ hook_ctx=HookContext(
87
+ config=self.sdk_configuration,
88
+ base_url=base_url or "",
89
+ operation_id="list-clients",
90
+ oauth2_scopes=None,
91
+ security_source=get_security_from_env(
92
+ self.sdk_configuration.security, models.Security
93
+ ),
94
+ ),
95
+ request=req,
96
+ error_status_codes=["400", "404", "4XX", "5XX"],
97
+ retry_config=retry_config,
98
+ )
99
+
100
+ response_data: Any = None
101
+ if utils.match_response(http_res, "200", "application/hal+json"):
102
+ return unmarshal_json_response(models.ListClientsResponse, http_res)
103
+ if utils.match_response(http_res, ["400", "404"], "application/hal+json"):
104
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
105
+ raise models.ErrorResponse(response_data, http_res)
106
+ if utils.match_response(http_res, "4XX", "*"):
107
+ http_res_text = utils.stream_to_text(http_res)
108
+ raise models.APIError("API error occurred", http_res, http_res_text)
109
+ if utils.match_response(http_res, "5XX", "*"):
110
+ http_res_text = utils.stream_to_text(http_res)
111
+ raise models.APIError("API error occurred", http_res, http_res_text)
112
+
113
+ raise models.APIError("Unexpected response received", http_res)
114
+
115
+ async def list_async(
116
+ self,
117
+ *,
118
+ embed: OptionalNullable[str] = UNSET,
119
+ from_: OptionalNullable[str] = UNSET,
120
+ limit: OptionalNullable[int] = UNSET,
121
+ idempotency_key: Optional[str] = None,
122
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
123
+ server_url: Optional[str] = None,
124
+ timeout_ms: Optional[int] = None,
125
+ http_headers: Optional[Mapping[str, str]] = None,
126
+ ) -> models.ListClientsResponse:
127
+ r"""List clients
128
+
129
+ Retrieve a list of all clients linked to your account.
130
+
131
+ The results are paginated.
132
+
133
+ :param embed: This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter.
134
+ :param from_: Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set.
135
+ :param limit: The maximum number of items to return. Defaults to 50 items.
136
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
137
+ :param retries: Override the default retry configuration for this method
138
+ :param server_url: Override the default server URL for this method
139
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
140
+ :param http_headers: Additional headers to set or replace on requests.
141
+ """
142
+ base_url = None
143
+ url_variables = None
144
+ if timeout_ms is None:
145
+ timeout_ms = self.sdk_configuration.timeout_ms
146
+
147
+ if server_url is not None:
148
+ base_url = server_url
149
+ else:
150
+ base_url = self._get_url(base_url, url_variables)
151
+
152
+ request = models.ListClientsRequest(
153
+ embed=embed,
154
+ from_=from_,
155
+ limit=limit,
156
+ idempotency_key=idempotency_key,
157
+ )
158
+
159
+ req = self._build_request_async(
160
+ method="GET",
161
+ path="/clients",
162
+ base_url=base_url,
163
+ url_variables=url_variables,
164
+ request=request,
165
+ request_body_required=False,
166
+ request_has_path_params=False,
167
+ request_has_query_params=True,
168
+ user_agent_header="user-agent",
169
+ accept_header_value="application/hal+json",
170
+ http_headers=http_headers,
171
+ security=self.sdk_configuration.security,
172
+ timeout_ms=timeout_ms,
173
+ )
174
+
175
+ if retries == UNSET:
176
+ if self.sdk_configuration.retry_config is not UNSET:
177
+ retries = self.sdk_configuration.retry_config
178
+ else:
179
+ retries = utils.RetryConfig(
180
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
181
+ )
182
+
183
+ retry_config = None
184
+ if isinstance(retries, utils.RetryConfig):
185
+ retry_config = (retries, ["5xx"])
186
+
187
+ http_res = await self.do_request_async(
188
+ hook_ctx=HookContext(
189
+ config=self.sdk_configuration,
190
+ base_url=base_url or "",
191
+ operation_id="list-clients",
192
+ oauth2_scopes=None,
193
+ security_source=get_security_from_env(
194
+ self.sdk_configuration.security, models.Security
195
+ ),
196
+ ),
197
+ request=req,
198
+ error_status_codes=["400", "404", "4XX", "5XX"],
199
+ retry_config=retry_config,
200
+ )
201
+
202
+ response_data: Any = None
203
+ if utils.match_response(http_res, "200", "application/hal+json"):
204
+ return unmarshal_json_response(models.ListClientsResponse, http_res)
205
+ if utils.match_response(http_res, ["400", "404"], "application/hal+json"):
206
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
207
+ raise models.ErrorResponse(response_data, http_res)
208
+ if utils.match_response(http_res, "4XX", "*"):
209
+ http_res_text = await utils.stream_to_text_async(http_res)
210
+ raise models.APIError("API error occurred", http_res, http_res_text)
211
+ if utils.match_response(http_res, "5XX", "*"):
212
+ http_res_text = await utils.stream_to_text_async(http_res)
213
+ raise models.APIError("API error occurred", http_res, http_res_text)
214
+
215
+ raise models.APIError("Unexpected response received", http_res)
216
+
217
+ def get(
218
+ self,
219
+ *,
220
+ id: str,
221
+ embed: OptionalNullable[str] = UNSET,
222
+ idempotency_key: Optional[str] = None,
223
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
224
+ server_url: Optional[str] = None,
225
+ timeout_ms: Optional[int] = None,
226
+ http_headers: Optional[Mapping[str, str]] = None,
227
+ ) -> models.GetClientResponse:
228
+ r"""Get client
229
+
230
+ Retrieve a single client by its ID.
231
+
232
+ :param id: Provide the ID of the item you want to perform this operation on.
233
+ :param embed: This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter.
234
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
235
+ :param retries: Override the default retry configuration for this method
236
+ :param server_url: Override the default server URL for this method
237
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
238
+ :param http_headers: Additional headers to set or replace on requests.
239
+ """
240
+ base_url = None
241
+ url_variables = None
242
+ if timeout_ms is None:
243
+ timeout_ms = self.sdk_configuration.timeout_ms
244
+
245
+ if server_url is not None:
246
+ base_url = server_url
247
+ else:
248
+ base_url = self._get_url(base_url, url_variables)
249
+
250
+ request = models.GetClientRequest(
251
+ id=id,
252
+ embed=embed,
253
+ idempotency_key=idempotency_key,
254
+ )
255
+
256
+ req = self._build_request(
257
+ method="GET",
258
+ path="/clients/{id}",
259
+ base_url=base_url,
260
+ url_variables=url_variables,
261
+ request=request,
262
+ request_body_required=False,
263
+ request_has_path_params=True,
264
+ request_has_query_params=True,
265
+ user_agent_header="user-agent",
266
+ accept_header_value="application/hal+json",
267
+ http_headers=http_headers,
268
+ security=self.sdk_configuration.security,
269
+ timeout_ms=timeout_ms,
270
+ )
271
+
272
+ if retries == UNSET:
273
+ if self.sdk_configuration.retry_config is not UNSET:
274
+ retries = self.sdk_configuration.retry_config
275
+ else:
276
+ retries = utils.RetryConfig(
277
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
278
+ )
279
+
280
+ retry_config = None
281
+ if isinstance(retries, utils.RetryConfig):
282
+ retry_config = (retries, ["5xx"])
283
+
284
+ http_res = self.do_request(
285
+ hook_ctx=HookContext(
286
+ config=self.sdk_configuration,
287
+ base_url=base_url or "",
288
+ operation_id="get-client",
289
+ oauth2_scopes=None,
290
+ security_source=get_security_from_env(
291
+ self.sdk_configuration.security, models.Security
292
+ ),
293
+ ),
294
+ request=req,
295
+ error_status_codes=["404", "4XX", "5XX"],
296
+ retry_config=retry_config,
297
+ )
298
+
299
+ response_data: Any = None
300
+ if utils.match_response(http_res, "200", "application/hal+json"):
301
+ return unmarshal_json_response(models.GetClientResponse, http_res)
302
+ if utils.match_response(http_res, "404", "application/hal+json"):
303
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
304
+ raise models.ErrorResponse(response_data, http_res)
305
+ if utils.match_response(http_res, "4XX", "*"):
306
+ http_res_text = utils.stream_to_text(http_res)
307
+ raise models.APIError("API error occurred", http_res, http_res_text)
308
+ if utils.match_response(http_res, "5XX", "*"):
309
+ http_res_text = utils.stream_to_text(http_res)
310
+ raise models.APIError("API error occurred", http_res, http_res_text)
311
+
312
+ raise models.APIError("Unexpected response received", http_res)
313
+
314
+ async def get_async(
315
+ self,
316
+ *,
317
+ id: str,
318
+ embed: OptionalNullable[str] = UNSET,
319
+ idempotency_key: Optional[str] = None,
320
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
321
+ server_url: Optional[str] = None,
322
+ timeout_ms: Optional[int] = None,
323
+ http_headers: Optional[Mapping[str, str]] = None,
324
+ ) -> models.GetClientResponse:
325
+ r"""Get client
326
+
327
+ Retrieve a single client by its ID.
328
+
329
+ :param id: Provide the ID of the item you want to perform this operation on.
330
+ :param embed: This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter.
331
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
332
+ :param retries: Override the default retry configuration for this method
333
+ :param server_url: Override the default server URL for this method
334
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
335
+ :param http_headers: Additional headers to set or replace on requests.
336
+ """
337
+ base_url = None
338
+ url_variables = None
339
+ if timeout_ms is None:
340
+ timeout_ms = self.sdk_configuration.timeout_ms
341
+
342
+ if server_url is not None:
343
+ base_url = server_url
344
+ else:
345
+ base_url = self._get_url(base_url, url_variables)
346
+
347
+ request = models.GetClientRequest(
348
+ id=id,
349
+ embed=embed,
350
+ idempotency_key=idempotency_key,
351
+ )
352
+
353
+ req = self._build_request_async(
354
+ method="GET",
355
+ path="/clients/{id}",
356
+ base_url=base_url,
357
+ url_variables=url_variables,
358
+ request=request,
359
+ request_body_required=False,
360
+ request_has_path_params=True,
361
+ request_has_query_params=True,
362
+ user_agent_header="user-agent",
363
+ accept_header_value="application/hal+json",
364
+ http_headers=http_headers,
365
+ security=self.sdk_configuration.security,
366
+ timeout_ms=timeout_ms,
367
+ )
368
+
369
+ if retries == UNSET:
370
+ if self.sdk_configuration.retry_config is not UNSET:
371
+ retries = self.sdk_configuration.retry_config
372
+ else:
373
+ retries = utils.RetryConfig(
374
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
375
+ )
376
+
377
+ retry_config = None
378
+ if isinstance(retries, utils.RetryConfig):
379
+ retry_config = (retries, ["5xx"])
380
+
381
+ http_res = await self.do_request_async(
382
+ hook_ctx=HookContext(
383
+ config=self.sdk_configuration,
384
+ base_url=base_url or "",
385
+ operation_id="get-client",
386
+ oauth2_scopes=None,
387
+ security_source=get_security_from_env(
388
+ self.sdk_configuration.security, models.Security
389
+ ),
390
+ ),
391
+ request=req,
392
+ error_status_codes=["404", "4XX", "5XX"],
393
+ retry_config=retry_config,
394
+ )
395
+
396
+ response_data: Any = None
397
+ if utils.match_response(http_res, "200", "application/hal+json"):
398
+ return unmarshal_json_response(models.GetClientResponse, http_res)
399
+ if utils.match_response(http_res, "404", "application/hal+json"):
400
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
401
+ raise models.ErrorResponse(response_data, http_res)
402
+ if utils.match_response(http_res, "4XX", "*"):
403
+ http_res_text = await utils.stream_to_text_async(http_res)
404
+ raise models.APIError("API error occurred", http_res, http_res_text)
405
+ if utils.match_response(http_res, "5XX", "*"):
406
+ http_res_text = await utils.stream_to_text_async(http_res)
407
+ raise models.APIError("API error occurred", http_res, http_res_text)
408
+
409
+ raise models.APIError("Unexpected response received", http_res)