pluggy-sdk 1.0.0.post20__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 (213) hide show
  1. pluggy_sdk/__init__.py +220 -0
  2. pluggy_sdk/api/__init__.py +30 -0
  3. pluggy_sdk/api/account_api.py +588 -0
  4. pluggy_sdk/api/acquirer_anticipation_api.py +664 -0
  5. pluggy_sdk/api/acquirer_receivable_api.py +664 -0
  6. pluggy_sdk/api/acquirer_sale_api.py +664 -0
  7. pluggy_sdk/api/auth_api.py +605 -0
  8. pluggy_sdk/api/benefit_api.py +567 -0
  9. pluggy_sdk/api/bill_api.py +567 -0
  10. pluggy_sdk/api/bulk_payment_api.py +1127 -0
  11. pluggy_sdk/api/category_api.py +1096 -0
  12. pluggy_sdk/api/connector_api.py +979 -0
  13. pluggy_sdk/api/consent_api.py +576 -0
  14. pluggy_sdk/api/identity_api.py +581 -0
  15. pluggy_sdk/api/income_report_api.py +311 -0
  16. pluggy_sdk/api/investment_api.py +918 -0
  17. pluggy_sdk/api/items_api.py +1456 -0
  18. pluggy_sdk/api/loan_api.py +567 -0
  19. pluggy_sdk/api/payment_customer_api.py +1414 -0
  20. pluggy_sdk/api/payment_intent_api.py +842 -0
  21. pluggy_sdk/api/payment_receipts_api.py +842 -0
  22. pluggy_sdk/api/payment_recipient_api.py +1997 -0
  23. pluggy_sdk/api/payment_request_api.py +2739 -0
  24. pluggy_sdk/api/payment_schedule_api.py +823 -0
  25. pluggy_sdk/api/payroll_loan_api.py +561 -0
  26. pluggy_sdk/api/portfolio_yield_api.py +580 -0
  27. pluggy_sdk/api/smart_account_api.py +1704 -0
  28. pluggy_sdk/api/smart_account_transfer_api.py +610 -0
  29. pluggy_sdk/api/smart_transfer_api.py +1406 -0
  30. pluggy_sdk/api/transaction_api.py +963 -0
  31. pluggy_sdk/api/webhook_api.py +1406 -0
  32. pluggy_sdk/api_client.py +798 -0
  33. pluggy_sdk/api_response.py +21 -0
  34. pluggy_sdk/configuration.py +480 -0
  35. pluggy_sdk/exceptions.py +200 -0
  36. pluggy_sdk/models/__init__.py +178 -0
  37. pluggy_sdk/models/account.py +134 -0
  38. pluggy_sdk/models/accounts_list200_response.py +102 -0
  39. pluggy_sdk/models/acquirer_anticipation.py +117 -0
  40. pluggy_sdk/models/acquirer_anticipation_data.py +101 -0
  41. pluggy_sdk/models/acquirer_data.py +113 -0
  42. pluggy_sdk/models/acquirer_receivable.py +143 -0
  43. pluggy_sdk/models/acquirer_receivable_data.py +108 -0
  44. pluggy_sdk/models/acquirer_receivable_data_establishment.py +96 -0
  45. pluggy_sdk/models/acquirer_receivable_destination_account.py +92 -0
  46. pluggy_sdk/models/acquirer_receivable_related_sale.py +99 -0
  47. pluggy_sdk/models/acquirer_sale.py +171 -0
  48. pluggy_sdk/models/acquirer_sale_data.py +150 -0
  49. pluggy_sdk/models/acquirer_sale_installment.py +93 -0
  50. pluggy_sdk/models/acquirer_sale_installment_data.py +95 -0
  51. pluggy_sdk/models/address.py +110 -0
  52. pluggy_sdk/models/aggregated_portfolio.py +120 -0
  53. pluggy_sdk/models/aggregated_portfolio_response.py +102 -0
  54. pluggy_sdk/models/asset_distribution.py +88 -0
  55. pluggy_sdk/models/auth_request.py +90 -0
  56. pluggy_sdk/models/auth_response.py +88 -0
  57. pluggy_sdk/models/bank_data.py +92 -0
  58. pluggy_sdk/models/benefit_loan.py +121 -0
  59. pluggy_sdk/models/benefit_loan_client.py +102 -0
  60. pluggy_sdk/models/benefit_response.py +118 -0
  61. pluggy_sdk/models/benefit_response_paying_institution.py +94 -0
  62. pluggy_sdk/models/benefits_list200_response.py +102 -0
  63. pluggy_sdk/models/bill.py +109 -0
  64. pluggy_sdk/models/bill_finance_charge.py +103 -0
  65. pluggy_sdk/models/bills_list200_response.py +102 -0
  66. pluggy_sdk/models/boleto.py +121 -0
  67. pluggy_sdk/models/boleto_payer.py +90 -0
  68. pluggy_sdk/models/boleto_recipient.py +90 -0
  69. pluggy_sdk/models/bulk_payment.py +128 -0
  70. pluggy_sdk/models/bulk_payments_list200_response.py +102 -0
  71. pluggy_sdk/models/category.py +96 -0
  72. pluggy_sdk/models/client_category_rule.py +94 -0
  73. pluggy_sdk/models/company.py +90 -0
  74. pluggy_sdk/models/connect_token_request.py +94 -0
  75. pluggy_sdk/models/connect_token_response.py +88 -0
  76. pluggy_sdk/models/connector.py +145 -0
  77. pluggy_sdk/models/connector_credential.py +121 -0
  78. pluggy_sdk/models/connector_health.py +96 -0
  79. pluggy_sdk/models/connector_health_details.py +90 -0
  80. pluggy_sdk/models/connector_list_response.py +102 -0
  81. pluggy_sdk/models/connector_user_action.py +93 -0
  82. pluggy_sdk/models/consent.py +120 -0
  83. pluggy_sdk/models/create_boleto_payment_request.py +98 -0
  84. pluggy_sdk/models/create_bulk_payment.py +96 -0
  85. pluggy_sdk/models/create_client_category_rule.py +92 -0
  86. pluggy_sdk/models/create_item.py +113 -0
  87. pluggy_sdk/models/create_item_parameters.py +144 -0
  88. pluggy_sdk/models/create_or_update_payment_customer.py +105 -0
  89. pluggy_sdk/models/create_payment_customer_request_body.py +103 -0
  90. pluggy_sdk/models/create_payment_intent.py +110 -0
  91. pluggy_sdk/models/create_payment_recipient.py +104 -0
  92. pluggy_sdk/models/create_payment_request.py +110 -0
  93. pluggy_sdk/models/create_pix_qr_payment_request.py +96 -0
  94. pluggy_sdk/models/create_smart_account_request.py +102 -0
  95. pluggy_sdk/models/create_smart_account_transfer_request.py +92 -0
  96. pluggy_sdk/models/create_smart_transfer_payment.py +96 -0
  97. pluggy_sdk/models/create_smart_transfer_preauthorization.py +104 -0
  98. pluggy_sdk/models/create_webhook.py +99 -0
  99. pluggy_sdk/models/credential_select_option.py +90 -0
  100. pluggy_sdk/models/credit_card_metadata.py +101 -0
  101. pluggy_sdk/models/credit_data.py +127 -0
  102. pluggy_sdk/models/custom.py +100 -0
  103. pluggy_sdk/models/daily.py +101 -0
  104. pluggy_sdk/models/document.py +100 -0
  105. pluggy_sdk/models/email.py +100 -0
  106. pluggy_sdk/models/global_error_response.py +94 -0
  107. pluggy_sdk/models/i_count_response.py +88 -0
  108. pluggy_sdk/models/identity_relation.py +102 -0
  109. pluggy_sdk/models/identity_response.py +149 -0
  110. pluggy_sdk/models/income_report.py +90 -0
  111. pluggy_sdk/models/income_reports_response.py +102 -0
  112. pluggy_sdk/models/investment.py +192 -0
  113. pluggy_sdk/models/investment_expenses.py +108 -0
  114. pluggy_sdk/models/investment_metadata.py +100 -0
  115. pluggy_sdk/models/investment_transaction.py +124 -0
  116. pluggy_sdk/models/investments_list200_response.py +102 -0
  117. pluggy_sdk/models/item.py +150 -0
  118. pluggy_sdk/models/item_creation_error_response.py +102 -0
  119. pluggy_sdk/models/item_error.py +94 -0
  120. pluggy_sdk/models/item_options.py +90 -0
  121. pluggy_sdk/models/loan.py +199 -0
  122. pluggy_sdk/models/loan_contracted_fee.py +118 -0
  123. pluggy_sdk/models/loan_contracted_finance_charge.py +92 -0
  124. pluggy_sdk/models/loan_installment_balloon_payment.py +95 -0
  125. pluggy_sdk/models/loan_installment_balloon_payment_amount.py +90 -0
  126. pluggy_sdk/models/loan_installments.py +130 -0
  127. pluggy_sdk/models/loan_interest_rate.py +136 -0
  128. pluggy_sdk/models/loan_payment_release.py +103 -0
  129. pluggy_sdk/models/loan_payment_release_over_parcel.py +106 -0
  130. pluggy_sdk/models/loan_payment_release_over_parcel_charge.py +92 -0
  131. pluggy_sdk/models/loan_payment_release_over_parcel_fee.py +92 -0
  132. pluggy_sdk/models/loan_payments.py +98 -0
  133. pluggy_sdk/models/loan_warranty.py +94 -0
  134. pluggy_sdk/models/loans_list200_response.py +102 -0
  135. pluggy_sdk/models/merchant.py +96 -0
  136. pluggy_sdk/models/monthly.py +103 -0
  137. pluggy_sdk/models/monthly_portfolio.py +100 -0
  138. pluggy_sdk/models/monthly_portfolio_response.py +102 -0
  139. pluggy_sdk/models/not_authenticated_response.py +90 -0
  140. pluggy_sdk/models/page_response_acquirer_anticipations.py +102 -0
  141. pluggy_sdk/models/page_response_acquirer_receivables.py +102 -0
  142. pluggy_sdk/models/page_response_acquirer_sales.py +102 -0
  143. pluggy_sdk/models/page_response_category_rules.py +102 -0
  144. pluggy_sdk/models/page_response_consents.py +102 -0
  145. pluggy_sdk/models/page_response_investment_transactions.py +102 -0
  146. pluggy_sdk/models/page_response_transactions.py +102 -0
  147. pluggy_sdk/models/parameter_validation_error.py +92 -0
  148. pluggy_sdk/models/parameter_validation_response.py +98 -0
  149. pluggy_sdk/models/payment_customer.py +105 -0
  150. pluggy_sdk/models/payment_customers_list200_response.py +102 -0
  151. pluggy_sdk/models/payment_data.py +105 -0
  152. pluggy_sdk/models/payment_data_participant.py +102 -0
  153. pluggy_sdk/models/payment_institution.py +101 -0
  154. pluggy_sdk/models/payment_intent.py +145 -0
  155. pluggy_sdk/models/payment_intent_parameter.py +90 -0
  156. pluggy_sdk/models/payment_intents_list200_response.py +102 -0
  157. pluggy_sdk/models/payment_receipt.py +120 -0
  158. pluggy_sdk/models/payment_receipt_bank_account.py +92 -0
  159. pluggy_sdk/models/payment_receipt_person.py +96 -0
  160. pluggy_sdk/models/payment_recipient.py +110 -0
  161. pluggy_sdk/models/payment_recipient_account.py +92 -0
  162. pluggy_sdk/models/payment_recipients_institution_list200_response.py +102 -0
  163. pluggy_sdk/models/payment_recipients_list200_response.py +102 -0
  164. pluggy_sdk/models/payment_request.py +132 -0
  165. pluggy_sdk/models/payment_request_callback_urls.py +92 -0
  166. pluggy_sdk/models/payment_request_receipt_list200_response.py +102 -0
  167. pluggy_sdk/models/payment_request_schedule.py +183 -0
  168. pluggy_sdk/models/payment_requests_list200_response.py +102 -0
  169. pluggy_sdk/models/payment_schedules_list200_response.py +102 -0
  170. pluggy_sdk/models/payroll_loan.py +121 -0
  171. pluggy_sdk/models/payroll_loan_client.py +102 -0
  172. pluggy_sdk/models/payroll_loan_response.py +125 -0
  173. pluggy_sdk/models/payroll_loan_response_client.py +102 -0
  174. pluggy_sdk/models/payroll_loans_list200_response.py +102 -0
  175. pluggy_sdk/models/percentage_over_index.py +90 -0
  176. pluggy_sdk/models/phone_number.py +100 -0
  177. pluggy_sdk/models/pix_data.py +90 -0
  178. pluggy_sdk/models/schedule_payment.py +102 -0
  179. pluggy_sdk/models/schedule_type_custom.py +100 -0
  180. pluggy_sdk/models/schedule_type_daily.py +101 -0
  181. pluggy_sdk/models/schedule_type_monthly.py +103 -0
  182. pluggy_sdk/models/schedule_type_single.py +98 -0
  183. pluggy_sdk/models/schedule_type_weekly.py +110 -0
  184. pluggy_sdk/models/single.py +98 -0
  185. pluggy_sdk/models/smart_account.py +107 -0
  186. pluggy_sdk/models/smart_account_address.py +112 -0
  187. pluggy_sdk/models/smart_account_balance.py +95 -0
  188. pluggy_sdk/models/smart_account_transfer.py +123 -0
  189. pluggy_sdk/models/smart_accounts_list200_response.py +102 -0
  190. pluggy_sdk/models/smart_tranfers_preauthorizations_list200_response.py +102 -0
  191. pluggy_sdk/models/smart_transfer_callback_urls.py +90 -0
  192. pluggy_sdk/models/smart_transfer_payment.py +116 -0
  193. pluggy_sdk/models/smart_transfer_preauthorization.py +128 -0
  194. pluggy_sdk/models/smart_transfer_preauthorization_parameter.py +90 -0
  195. pluggy_sdk/models/status_detail.py +142 -0
  196. pluggy_sdk/models/status_detail_product.py +101 -0
  197. pluggy_sdk/models/status_detail_product_warning.py +92 -0
  198. pluggy_sdk/models/transaction.py +145 -0
  199. pluggy_sdk/models/update_item.py +109 -0
  200. pluggy_sdk/models/update_item_parameters.py +144 -0
  201. pluggy_sdk/models/update_payment_recipient.py +102 -0
  202. pluggy_sdk/models/update_payment_request.py +102 -0
  203. pluggy_sdk/models/update_transaction.py +88 -0
  204. pluggy_sdk/models/webhook.py +106 -0
  205. pluggy_sdk/models/webhook_creation_error_response.py +90 -0
  206. pluggy_sdk/models/webhooks_list200_response.py +102 -0
  207. pluggy_sdk/models/weekly.py +110 -0
  208. pluggy_sdk/py.typed +0 -0
  209. pluggy_sdk/rest.py +258 -0
  210. pluggy_sdk-1.0.0.post20.dist-info/METADATA +388 -0
  211. pluggy_sdk-1.0.0.post20.dist-info/RECORD +213 -0
  212. pluggy_sdk-1.0.0.post20.dist-info/WHEEL +5 -0
  213. pluggy_sdk-1.0.0.post20.dist-info/top_level.txt +1 -0
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
22
+ from typing import Any, ClassVar, Dict, List, Union
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ICountResponse(BaseModel):
27
+ """
28
+ Deletion response
29
+ """ # noqa: E501
30
+ count: Union[StrictFloat, StrictInt] = Field(description="Amount of items deleted")
31
+ __properties: ClassVar[List[str]] = ["count"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of ICountResponse from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of ICountResponse from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "count": obj.get("count")
85
+ })
86
+ return _obj
87
+
88
+
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class IdentityRelation(BaseModel):
27
+ """
28
+ The relation object contains name and relation to the owner of the account
29
+ """ # noqa: E501
30
+ type: Optional[StrictStr] = Field(default=None, description="Type of relation: Father, Mother or Spouse")
31
+ name: Optional[StrictStr] = Field(default=None, description="The full name of the person")
32
+ document: Optional[StrictStr] = Field(default=None, description="Primary document of the person")
33
+ __properties: ClassVar[List[str]] = ["type", "name", "document"]
34
+
35
+ @field_validator('type')
36
+ def type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ if value not in set(['Mother', 'Father', 'Spouse']):
42
+ raise ValueError("must be one of enum values ('Mother', 'Father', 'Spouse')")
43
+ return value
44
+
45
+ model_config = ConfigDict(
46
+ populate_by_name=True,
47
+ validate_assignment=True,
48
+ protected_namespaces=(),
49
+ )
50
+
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of IdentityRelation from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
88
+ """Create an instance of IdentityRelation from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return cls.model_validate(obj)
94
+
95
+ _obj = cls.model_validate({
96
+ "type": obj.get("type"),
97
+ "name": obj.get("name"),
98
+ "document": obj.get("document")
99
+ })
100
+ return _obj
101
+
102
+
@@ -0,0 +1,149 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from datetime import datetime
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
23
+ from typing import Any, ClassVar, Dict, List, Optional
24
+ from pluggy_sdk.models.address import Address
25
+ from pluggy_sdk.models.email import Email
26
+ from pluggy_sdk.models.identity_relation import IdentityRelation
27
+ from pluggy_sdk.models.phone_number import PhoneNumber
28
+ from typing import Optional, Set
29
+ from typing_extensions import Self
30
+
31
+ class IdentityResponse(BaseModel):
32
+ """
33
+ Response with details personal information related to the owner of the connection's account
34
+ """ # noqa: E501
35
+ id: StrictStr = Field(description="The ID of the identity to retrieve")
36
+ item_id: StrictStr = Field(description="Identifier of the item linked to the identity", alias="itemId")
37
+ birth_date: Optional[datetime] = Field(default=None, description="Date of birth", alias="birthDate")
38
+ tax_number: Optional[StrictStr] = Field(default=None, description="The tax ID (CNPJ) associated with the business account", alias="taxNumber")
39
+ document: Optional[StrictStr] = Field(default=None, description="Primary document that identifies the owner")
40
+ document_type: Optional[StrictStr] = Field(default=None, description="Type of document collected", alias="documentType")
41
+ job_title: Optional[StrictStr] = Field(default=None, description="Profession or Job information", alias="jobTitle")
42
+ full_name: Optional[StrictStr] = Field(default=None, description="Name of the owner of the account", alias="fullName")
43
+ establishment_code: Optional[StrictStr] = Field(default=None, description="Establishment code (only for PAYMENT_ACCOUNT connectors)", alias="establishmentCode")
44
+ establishment_name: Optional[StrictStr] = Field(default=None, description="Name of the establishment (only for PAYMENT_ACCOUNT connectors)", alias="establishmentName")
45
+ company_name: Optional[StrictStr] = Field(default=None, description="For business connector, the name of the business", alias="companyName")
46
+ phone_numbers: Optional[List[PhoneNumber]] = Field(default=None, description="List of phone numbers related to the account", alias="phoneNumbers")
47
+ emails: Optional[List[Email]] = Field(default=None, description="List of email addresses related to the account")
48
+ addresses: Optional[List[Address]] = Field(default=None, description="List of addresses related to the account")
49
+ relations: Optional[List[IdentityRelation]] = Field(default=None, description="List of names related to the account")
50
+ __properties: ClassVar[List[str]] = ["id", "itemId", "birthDate", "taxNumber", "document", "documentType", "jobTitle", "fullName", "establishmentCode", "establishmentName", "companyName", "phoneNumbers", "emails", "addresses", "relations"]
51
+
52
+ model_config = ConfigDict(
53
+ populate_by_name=True,
54
+ validate_assignment=True,
55
+ protected_namespaces=(),
56
+ )
57
+
58
+
59
+ def to_str(self) -> str:
60
+ """Returns the string representation of the model using alias"""
61
+ return pprint.pformat(self.model_dump(by_alias=True))
62
+
63
+ def to_json(self) -> str:
64
+ """Returns the JSON representation of the model using alias"""
65
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
66
+ return json.dumps(self.to_dict())
67
+
68
+ @classmethod
69
+ def from_json(cls, json_str: str) -> Optional[Self]:
70
+ """Create an instance of IdentityResponse from a JSON string"""
71
+ return cls.from_dict(json.loads(json_str))
72
+
73
+ def to_dict(self) -> Dict[str, Any]:
74
+ """Return the dictionary representation of the model using alias.
75
+
76
+ This has the following differences from calling pydantic's
77
+ `self.model_dump(by_alias=True)`:
78
+
79
+ * `None` is only added to the output dict for nullable fields that
80
+ were set at model initialization. Other fields with value `None`
81
+ are ignored.
82
+ """
83
+ excluded_fields: Set[str] = set([
84
+ ])
85
+
86
+ _dict = self.model_dump(
87
+ by_alias=True,
88
+ exclude=excluded_fields,
89
+ exclude_none=True,
90
+ )
91
+ # override the default output from pydantic by calling `to_dict()` of each item in phone_numbers (list)
92
+ _items = []
93
+ if self.phone_numbers:
94
+ for _item_phone_numbers in self.phone_numbers:
95
+ if _item_phone_numbers:
96
+ _items.append(_item_phone_numbers.to_dict())
97
+ _dict['phoneNumbers'] = _items
98
+ # override the default output from pydantic by calling `to_dict()` of each item in emails (list)
99
+ _items = []
100
+ if self.emails:
101
+ for _item_emails in self.emails:
102
+ if _item_emails:
103
+ _items.append(_item_emails.to_dict())
104
+ _dict['emails'] = _items
105
+ # override the default output from pydantic by calling `to_dict()` of each item in addresses (list)
106
+ _items = []
107
+ if self.addresses:
108
+ for _item_addresses in self.addresses:
109
+ if _item_addresses:
110
+ _items.append(_item_addresses.to_dict())
111
+ _dict['addresses'] = _items
112
+ # override the default output from pydantic by calling `to_dict()` of each item in relations (list)
113
+ _items = []
114
+ if self.relations:
115
+ for _item_relations in self.relations:
116
+ if _item_relations:
117
+ _items.append(_item_relations.to_dict())
118
+ _dict['relations'] = _items
119
+ return _dict
120
+
121
+ @classmethod
122
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
123
+ """Create an instance of IdentityResponse from a dict"""
124
+ if obj is None:
125
+ return None
126
+
127
+ if not isinstance(obj, dict):
128
+ return cls.model_validate(obj)
129
+
130
+ _obj = cls.model_validate({
131
+ "id": obj.get("id"),
132
+ "itemId": obj.get("itemId"),
133
+ "birthDate": obj.get("birthDate"),
134
+ "taxNumber": obj.get("taxNumber"),
135
+ "document": obj.get("document"),
136
+ "documentType": obj.get("documentType"),
137
+ "jobTitle": obj.get("jobTitle"),
138
+ "fullName": obj.get("fullName"),
139
+ "establishmentCode": obj.get("establishmentCode"),
140
+ "establishmentName": obj.get("establishmentName"),
141
+ "companyName": obj.get("companyName"),
142
+ "phoneNumbers": [PhoneNumber.from_dict(_item) for _item in obj["phoneNumbers"]] if obj.get("phoneNumbers") is not None else None,
143
+ "emails": [Email.from_dict(_item) for _item in obj["emails"]] if obj.get("emails") is not None else None,
144
+ "addresses": [Address.from_dict(_item) for _item in obj["addresses"]] if obj.get("addresses") is not None else None,
145
+ "relations": [IdentityRelation.from_dict(_item) for _item in obj["relations"]] if obj.get("relations") is not None else None
146
+ })
147
+ return _obj
148
+
149
+
@@ -0,0 +1,90 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class IncomeReport(BaseModel):
27
+ """
28
+ Income report entity
29
+ """ # noqa: E501
30
+ url: Optional[StrictStr] = Field(default=None, description="URL of the income report file available to be downloaded from Amazon S3")
31
+ year: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Year to which the income report belongs")
32
+ __properties: ClassVar[List[str]] = ["url", "year"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of IncomeReport from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of IncomeReport from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "url": obj.get("url"),
86
+ "year": obj.get("year")
87
+ })
88
+ return _obj
89
+
90
+
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from pluggy_sdk.models.income_report import IncomeReport
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class IncomeReportsResponse(BaseModel):
28
+ """
29
+ Response with the pages of metadata of the income reports files uploaded to Amazon S3
30
+ """ # noqa: E501
31
+ page: Optional[Union[StrictFloat, StrictInt]] = None
32
+ total: Optional[Union[StrictFloat, StrictInt]] = None
33
+ total_pages: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="totalPages")
34
+ results: Optional[List[IncomeReport]] = Field(default=None, description="Array with the metadata of every income report")
35
+ __properties: ClassVar[List[str]] = ["page", "total", "totalPages", "results"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of IncomeReportsResponse from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # override the default output from pydantic by calling `to_dict()` of each item in results (list)
77
+ _items = []
78
+ if self.results:
79
+ for _item_results in self.results:
80
+ if _item_results:
81
+ _items.append(_item_results.to_dict())
82
+ _dict['results'] = _items
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of IncomeReportsResponse from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "page": obj.get("page"),
96
+ "total": obj.get("total"),
97
+ "totalPages": obj.get("totalPages"),
98
+ "results": [IncomeReport.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
99
+ })
100
+ return _obj
101
+
102
+