modern_treasury 0.11.0 → 0.12.0

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +10 -1
  4. data/lib/modern_treasury/internal/transport/pooled_net_requester.rb +12 -10
  5. data/lib/modern_treasury/internal/util.rb +7 -2
  6. data/lib/modern_treasury/models/bulk_request_create_params.rb +146 -2
  7. data/lib/modern_treasury/models/child_legal_entity.rb +609 -0
  8. data/lib/modern_treasury/models/child_legal_entity_create.rb +63 -1
  9. data/lib/modern_treasury/models/connection_legal_entity.rb +2 -0
  10. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +54 -63
  11. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +2 -0
  12. data/lib/modern_treasury/models/counterparty_create_params.rb +54 -59
  13. data/lib/modern_treasury/models/expected_payment.rb +69 -1
  14. data/lib/modern_treasury/models/expected_payment_create_params.rb +65 -1
  15. data/lib/modern_treasury/models/expected_payment_update_params.rb +65 -1
  16. data/lib/modern_treasury/models/incoming_payment_detail.rb +5 -0
  17. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +5 -0
  18. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +5 -0
  19. data/lib/modern_treasury/models/internal_account.rb +10 -1
  20. data/lib/modern_treasury/models/internal_account_update_params.rb +9 -1
  21. data/lib/modern_treasury/models/invoice.rb +2 -0
  22. data/lib/modern_treasury/models/invoice_create_params.rb +1 -19
  23. data/lib/modern_treasury/models/invoice_update_params.rb +1 -19
  24. data/lib/modern_treasury/models/ledger_entry.rb +10 -1
  25. data/lib/modern_treasury/models/ledger_entry_create_request.rb +10 -1
  26. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +10 -1
  27. data/lib/modern_treasury/models/legal_entity.rb +61 -11
  28. data/lib/modern_treasury/models/legal_entity_association.rb +3 -559
  29. data/lib/modern_treasury/models/legal_entity_association_inline_create.rb +60 -0
  30. data/lib/modern_treasury/models/legal_entity_create_params.rb +54 -59
  31. data/lib/modern_treasury/models/legal_entity_update_params.rb +51 -1
  32. data/lib/modern_treasury/models/payment_order.rb +4 -0
  33. data/lib/modern_treasury/models/payment_reference.rb +4 -0
  34. data/lib/modern_treasury/models/return_object.rb +5 -0
  35. data/lib/modern_treasury/models/transaction.rb +1 -0
  36. data/lib/modern_treasury/models.rb +4 -0
  37. data/lib/modern_treasury/resources/expected_payments.rb +18 -2
  38. data/lib/modern_treasury/resources/internal_accounts.rb +3 -1
  39. data/lib/modern_treasury/resources/invoices.rb +2 -10
  40. data/lib/modern_treasury/resources/ledger_accounts.rb +3 -3
  41. data/lib/modern_treasury/resources/ledger_transactions.rb +5 -2
  42. data/lib/modern_treasury/resources/legal_entities.rb +27 -3
  43. data/lib/modern_treasury/version.rb +1 -1
  44. data/lib/modern_treasury.rb +3 -0
  45. data/manifest.yaml +1 -0
  46. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +272 -0
  47. data/rbi/modern_treasury/models/child_legal_entity.rbi +969 -0
  48. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +78 -0
  49. data/rbi/modern_treasury/models/connection_legal_entity.rbi +10 -0
  50. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +61 -135
  51. data/rbi/modern_treasury/models/connection_legal_entity_list_params.rbi +10 -0
  52. data/rbi/modern_treasury/models/counterparty_create_params.rbi +61 -135
  53. data/rbi/modern_treasury/models/expected_payment.rbi +136 -0
  54. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +136 -0
  55. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +136 -0
  56. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +25 -0
  57. data/rbi/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +25 -0
  58. data/rbi/modern_treasury/models/incoming_payment_detail_list_params.rbi +25 -0
  59. data/rbi/modern_treasury/models/internal_account.rbi +10 -0
  60. data/rbi/modern_treasury/models/internal_account_update_params.rbi +11 -0
  61. data/rbi/modern_treasury/models/invoice_create_params.rbi +0 -20
  62. data/rbi/modern_treasury/models/invoice_update_params.rbi +0 -20
  63. data/rbi/modern_treasury/models/ledger_entry.rbi +10 -0
  64. data/rbi/modern_treasury/models/ledger_entry_create_request.rbi +13 -0
  65. data/rbi/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +10 -0
  66. data/rbi/modern_treasury/models/legal_entity.rbi +67 -15
  67. data/rbi/modern_treasury/models/legal_entity_association.rbi +4 -962
  68. data/rbi/modern_treasury/models/legal_entity_association_inline_create.rbi +130 -0
  69. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +61 -134
  70. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +58 -0
  71. data/rbi/modern_treasury/models/payment_order.rbi +20 -0
  72. data/rbi/modern_treasury/models/payment_reference.rbi +20 -0
  73. data/rbi/modern_treasury/models/return_object.rbi +22 -0
  74. data/rbi/modern_treasury/models/transaction.rbi +5 -0
  75. data/rbi/modern_treasury/models.rbi +5 -0
  76. data/rbi/modern_treasury/resources/expected_payments.rbi +44 -0
  77. data/rbi/modern_treasury/resources/internal_accounts.rbi +3 -0
  78. data/rbi/modern_treasury/resources/invoices.rbi +0 -16
  79. data/rbi/modern_treasury/resources/ledger_accounts.rbi +3 -3
  80. data/rbi/modern_treasury/resources/ledger_transactions.rbi +3 -2
  81. data/rbi/modern_treasury/resources/legal_entities.rbi +41 -1
  82. data/sig/modern_treasury/models/bulk_request_create_params.rbs +84 -0
  83. data/sig/modern_treasury/models/child_legal_entity.rbs +469 -0
  84. data/sig/modern_treasury/models/child_legal_entity_create.rbs +39 -0
  85. data/sig/modern_treasury/models/connection_legal_entity.rbs +4 -1
  86. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +38 -60
  87. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +4 -1
  88. data/sig/modern_treasury/models/counterparty_create_params.rbs +38 -60
  89. data/sig/modern_treasury/models/expected_payment.rbs +42 -0
  90. data/sig/modern_treasury/models/expected_payment_create_params.rbs +42 -0
  91. data/sig/modern_treasury/models/expected_payment_update_params.rbs +42 -0
  92. data/sig/modern_treasury/models/incoming_payment_detail.rbs +10 -0
  93. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +10 -0
  94. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +10 -0
  95. data/sig/modern_treasury/models/internal_account.rbs +5 -0
  96. data/sig/modern_treasury/models/internal_account_update_params.rbs +7 -0
  97. data/sig/modern_treasury/models/invoice_create_params.rbs +0 -10
  98. data/sig/modern_treasury/models/invoice_update_params.rbs +0 -10
  99. data/sig/modern_treasury/models/ledger_entry.rbs +5 -0
  100. data/sig/modern_treasury/models/ledger_entry_create_request.rbs +7 -0
  101. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +5 -0
  102. data/sig/modern_treasury/models/legal_entity.rbs +38 -8
  103. data/sig/modern_treasury/models/legal_entity_association.rbs +4 -435
  104. data/sig/modern_treasury/models/legal_entity_association_inline_create.rbs +59 -0
  105. data/sig/modern_treasury/models/legal_entity_create_params.rbs +38 -60
  106. data/sig/modern_treasury/models/legal_entity_update_params.rbs +34 -0
  107. data/sig/modern_treasury/models/payment_order.rbs +8 -0
  108. data/sig/modern_treasury/models/payment_reference.rbs +8 -0
  109. data/sig/modern_treasury/models/return_object.rbs +10 -0
  110. data/sig/modern_treasury/models/transaction.rbs +2 -0
  111. data/sig/modern_treasury/models.rbs +4 -0
  112. data/sig/modern_treasury/resources/expected_payments.rbs +8 -0
  113. data/sig/modern_treasury/resources/internal_accounts.rbs +1 -0
  114. data/sig/modern_treasury/resources/invoices.rbs +0 -4
  115. data/sig/modern_treasury/resources/legal_entities.rbs +13 -1
  116. metadata +8 -2
