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
@@ -0,0 +1,579 @@
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 Organizations(BaseSDK):
13
+ def get(
14
+ self,
15
+ *,
16
+ id: str,
17
+ testmode: Optional[bool] = None,
18
+ idempotency_key: Optional[str] = None,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> models.EntityOrganization:
24
+ r"""Get organization
25
+
26
+ Retrieve a single organization by its ID.
27
+
28
+ You can normally only retrieve the currently authenticated organization with this endpoint. This is primarily useful
29
+ for OAuth apps. See also [Get current organization](get-current-organization).
30
+
31
+ If you have a *partner account*', you can retrieve organization details of connected organizations.
32
+
33
+ :param id: Provide the ID of the item you want to perform this operation on.
34
+ :param testmode: You can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
35
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
36
+ :param retries: Override the default retry configuration for this method
37
+ :param server_url: Override the default server URL for this method
38
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
39
+ :param http_headers: Additional headers to set or replace on requests.
40
+ """
41
+ base_url = None
42
+ url_variables = None
43
+ if timeout_ms is None:
44
+ timeout_ms = self.sdk_configuration.timeout_ms
45
+
46
+ if server_url is not None:
47
+ base_url = server_url
48
+ else:
49
+ base_url = self._get_url(base_url, url_variables)
50
+
51
+ request = models.GetOrganizationRequest(
52
+ id=id,
53
+ testmode=testmode,
54
+ idempotency_key=idempotency_key,
55
+ )
56
+
57
+ req = self._build_request(
58
+ method="GET",
59
+ path="/organizations/{id}",
60
+ base_url=base_url,
61
+ url_variables=url_variables,
62
+ request=request,
63
+ request_body_required=False,
64
+ request_has_path_params=True,
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
+ _globals=models.GetOrganizationGlobals(
70
+ testmode=self.sdk_configuration.globals.testmode,
71
+ ),
72
+ security=self.sdk_configuration.security,
73
+ timeout_ms=timeout_ms,
74
+ )
75
+
76
+ if retries == UNSET:
77
+ if self.sdk_configuration.retry_config is not UNSET:
78
+ retries = self.sdk_configuration.retry_config
79
+ else:
80
+ retries = utils.RetryConfig(
81
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
82
+ )
83
+
84
+ retry_config = None
85
+ if isinstance(retries, utils.RetryConfig):
86
+ retry_config = (retries, ["5xx"])
87
+
88
+ http_res = self.do_request(
89
+ hook_ctx=HookContext(
90
+ config=self.sdk_configuration,
91
+ base_url=base_url or "",
92
+ operation_id="get-organization",
93
+ oauth2_scopes=None,
94
+ security_source=get_security_from_env(
95
+ self.sdk_configuration.security, models.Security
96
+ ),
97
+ ),
98
+ request=req,
99
+ error_status_codes=["404", "4XX", "5XX"],
100
+ retry_config=retry_config,
101
+ )
102
+
103
+ response_data: Any = None
104
+ if utils.match_response(http_res, "200", "application/hal+json"):
105
+ return unmarshal_json_response(models.EntityOrganization, http_res)
106
+ if utils.match_response(http_res, "404", "application/hal+json"):
107
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
108
+ raise models.ErrorResponse(response_data, http_res)
109
+ if utils.match_response(http_res, "4XX", "*"):
110
+ http_res_text = utils.stream_to_text(http_res)
111
+ raise models.APIError("API error occurred", http_res, http_res_text)
112
+ if utils.match_response(http_res, "5XX", "*"):
113
+ http_res_text = utils.stream_to_text(http_res)
114
+ raise models.APIError("API error occurred", http_res, http_res_text)
115
+
116
+ raise models.APIError("Unexpected response received", http_res)
117
+
118
+ async def get_async(
119
+ self,
120
+ *,
121
+ id: str,
122
+ testmode: Optional[bool] = None,
123
+ idempotency_key: Optional[str] = None,
124
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
125
+ server_url: Optional[str] = None,
126
+ timeout_ms: Optional[int] = None,
127
+ http_headers: Optional[Mapping[str, str]] = None,
128
+ ) -> models.EntityOrganization:
129
+ r"""Get organization
130
+
131
+ Retrieve a single organization by its ID.
132
+
133
+ You can normally only retrieve the currently authenticated organization with this endpoint. This is primarily useful
134
+ for OAuth apps. See also [Get current organization](get-current-organization).
135
+
136
+ If you have a *partner account*', you can retrieve organization details of connected organizations.
137
+
138
+ :param id: Provide the ID of the item you want to perform this operation on.
139
+ :param testmode: You can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
140
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
141
+ :param retries: Override the default retry configuration for this method
142
+ :param server_url: Override the default server URL for this method
143
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
144
+ :param http_headers: Additional headers to set or replace on requests.
145
+ """
146
+ base_url = None
147
+ url_variables = None
148
+ if timeout_ms is None:
149
+ timeout_ms = self.sdk_configuration.timeout_ms
150
+
151
+ if server_url is not None:
152
+ base_url = server_url
153
+ else:
154
+ base_url = self._get_url(base_url, url_variables)
155
+
156
+ request = models.GetOrganizationRequest(
157
+ id=id,
158
+ testmode=testmode,
159
+ idempotency_key=idempotency_key,
160
+ )
161
+
162
+ req = self._build_request_async(
163
+ method="GET",
164
+ path="/organizations/{id}",
165
+ base_url=base_url,
166
+ url_variables=url_variables,
167
+ request=request,
168
+ request_body_required=False,
169
+ request_has_path_params=True,
170
+ request_has_query_params=True,
171
+ user_agent_header="user-agent",
172
+ accept_header_value="application/hal+json",
173
+ http_headers=http_headers,
174
+ _globals=models.GetOrganizationGlobals(
175
+ testmode=self.sdk_configuration.globals.testmode,
176
+ ),
177
+ security=self.sdk_configuration.security,
178
+ timeout_ms=timeout_ms,
179
+ )
180
+
181
+ if retries == UNSET:
182
+ if self.sdk_configuration.retry_config is not UNSET:
183
+ retries = self.sdk_configuration.retry_config
184
+ else:
185
+ retries = utils.RetryConfig(
186
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
187
+ )
188
+
189
+ retry_config = None
190
+ if isinstance(retries, utils.RetryConfig):
191
+ retry_config = (retries, ["5xx"])
192
+
193
+ http_res = await self.do_request_async(
194
+ hook_ctx=HookContext(
195
+ config=self.sdk_configuration,
196
+ base_url=base_url or "",
197
+ operation_id="get-organization",
198
+ oauth2_scopes=None,
199
+ security_source=get_security_from_env(
200
+ self.sdk_configuration.security, models.Security
201
+ ),
202
+ ),
203
+ request=req,
204
+ error_status_codes=["404", "4XX", "5XX"],
205
+ retry_config=retry_config,
206
+ )
207
+
208
+ response_data: Any = None
209
+ if utils.match_response(http_res, "200", "application/hal+json"):
210
+ return unmarshal_json_response(models.EntityOrganization, http_res)
211
+ if utils.match_response(http_res, "404", "application/hal+json"):
212
+ response_data = unmarshal_json_response(models.ErrorResponseData, http_res)
213
+ raise models.ErrorResponse(response_data, http_res)
214
+ if utils.match_response(http_res, "4XX", "*"):
215
+ http_res_text = await utils.stream_to_text_async(http_res)
216
+ raise models.APIError("API error occurred", http_res, http_res_text)
217
+ if utils.match_response(http_res, "5XX", "*"):
218
+ http_res_text = await utils.stream_to_text_async(http_res)
219
+ raise models.APIError("API error occurred", http_res, http_res_text)
220
+
221
+ raise models.APIError("Unexpected response received", http_res)
222
+
223
+ def get_current(
224
+ self,
225
+ *,
226
+ idempotency_key: Optional[str] = None,
227
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
228
+ server_url: Optional[str] = None,
229
+ timeout_ms: Optional[int] = None,
230
+ http_headers: Optional[Mapping[str, str]] = None,
231
+ ) -> models.EntityOrganization:
232
+ r"""Get current organization
233
+
234
+ Retrieve the currently authenticated organization. A convenient alias of the [Get organization](get-organization)
235
+ endpoint.
236
+
237
+ For a complete reference of the organization object, refer to the [Get organization](get-organization) endpoint
238
+ documentation.
239
+
240
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
241
+ :param retries: Override the default retry configuration for this method
242
+ :param server_url: Override the default server URL for this method
243
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
244
+ :param http_headers: Additional headers to set or replace on requests.
245
+ """
246
+ base_url = None
247
+ url_variables = None
248
+ if timeout_ms is None:
249
+ timeout_ms = self.sdk_configuration.timeout_ms
250
+
251
+ if server_url is not None:
252
+ base_url = server_url
253
+ else:
254
+ base_url = self._get_url(base_url, url_variables)
255
+
256
+ request = models.GetCurrentOrganizationRequest(
257
+ idempotency_key=idempotency_key,
258
+ )
259
+
260
+ req = self._build_request(
261
+ method="GET",
262
+ path="/organizations/me",
263
+ base_url=base_url,
264
+ url_variables=url_variables,
265
+ request=request,
266
+ request_body_required=False,
267
+ request_has_path_params=False,
268
+ request_has_query_params=True,
269
+ user_agent_header="user-agent",
270
+ accept_header_value="application/hal+json",
271
+ http_headers=http_headers,
272
+ security=self.sdk_configuration.security,
273
+ timeout_ms=timeout_ms,
274
+ )
275
+
276
+ if retries == UNSET:
277
+ if self.sdk_configuration.retry_config is not UNSET:
278
+ retries = self.sdk_configuration.retry_config
279
+ else:
280
+ retries = utils.RetryConfig(
281
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
282
+ )
283
+
284
+ retry_config = None
285
+ if isinstance(retries, utils.RetryConfig):
286
+ retry_config = (retries, ["5xx"])
287
+
288
+ http_res = self.do_request(
289
+ hook_ctx=HookContext(
290
+ config=self.sdk_configuration,
291
+ base_url=base_url or "",
292
+ operation_id="get-current-organization",
293
+ oauth2_scopes=None,
294
+ security_source=get_security_from_env(
295
+ self.sdk_configuration.security, models.Security
296
+ ),
297
+ ),
298
+ request=req,
299
+ error_status_codes=["4XX", "5XX"],
300
+ retry_config=retry_config,
301
+ )
302
+
303
+ if utils.match_response(http_res, "200", "application/hal+json"):
304
+ return unmarshal_json_response(models.EntityOrganization, 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_current_async(
315
+ self,
316
+ *,
317
+ idempotency_key: Optional[str] = None,
318
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
319
+ server_url: Optional[str] = None,
320
+ timeout_ms: Optional[int] = None,
321
+ http_headers: Optional[Mapping[str, str]] = None,
322
+ ) -> models.EntityOrganization:
323
+ r"""Get current organization
324
+
325
+ Retrieve the currently authenticated organization. A convenient alias of the [Get organization](get-organization)
326
+ endpoint.
327
+
328
+ For a complete reference of the organization object, refer to the [Get organization](get-organization) endpoint
329
+ documentation.
330
+
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.GetCurrentOrganizationRequest(
348
+ idempotency_key=idempotency_key,
349
+ )
350
+
351
+ req = self._build_request_async(
352
+ method="GET",
353
+ path="/organizations/me",
354
+ base_url=base_url,
355
+ url_variables=url_variables,
356
+ request=request,
357
+ request_body_required=False,
358
+ request_has_path_params=False,
359
+ request_has_query_params=True,
360
+ user_agent_header="user-agent",
361
+ accept_header_value="application/hal+json",
362
+ http_headers=http_headers,
363
+ security=self.sdk_configuration.security,
364
+ timeout_ms=timeout_ms,
365
+ )
366
+
367
+ if retries == UNSET:
368
+ if self.sdk_configuration.retry_config is not UNSET:
369
+ retries = self.sdk_configuration.retry_config
370
+ else:
371
+ retries = utils.RetryConfig(
372
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
373
+ )
374
+
375
+ retry_config = None
376
+ if isinstance(retries, utils.RetryConfig):
377
+ retry_config = (retries, ["5xx"])
378
+
379
+ http_res = await self.do_request_async(
380
+ hook_ctx=HookContext(
381
+ config=self.sdk_configuration,
382
+ base_url=base_url or "",
383
+ operation_id="get-current-organization",
384
+ oauth2_scopes=None,
385
+ security_source=get_security_from_env(
386
+ self.sdk_configuration.security, models.Security
387
+ ),
388
+ ),
389
+ request=req,
390
+ error_status_codes=["4XX", "5XX"],
391
+ retry_config=retry_config,
392
+ )
393
+
394
+ if utils.match_response(http_res, "200", "application/hal+json"):
395
+ return unmarshal_json_response(models.EntityOrganization, http_res)
396
+ if utils.match_response(http_res, "4XX", "*"):
397
+ http_res_text = await utils.stream_to_text_async(http_res)
398
+ raise models.APIError("API error occurred", http_res, http_res_text)
399
+ if utils.match_response(http_res, "5XX", "*"):
400
+ http_res_text = await utils.stream_to_text_async(http_res)
401
+ raise models.APIError("API error occurred", http_res, http_res_text)
402
+
403
+ raise models.APIError("Unexpected response received", http_res)
404
+
405
+ def get_partner(
406
+ self,
407
+ *,
408
+ idempotency_key: Optional[str] = None,
409
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
410
+ server_url: Optional[str] = None,
411
+ timeout_ms: Optional[int] = None,
412
+ http_headers: Optional[Mapping[str, str]] = None,
413
+ ) -> models.GetPartnerStatusResponse:
414
+ r"""Get partner status
415
+
416
+ Retrieve partnership details about the currently authenticated organization. Only relevant for so-called *partner
417
+ accounts*.
418
+
419
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
420
+ :param retries: Override the default retry configuration for this method
421
+ :param server_url: Override the default server URL for this method
422
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
423
+ :param http_headers: Additional headers to set or replace on requests.
424
+ """
425
+ base_url = None
426
+ url_variables = None
427
+ if timeout_ms is None:
428
+ timeout_ms = self.sdk_configuration.timeout_ms
429
+
430
+ if server_url is not None:
431
+ base_url = server_url
432
+ else:
433
+ base_url = self._get_url(base_url, url_variables)
434
+
435
+ request = models.GetPartnerStatusRequest(
436
+ idempotency_key=idempotency_key,
437
+ )
438
+
439
+ req = self._build_request(
440
+ method="GET",
441
+ path="/organizations/me/partner",
442
+ base_url=base_url,
443
+ url_variables=url_variables,
444
+ request=request,
445
+ request_body_required=False,
446
+ request_has_path_params=False,
447
+ request_has_query_params=True,
448
+ user_agent_header="user-agent",
449
+ accept_header_value="application/hal+json",
450
+ http_headers=http_headers,
451
+ security=self.sdk_configuration.security,
452
+ timeout_ms=timeout_ms,
453
+ )
454
+
455
+ if retries == UNSET:
456
+ if self.sdk_configuration.retry_config is not UNSET:
457
+ retries = self.sdk_configuration.retry_config
458
+ else:
459
+ retries = utils.RetryConfig(
460
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
461
+ )
462
+
463
+ retry_config = None
464
+ if isinstance(retries, utils.RetryConfig):
465
+ retry_config = (retries, ["5xx"])
466
+
467
+ http_res = self.do_request(
468
+ hook_ctx=HookContext(
469
+ config=self.sdk_configuration,
470
+ base_url=base_url or "",
471
+ operation_id="get-partner-status",
472
+ oauth2_scopes=None,
473
+ security_source=get_security_from_env(
474
+ self.sdk_configuration.security, models.Security
475
+ ),
476
+ ),
477
+ request=req,
478
+ error_status_codes=["4XX", "5XX"],
479
+ retry_config=retry_config,
480
+ )
481
+
482
+ if utils.match_response(http_res, "200", "application/hal+json"):
483
+ return unmarshal_json_response(models.GetPartnerStatusResponse, http_res)
484
+ if utils.match_response(http_res, "4XX", "*"):
485
+ http_res_text = utils.stream_to_text(http_res)
486
+ raise models.APIError("API error occurred", http_res, http_res_text)
487
+ if utils.match_response(http_res, "5XX", "*"):
488
+ http_res_text = utils.stream_to_text(http_res)
489
+ raise models.APIError("API error occurred", http_res, http_res_text)
490
+
491
+ raise models.APIError("Unexpected response received", http_res)
492
+
493
+ async def get_partner_async(
494
+ self,
495
+ *,
496
+ idempotency_key: Optional[str] = None,
497
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
498
+ server_url: Optional[str] = None,
499
+ timeout_ms: Optional[int] = None,
500
+ http_headers: Optional[Mapping[str, str]] = None,
501
+ ) -> models.GetPartnerStatusResponse:
502
+ r"""Get partner status
503
+
504
+ Retrieve partnership details about the currently authenticated organization. Only relevant for so-called *partner
505
+ accounts*.
506
+
507
+ :param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
508
+ :param retries: Override the default retry configuration for this method
509
+ :param server_url: Override the default server URL for this method
510
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
511
+ :param http_headers: Additional headers to set or replace on requests.
512
+ """
513
+ base_url = None
514
+ url_variables = None
515
+ if timeout_ms is None:
516
+ timeout_ms = self.sdk_configuration.timeout_ms
517
+
518
+ if server_url is not None:
519
+ base_url = server_url
520
+ else:
521
+ base_url = self._get_url(base_url, url_variables)
522
+
523
+ request = models.GetPartnerStatusRequest(
524
+ idempotency_key=idempotency_key,
525
+ )
526
+
527
+ req = self._build_request_async(
528
+ method="GET",
529
+ path="/organizations/me/partner",
530
+ base_url=base_url,
531
+ url_variables=url_variables,
532
+ request=request,
533
+ request_body_required=False,
534
+ request_has_path_params=False,
535
+ request_has_query_params=True,
536
+ user_agent_header="user-agent",
537
+ accept_header_value="application/hal+json",
538
+ http_headers=http_headers,
539
+ security=self.sdk_configuration.security,
540
+ timeout_ms=timeout_ms,
541
+ )
542
+
543
+ if retries == UNSET:
544
+ if self.sdk_configuration.retry_config is not UNSET:
545
+ retries = self.sdk_configuration.retry_config
546
+ else:
547
+ retries = utils.RetryConfig(
548
+ "backoff", utils.BackoffStrategy(500, 5000, 2, 7500), True
549
+ )
550
+
551
+ retry_config = None
552
+ if isinstance(retries, utils.RetryConfig):
553
+ retry_config = (retries, ["5xx"])
554
+
555
+ http_res = await self.do_request_async(
556
+ hook_ctx=HookContext(
557
+ config=self.sdk_configuration,
558
+ base_url=base_url or "",
559
+ operation_id="get-partner-status",
560
+ oauth2_scopes=None,
561
+ security_source=get_security_from_env(
562
+ self.sdk_configuration.security, models.Security
563
+ ),
564
+ ),
565
+ request=req,
566
+ error_status_codes=["4XX", "5XX"],
567
+ retry_config=retry_config,
568
+ )
569
+
570
+ if utils.match_response(http_res, "200", "application/hal+json"):
571
+ return unmarshal_json_response(models.GetPartnerStatusResponse, http_res)
572
+ if utils.match_response(http_res, "4XX", "*"):
573
+ http_res_text = await utils.stream_to_text_async(http_res)
574
+ raise models.APIError("API error occurred", http_res, http_res_text)
575
+ if utils.match_response(http_res, "5XX", "*"):
576
+ http_res_text = await utils.stream_to_text_async(http_res)
577
+ raise models.APIError("API error occurred", http_res, http_res_text)
578
+
579
+ raise models.APIError("Unexpected response received", http_res)