@@ -0,0 +1,969 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class ChildLegalEntity < ModernTreasury::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ModernTreasury::ChildLegalEntity,
10
+ ModernTreasury::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ # A list of addresses for the entity.
18
+ sig { returns(T::Array[ModernTreasury::ChildLegalEntity::Address]) }
19
+ attr_accessor :addresses
20
+
21
+ sig { returns(T.nilable(ModernTreasury::LegalEntityBankSettings)) }
22
+ attr_reader :bank_settings
23
+
24
+ sig do
25
+ params(
26
+ bank_settings:
27
+ T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash)
28
+ ).void
29
+ end
30
+ attr_writer :bank_settings
31
+
32
+ # A description of the business.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :business_description
35
+
36
+ # The business's legal business name.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :business_name
39
+
40
+ # The country of citizenship for an individual.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_accessor :citizenship_country
43
+
44
+ sig { returns(T.nilable(ModernTreasury::LegalEntityComplianceDetail)) }
45
+ attr_reader :compliance_details
46
+
47
+ sig do
48
+ params(
49
+ compliance_details:
50
+ T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash)
51
+ ).void
52
+ end
53
+ attr_writer :compliance_details
54
+
55
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
56
+ # alpha-3 formats.
57
+ sig { returns(T.nilable(String)) }
58
+ attr_accessor :country_of_incorporation
59
+
60
+ sig { returns(Time) }
61
+ attr_accessor :created_at
62
+
63
+ # A business's formation date (YYYY-MM-DD).
64
+ sig { returns(T.nilable(Date)) }
65
+ attr_accessor :date_formed
66
+
67
+ # An individual's date of birth (YYYY-MM-DD).
68
+ sig { returns(T.nilable(Date)) }
69
+ attr_accessor :date_of_birth
70
+
71
+ sig { returns(T.nilable(Time)) }
72
+ attr_accessor :discarded_at
73
+
74
+ sig { returns(T::Array[String]) }
75
+ attr_accessor :doing_business_as_names
76
+
77
+ # The entity's primary email.
78
+ sig { returns(T.nilable(String)) }
79
+ attr_accessor :email
80
+
81
+ # Monthly expected transaction volume in entity's local currency.
82
+ sig { returns(T.nilable(Integer)) }
83
+ attr_accessor :expected_activity_volume
84
+
85
+ # An individual's first name.
86
+ sig { returns(T.nilable(String)) }
87
+ attr_accessor :first_name
88
+
89
+ # A list of identifications for the legal entity.
90
+ sig do
91
+ returns(T::Array[ModernTreasury::ChildLegalEntity::Identification])
92
+ end
93
+ attr_accessor :identifications
94
+
95
+ # A list of industry classifications for the legal entity.
96
+ sig do
97
+ returns(T::Array[ModernTreasury::LegalEntityIndustryClassification])
98
+ end
99
+ attr_accessor :industry_classifications
100
+
101
+ # A description of the intended use of the legal entity.
102
+ sig { returns(T.nilable(String)) }
103
+ attr_accessor :intended_use
104
+
105
+ # An individual's last name.
106
+ sig { returns(T.nilable(String)) }
107
+ attr_accessor :last_name
108
+
109
+ # The legal entity associations and its child legal entities.
110
+ sig do
111
+ returns(T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]))
112
+ end
113
+ attr_accessor :legal_entity_associations
114
+
115
+ # The type of legal entity.
116
+ sig do
117
+ returns(ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol)
118
+ end
119
+ attr_accessor :legal_entity_type
120
+
121
+ # The business's legal structure.
122
+ sig do
123
+ returns(
124
+ T.nilable(
125
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
126
+ )
127
+ )
128
+ end
129
+ attr_accessor :legal_structure
130
+
131
+ # This field will be true if this object exists in the live environment or false
132
+ # if it exists in the test environment.
133
+ sig { returns(T::Boolean) }
134
+ attr_accessor :live_mode
135
+
136
+ # Additional data represented as key-value pairs. Both the key and value must be
137
+ # strings.
138
+ sig { returns(T::Hash[Symbol, String]) }
139
+ attr_accessor :metadata
140
+
141
+ # An individual's middle name.
142
+ sig { returns(T.nilable(String)) }
143
+ attr_accessor :middle_name
144
+
145
+ sig { returns(String) }
146
+ attr_accessor :object
147
+
148
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
149
+ # codes).
150
+ sig { returns(T::Array[String]) }
151
+ attr_accessor :operating_jurisdictions
152
+
153
+ sig { returns(T::Array[ModernTreasury::ChildLegalEntity::PhoneNumber]) }
154
+ attr_accessor :phone_numbers
155
+
156
+ # Whether the individual is a politically exposed person.
157
+ sig { returns(T.nilable(T::Boolean)) }
158
+ attr_accessor :politically_exposed_person
159
+
160
+ # An individual's preferred name.
161
+ sig { returns(T.nilable(String)) }
162
+ attr_accessor :preferred_name
163
+
164
+ # An individual's prefix.
165
+ sig { returns(T.nilable(String)) }
166
+ attr_accessor :prefix
167
+
168
+ # A list of primary social media URLs for the business.
169
+ sig { returns(T::Array[String]) }
170
+ attr_accessor :primary_social_media_sites
171
+
172
+ # The risk rating of the legal entity. One of low, medium, high.
173
+ sig do
174
+ returns(
175
+ T.nilable(ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol)
176
+ )
177
+ end
178
+ attr_accessor :risk_rating
179
+
180
+ # An individual's suffix.
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :suffix
183
+
184
+ sig { returns(Time) }
185
+ attr_accessor :updated_at
186
+
187
+ sig do
188
+ returns(T.nilable(ModernTreasury::LegalEntityWealthEmploymentDetail))
189
+ end
190
+ attr_reader :wealth_and_employment_details
191
+
192
+ sig do
193
+ params(
194
+ wealth_and_employment_details:
195
+ T.nilable(ModernTreasury::LegalEntityWealthEmploymentDetail::OrHash)
196
+ ).void
197
+ end
198
+ attr_writer :wealth_and_employment_details
199
+
200
+ # The entity's primary website URL.
201
+ sig { returns(T.nilable(String)) }
202
+ attr_accessor :website
203
+
204
+ sig do
205
+ params(
206
+ id: String,
207
+ addresses:
208
+ T::Array[ModernTreasury::ChildLegalEntity::Address::OrHash],
209
+ bank_settings:
210
+ T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash),
211
+ business_description: T.nilable(String),
212
+ business_name: T.nilable(String),
213
+ citizenship_country: T.nilable(String),
214
+ compliance_details:
215
+ T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash),
216
+ country_of_incorporation: T.nilable(String),
217
+ created_at: Time,
218
+ date_formed: T.nilable(Date),
219
+ date_of_birth: T.nilable(Date),
220
+ discarded_at: T.nilable(Time),
221
+ doing_business_as_names: T::Array[String],
222
+ email: T.nilable(String),
223
+ expected_activity_volume: T.nilable(Integer),
224
+ first_name: T.nilable(String),
225
+ identifications:
226
+ T::Array[ModernTreasury::ChildLegalEntity::Identification::OrHash],
227
+ industry_classifications:
228
+ T::Array[ModernTreasury::LegalEntityIndustryClassification::OrHash],
229
+ intended_use: T.nilable(String),
230
+ last_name: T.nilable(String),
231
+ legal_entity_associations:
232
+ T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]),
233
+ legal_entity_type:
234
+ ModernTreasury::ChildLegalEntity::LegalEntityType::OrSymbol,
235
+ legal_structure:
236
+ T.nilable(
237
+ ModernTreasury::ChildLegalEntity::LegalStructure::OrSymbol
238
+ ),
239
+ live_mode: T::Boolean,
240
+ metadata: T::Hash[Symbol, String],
241
+ middle_name: T.nilable(String),
242
+ object: String,
243
+ operating_jurisdictions: T::Array[String],
244
+ phone_numbers:
245
+ T::Array[ModernTreasury::ChildLegalEntity::PhoneNumber::OrHash],
246
+ politically_exposed_person: T.nilable(T::Boolean),
247
+ preferred_name: T.nilable(String),
248
+ prefix: T.nilable(String),
249
+ primary_social_media_sites: T::Array[String],
250
+ risk_rating:
251
+ T.nilable(ModernTreasury::ChildLegalEntity::RiskRating::OrSymbol),
252
+ suffix: T.nilable(String),
253
+ updated_at: Time,
254
+ wealth_and_employment_details:
255
+ T.nilable(
256
+ ModernTreasury::LegalEntityWealthEmploymentDetail::OrHash
257
+ ),
258
+ website: T.nilable(String)
259
+ ).returns(T.attached_class)
260
+ end
261
+ def self.new(
262
+ id:,
263
+ # A list of addresses for the entity.
264
+ addresses:,
265
+ bank_settings:,
266
+ # A description of the business.
267
+ business_description:,
268
+ # The business's legal business name.
269
+ business_name:,
270
+ # The country of citizenship for an individual.
271
+ citizenship_country:,
272
+ compliance_details:,
273
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
274
+ # alpha-3 formats.
275
+ country_of_incorporation:,
276
+ created_at:,
277
+ # A business's formation date (YYYY-MM-DD).
278
+ date_formed:,
279
+ # An individual's date of birth (YYYY-MM-DD).
280
+ date_of_birth:,
281
+ discarded_at:,
282
+ doing_business_as_names:,
283
+ # The entity's primary email.
284
+ email:,
285
+ # Monthly expected transaction volume in entity's local currency.
286
+ expected_activity_volume:,
287
+ # An individual's first name.
288
+ first_name:,
289
+ # A list of identifications for the legal entity.
290
+ identifications:,
291
+ # A list of industry classifications for the legal entity.
292
+ industry_classifications:,
293
+ # A description of the intended use of the legal entity.
294
+ intended_use:,
295
+ # An individual's last name.
296
+ last_name:,
297
+ # The legal entity associations and its child legal entities.
298
+ legal_entity_associations:,
299
+ # The type of legal entity.
300
+ legal_entity_type:,
301
+ # The business's legal structure.
302
+ legal_structure:,
303
+ # This field will be true if this object exists in the live environment or false
304
+ # if it exists in the test environment.
305
+ live_mode:,
306
+ # Additional data represented as key-value pairs. Both the key and value must be
307
+ # strings.
308
+ metadata:,
309
+ # An individual's middle name.
310
+ middle_name:,
311
+ object:,
312
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
313
+ # codes).
314
+ operating_jurisdictions:,
315
+ phone_numbers:,
316
+ # Whether the individual is a politically exposed person.
317
+ politically_exposed_person:,
318
+ # An individual's preferred name.
319
+ preferred_name:,
320
+ # An individual's prefix.
321
+ prefix:,
322
+ # A list of primary social media URLs for the business.
323
+ primary_social_media_sites:,
324
+ # The risk rating of the legal entity. One of low, medium, high.
325
+ risk_rating:,
326
+ # An individual's suffix.
327
+ suffix:,
328
+ updated_at:,
329
+ wealth_and_employment_details:,
330
+ # The entity's primary website URL.
331
+ website:
332
+ )
333
+ end
334
+
335
+ sig do
336
+ override.returns(
337
+ {
338
+ id: String,
339
+ addresses: T::Array[ModernTreasury::ChildLegalEntity::Address],
340
+ bank_settings: T.nilable(ModernTreasury::LegalEntityBankSettings),
341
+ business_description: T.nilable(String),
342
+ business_name: T.nilable(String),
343
+ citizenship_country: T.nilable(String),
344
+ compliance_details:
345
+ T.nilable(ModernTreasury::LegalEntityComplianceDetail),
346
+ country_of_incorporation: T.nilable(String),
347
+ created_at: Time,
348
+ date_formed: T.nilable(Date),
349
+ date_of_birth: T.nilable(Date),
350
+ discarded_at: T.nilable(Time),
351
+ doing_business_as_names: T::Array[String],
352
+ email: T.nilable(String),
353
+ expected_activity_volume: T.nilable(Integer),
354
+ first_name: T.nilable(String),
355
+ identifications:
356
+ T::Array[ModernTreasury::ChildLegalEntity::Identification],
357
+ industry_classifications:
358
+ T::Array[ModernTreasury::LegalEntityIndustryClassification],
359
+ intended_use: T.nilable(String),
360
+ last_name: T.nilable(String),
361
+ legal_entity_associations:
362
+ T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]),
363
+ legal_entity_type:
364
+ ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol,
365
+ legal_structure:
366
+ T.nilable(
367
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
368
+ ),
369
+ live_mode: T::Boolean,
370
+ metadata: T::Hash[Symbol, String],
371
+ middle_name: T.nilable(String),
372
+ object: String,
373
+ operating_jurisdictions: T::Array[String],
374
+ phone_numbers:
375
+ T::Array[ModernTreasury::ChildLegalEntity::PhoneNumber],
376
+ politically_exposed_person: T.nilable(T::Boolean),
377
+ preferred_name: T.nilable(String),
378
+ prefix: T.nilable(String),
379
+ primary_social_media_sites: T::Array[String],
380
+ risk_rating:
381
+ T.nilable(
382
+ ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol
383
+ ),
384
+ suffix: T.nilable(String),
385
+ updated_at: Time,
386
+ wealth_and_employment_details:
387
+ T.nilable(ModernTreasury::LegalEntityWealthEmploymentDetail),
388
+ website: T.nilable(String)
389
+ }
390
+ )
391
+ end
392
+ def to_hash
393
+ end
394
+
395
+ class Address < ModernTreasury::Internal::Type::BaseModel
396
+ OrHash =
397
+ T.type_alias do
398
+ T.any(
399
+ ModernTreasury::ChildLegalEntity::Address,
400
+ ModernTreasury::Internal::AnyHash
401
+ )
402
+ end
403
+
404
+ sig { returns(String) }
405
+ attr_accessor :id
406
+
407
+ # The types of this address.
408
+ sig do
409
+ returns(
410
+ T::Array[
411
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
412
+ ]
413
+ )
414
+ end
415
+ attr_accessor :address_types
416
+
417
+ # Country code conforms to [ISO 3166-1 alpha-2]
418
+ sig { returns(T.nilable(String)) }
419
+ attr_accessor :country
420
+
421
+ sig { returns(Time) }
422
+ attr_accessor :created_at
423
+
424
+ sig { returns(T.nilable(Time)) }
425
+ attr_accessor :discarded_at
426
+
427
+ sig { returns(T.nilable(String)) }
428
+ attr_accessor :line1
429
+
430
+ sig { returns(T.nilable(String)) }
431
+ attr_accessor :line2
432
+
433
+ # This field will be true if this object exists in the live environment or false
434
+ # if it exists in the test environment.
435
+ sig { returns(T::Boolean) }
436
+ attr_accessor :live_mode
437
+
438
+ # Locality or City.
439
+ sig { returns(T.nilable(String)) }
440
+ attr_accessor :locality
441
+
442
+ sig { returns(String) }
443
+ attr_accessor :object
444
+
445
+ # The postal code of the address.
446
+ sig { returns(T.nilable(String)) }
447
+ attr_accessor :postal_code
448
+
449
+ # Region or State.
450
+ sig { returns(T.nilable(String)) }
451
+ attr_accessor :region
452
+
453
+ sig { returns(Time) }
454
+ attr_accessor :updated_at
455
+
456
+ sig do
457
+ params(
458
+ id: String,
459
+ address_types:
460
+ T::Array[
461
+ ModernTreasury::ChildLegalEntity::Address::AddressType::OrSymbol
462
+ ],
463
+ country: T.nilable(String),
464
+ created_at: Time,
465
+ discarded_at: T.nilable(Time),
466
+ line1: T.nilable(String),
467
+ line2: T.nilable(String),
468
+ live_mode: T::Boolean,
469
+ locality: T.nilable(String),
470
+ object: String,
471
+ postal_code: T.nilable(String),
472
+ region: T.nilable(String),
473
+ updated_at: Time
474
+ ).returns(T.attached_class)
475
+ end
476
+ def self.new(
477
+ id:,
478
+ # The types of this address.
479
+ address_types:,
480
+ # Country code conforms to [ISO 3166-1 alpha-2]
481
+ country:,
482
+ created_at:,
483
+ discarded_at:,
484
+ line1:,
485
+ line2:,
486
+ # This field will be true if this object exists in the live environment or false
487
+ # if it exists in the test environment.
488
+ live_mode:,
489
+ # Locality or City.
490
+ locality:,
491
+ object:,
492
+ # The postal code of the address.
493
+ postal_code:,
494
+ # Region or State.
495
+ region:,
496
+ updated_at:
497
+ )
498
+ end
499
+
500
+ sig do
501
+ override.returns(
502
+ {
503
+ id: String,
504
+ address_types:
505
+ T::Array[
506
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
507
+ ],
508
+ country: T.nilable(String),
509
+ created_at: Time,
510
+ discarded_at: T.nilable(Time),
511
+ line1: T.nilable(String),
512
+ line2: T.nilable(String),
513
+ live_mode: T::Boolean,
514
+ locality: T.nilable(String),
515
+ object: String,
516
+ postal_code: T.nilable(String),
517
+ region: T.nilable(String),
518
+ updated_at: Time
519
+ }
520
+ )
521
+ end
522
+ def to_hash
523
+ end
524
+
525
+ module AddressType
526
+ extend ModernTreasury::Internal::Type::Enum
527
+
528
+ TaggedSymbol =
529
+ T.type_alias do
530
+ T.all(
531
+ Symbol,
532
+ ModernTreasury::ChildLegalEntity::Address::AddressType
533
+ )
534
+ end
535
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
536
+
537
+ BUSINESS =
538
+ T.let(
539
+ :business,
540
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
541
+ )
542
+ MAILING =
543
+ T.let(
544
+ :mailing,
545
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
546
+ )
547
+ OTHER =
548
+ T.let(
549
+ :other,
550
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
551
+ )
552
+ PO_BOX =
553
+ T.let(
554
+ :po_box,
555
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
556
+ )
557
+ RESIDENTIAL =
558
+ T.let(
559
+ :residential,
560
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
561
+ )
562
+
563
+ sig do
564
+ override.returns(
565
+ T::Array[
566
+ ModernTreasury::ChildLegalEntity::Address::AddressType::TaggedSymbol
567
+ ]
568
+ )
569
+ end
570
+ def self.values
571
+ end
572
+ end
573
+ end
574
+
575
+ class Identification < ModernTreasury::Internal::Type::BaseModel
576
+ OrHash =
577
+ T.type_alias do
578
+ T.any(
579
+ ModernTreasury::ChildLegalEntity::Identification,
580
+ ModernTreasury::Internal::AnyHash
581
+ )
582
+ end
583
+
584
+ sig { returns(String) }
585
+ attr_accessor :id
586
+
587
+ sig { returns(Time) }
588
+ attr_accessor :created_at
589
+
590
+ sig { returns(T.nilable(Time)) }
591
+ attr_accessor :discarded_at
592
+
593
+ # The date when the Identification is no longer considered valid by the issuing
594
+ # authority.
595
+ sig { returns(T.nilable(Date)) }
596
+ attr_accessor :expiration_date
597
+
598
+ # The type of ID number.
599
+ sig do
600
+ returns(
601
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
602
+ )
603
+ end
604
+ attr_accessor :id_type
605
+
606
+ # The ISO 3166-1 alpha-2 country code of the country that issued the
607
+ # identification
608
+ sig { returns(T.nilable(String)) }
609
+ attr_accessor :issuing_country
610
+
611
+ # The region in which the identifcation was issued.
612
+ sig { returns(T.nilable(String)) }
613
+ attr_accessor :issuing_region
614
+
615
+ # This field will be true if this object exists in the live environment or false
616
+ # if it exists in the test environment.
617
+ sig { returns(T::Boolean) }
618
+ attr_accessor :live_mode
619
+
620
+ sig { returns(String) }
621
+ attr_accessor :object
622
+
623
+ sig { returns(Time) }
624
+ attr_accessor :updated_at
625
+
626
+ sig do
627
+ params(
628
+ id: String,
629
+ created_at: Time,
630
+ discarded_at: T.nilable(Time),
631
+ expiration_date: T.nilable(Date),
632
+ id_type:
633
+ ModernTreasury::ChildLegalEntity::Identification::IDType::OrSymbol,
634
+ issuing_country: T.nilable(String),
635
+ issuing_region: T.nilable(String),
636
+ live_mode: T::Boolean,
637
+ object: String,
638
+ updated_at: Time
639
+ ).returns(T.attached_class)
640
+ end
641
+ def self.new(
642
+ id:,
643
+ created_at:,
644
+ discarded_at:,
645
+ # The date when the Identification is no longer considered valid by the issuing
646
+ # authority.
647
+ expiration_date:,
648
+ # The type of ID number.
649
+ id_type:,
650
+ # The ISO 3166-1 alpha-2 country code of the country that issued the
651
+ # identification
652
+ issuing_country:,
653
+ # The region in which the identifcation was issued.
654
+ issuing_region:,
655
+ # This field will be true if this object exists in the live environment or false
656
+ # if it exists in the test environment.
657
+ live_mode:,
658
+ object:,
659
+ updated_at:
660
+ )
661
+ end
662
+
663
+ sig do
664
+ override.returns(
665
+ {
666
+ id: String,
667
+ created_at: Time,
668
+ discarded_at: T.nilable(Time),
669
+ expiration_date: T.nilable(Date),
670
+ id_type:
671
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol,
672
+ issuing_country: T.nilable(String),
673
+ issuing_region: T.nilable(String),
674
+ live_mode: T::Boolean,
675
+ object: String,
676
+ updated_at: Time
677
+ }
678
+ )
679
+ end
680
+ def to_hash
681
+ end
682
+
683
+ # The type of ID number.
684
+ module IDType
685
+ extend ModernTreasury::Internal::Type::Enum
686
+
687
+ TaggedSymbol =
688
+ T.type_alias do
689
+ T.all(
690
+ Symbol,
691
+ ModernTreasury::ChildLegalEntity::Identification::IDType
692
+ )
693
+ end
694
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
695
+
696
+ AR_CUIL =
697
+ T.let(
698
+ :ar_cuil,
699
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
700
+ )
701
+ AR_CUIT =
702
+ T.let(
703
+ :ar_cuit,
704
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
705
+ )
706
+ BR_CNPJ =
707
+ T.let(
708
+ :br_cnpj,
709
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
710
+ )
711
+ BR_CPF =
712
+ T.let(
713
+ :br_cpf,
714
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
715
+ )
716
+ CL_RUN =
717
+ T.let(
718
+ :cl_run,
719
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
720
+ )
721
+ CL_RUT =
722
+ T.let(
723
+ :cl_rut,
724
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
725
+ )
726
+ CO_CEDULAS =
727
+ T.let(
728
+ :co_cedulas,
729
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
730
+ )
731
+ CO_NIT =
732
+ T.let(
733
+ :co_nit,
734
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
735
+ )
736
+ DRIVERS_LICENSE =
737
+ T.let(
738
+ :drivers_license,
739
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
740
+ )
741
+ HN_ID =
742
+ T.let(
743
+ :hn_id,
744
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
745
+ )
746
+ HN_RTN =
747
+ T.let(
748
+ :hn_rtn,
749
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
750
+ )
751
+ IN_LEI =
752
+ T.let(
753
+ :in_lei,
754
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
755
+ )
756
+ KR_BRN =
757
+ T.let(
758
+ :kr_brn,
759
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
760
+ )
761
+ KR_CRN =
762
+ T.let(
763
+ :kr_crn,
764
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
765
+ )
766
+ KR_RRN =
767
+ T.let(
768
+ :kr_rrn,
769
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
770
+ )
771
+ PASSPORT =
772
+ T.let(
773
+ :passport,
774
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
775
+ )
776
+ SA_TIN =
777
+ T.let(
778
+ :sa_tin,
779
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
780
+ )
781
+ SA_VAT =
782
+ T.let(
783
+ :sa_vat,
784
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
785
+ )
786
+ US_EIN =
787
+ T.let(
788
+ :us_ein,
789
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
790
+ )
791
+ US_ITIN =
792
+ T.let(
793
+ :us_itin,
794
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
795
+ )
796
+ US_SSN =
797
+ T.let(
798
+ :us_ssn,
799
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
800
+ )
801
+ VN_TIN =
802
+ T.let(
803
+ :vn_tin,
804
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
805
+ )
806
+
807
+ sig do
808
+ override.returns(
809
+ T::Array[
810
+ ModernTreasury::ChildLegalEntity::Identification::IDType::TaggedSymbol
811
+ ]
812
+ )
813
+ end
814
+ def self.values
815
+ end
816
+ end
817
+ end
818
+
819
+ # The type of legal entity.
820
+ module LegalEntityType
821
+ extend ModernTreasury::Internal::Type::Enum
822
+
823
+ TaggedSymbol =
824
+ T.type_alias do
825
+ T.all(Symbol, ModernTreasury::ChildLegalEntity::LegalEntityType)
826
+ end
827
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
828
+
829
+ BUSINESS =
830
+ T.let(
831
+ :business,
832
+ ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol
833
+ )
834
+ INDIVIDUAL =
835
+ T.let(
836
+ :individual,
837
+ ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol
838
+ )
839
+ JOINT =
840
+ T.let(
841
+ :joint,
842
+ ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol
843
+ )
844
+
845
+ sig do
846
+ override.returns(
847
+ T::Array[
848
+ ModernTreasury::ChildLegalEntity::LegalEntityType::TaggedSymbol
849
+ ]
850
+ )
851
+ end
852
+ def self.values
853
+ end
854
+ end
855
+
856
+ # The business's legal structure.
857
+ module LegalStructure
858
+ extend ModernTreasury::Internal::Type::Enum
859
+
860
+ TaggedSymbol =
861
+ T.type_alias do
862
+ T.all(Symbol, ModernTreasury::ChildLegalEntity::LegalStructure)
863
+ end
864
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
865
+
866
+ CORPORATION =
867
+ T.let(
868
+ :corporation,
869
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
870
+ )
871
+ LLC =
872
+ T.let(
873
+ :llc,
874
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
875
+ )
876
+ NON_PROFIT =
877
+ T.let(
878
+ :non_profit,
879
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
880
+ )
881
+ PARTNERSHIP =
882
+ T.let(
883
+ :partnership,
884
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
885
+ )
886
+ SOLE_PROPRIETORSHIP =
887
+ T.let(
888
+ :sole_proprietorship,
889
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
890
+ )
891
+ TRUST =
892
+ T.let(
893
+ :trust,
894
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
895
+ )
896
+
897
+ sig do
898
+ override.returns(
899
+ T::Array[
900
+ ModernTreasury::ChildLegalEntity::LegalStructure::TaggedSymbol
901
+ ]
902
+ )
903
+ end
904
+ def self.values
905
+ end
906
+ end
907
+
908
+ class PhoneNumber < ModernTreasury::Internal::Type::BaseModel
909
+ OrHash =
910
+ T.type_alias do
911
+ T.any(
912
+ ModernTreasury::ChildLegalEntity::PhoneNumber,
913
+ ModernTreasury::Internal::AnyHash
914
+ )
915
+ end
916
+
917
+ sig { returns(T.nilable(String)) }
918
+ attr_reader :phone_number
919
+
920
+ sig { params(phone_number: String).void }
921
+ attr_writer :phone_number
922
+
923
+ # A list of phone numbers in E.164 format.
924
+ sig { params(phone_number: String).returns(T.attached_class) }
925
+ def self.new(phone_number: nil)
926
+ end
927
+
928
+ sig { override.returns({ phone_number: String }) }
929
+ def to_hash
930
+ end
931
+ end
932
+
933
+ # The risk rating of the legal entity. One of low, medium, high.
934
+ module RiskRating
935
+ extend ModernTreasury::Internal::Type::Enum
936
+
937
+ TaggedSymbol =
938
+ T.type_alias do
939
+ T.all(Symbol, ModernTreasury::ChildLegalEntity::RiskRating)
940
+ end
941
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
942
+
943
+ LOW =
944
+ T.let(
945
+ :low,
946
+ ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol
947
+ )
948
+ MEDIUM =
949
+ T.let(
950
+ :medium,
951
+ ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol
952
+ )
953
+ HIGH =
954
+ T.let(
955
+ :high,
956
+ ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol
957
+ )
958
+
959
+ sig do
960
+ override.returns(
961
+ T::Array[ModernTreasury::ChildLegalEntity::RiskRating::TaggedSymbol]
962
+ )
963
+ end
964
+ def self.values
965
+ end
966
+ end
967
+ end
968
+ end
969
+ end