modern_treasury 0.10.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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +10 -1
  4. data/lib/modern_treasury/client.rb +12 -0
  5. data/lib/modern_treasury/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/modern_treasury/internal/util.rb +7 -2
  7. data/lib/modern_treasury/models/bulk_request_create_params.rb +146 -2
  8. data/lib/modern_treasury/models/child_legal_entity.rb +609 -0
  9. data/lib/modern_treasury/models/child_legal_entity_create.rb +63 -1
  10. data/lib/modern_treasury/models/connection_legal_entity.rb +2 -0
  11. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +54 -63
  12. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +2 -0
  13. data/lib/modern_treasury/models/counterparty_create_params.rb +54 -59
  14. data/lib/modern_treasury/models/expected_payment.rb +69 -1
  15. data/lib/modern_treasury/models/expected_payment_create_params.rb +65 -1
  16. data/lib/modern_treasury/models/expected_payment_update_params.rb +65 -1
  17. data/lib/modern_treasury/models/hold_create_params.rb +74 -0
  18. data/lib/modern_treasury/models/hold_create_response.rb +143 -0
  19. data/lib/modern_treasury/models/hold_list_params.rb +89 -0
  20. data/lib/modern_treasury/models/hold_list_response.rb +143 -0
  21. data/lib/modern_treasury/models/hold_retrieve_params.rb +14 -0
  22. data/lib/modern_treasury/models/hold_retrieve_response.rb +143 -0
  23. data/lib/modern_treasury/models/hold_update_params.rb +40 -0
  24. data/lib/modern_treasury/models/hold_update_response.rb +143 -0
  25. data/lib/modern_treasury/models/incoming_payment_detail.rb +5 -0
  26. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +5 -0
  27. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +5 -0
  28. data/lib/modern_treasury/models/internal_account.rb +10 -1
  29. data/lib/modern_treasury/models/internal_account_request_closure_params.rb +14 -0
  30. data/lib/modern_treasury/models/internal_account_update_params.rb +9 -1
  31. data/lib/modern_treasury/models/invoice.rb +2 -0
  32. data/lib/modern_treasury/models/invoice_create_params.rb +1 -19
  33. data/lib/modern_treasury/models/invoice_update_params.rb +1 -19
  34. data/lib/modern_treasury/models/journal_entry_list_params.rb +38 -0
  35. data/lib/modern_treasury/models/journal_entry_retrieve_params.rb +14 -0
  36. data/lib/modern_treasury/models/journal_report_list_params.rb +14 -0
  37. data/lib/modern_treasury/models/journal_report_retrieve_params.rb +14 -0
  38. data/lib/modern_treasury/models/journal_report_update_params.rb +26 -0
  39. data/lib/modern_treasury/models/ledger_entry.rb +10 -1
  40. data/lib/modern_treasury/models/ledger_entry_create_request.rb +10 -1
  41. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +10 -1
  42. data/lib/modern_treasury/models/legal_entity.rb +61 -11
  43. data/lib/modern_treasury/models/legal_entity_association.rb +3 -559
  44. data/lib/modern_treasury/models/legal_entity_association_inline_create.rb +60 -0
  45. data/lib/modern_treasury/models/legal_entity_create_params.rb +54 -59
  46. data/lib/modern_treasury/models/legal_entity_update_params.rb +51 -1
  47. data/lib/modern_treasury/models/payment_order.rb +5 -1
  48. data/lib/modern_treasury/models/payment_order_subtype.rb +0 -1
  49. data/lib/modern_treasury/models/payment_reference.rb +5 -1
  50. data/lib/modern_treasury/models/return_object.rb +6 -1
  51. data/lib/modern_treasury/models/transaction.rb +2 -1
  52. data/lib/modern_treasury/models.rb +24 -0
  53. data/lib/modern_treasury/resources/expected_payments.rb +18 -2
  54. data/lib/modern_treasury/resources/holds.rb +126 -0
  55. data/lib/modern_treasury/resources/internal_accounts.rb +23 -1
  56. data/lib/modern_treasury/resources/invoices.rb +2 -10
  57. data/lib/modern_treasury/resources/journal_entries.rb +60 -0
  58. data/lib/modern_treasury/resources/journal_reports.rb +78 -0
  59. data/lib/modern_treasury/resources/ledger_accounts.rb +3 -3
  60. data/lib/modern_treasury/resources/ledger_transactions.rb +5 -2
  61. data/lib/modern_treasury/resources/legal_entities.rb +27 -3
  62. data/lib/modern_treasury/version.rb +1 -1
  63. data/lib/modern_treasury.rb +20 -0
  64. data/manifest.yaml +1 -0
  65. data/rbi/modern_treasury/client.rbi +9 -0
  66. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +272 -0
  67. data/rbi/modern_treasury/models/child_legal_entity.rbi +969 -0
  68. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +78 -0
  69. data/rbi/modern_treasury/models/connection_legal_entity.rbi +10 -0
  70. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +61 -135
  71. data/rbi/modern_treasury/models/connection_legal_entity_list_params.rbi +10 -0
  72. data/rbi/modern_treasury/models/counterparty_create_params.rbi +61 -135
  73. data/rbi/modern_treasury/models/expected_payment.rbi +136 -0
  74. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +136 -0
  75. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +136 -0
  76. data/rbi/modern_treasury/models/hold_create_params.rbi +125 -0
  77. data/rbi/modern_treasury/models/hold_create_response.rbi +232 -0
  78. data/rbi/modern_treasury/models/hold_list_params.rbi +150 -0
  79. data/rbi/modern_treasury/models/hold_list_response.rbi +225 -0
  80. data/rbi/modern_treasury/models/hold_retrieve_params.rbi +32 -0
  81. data/rbi/modern_treasury/models/hold_retrieve_response.rbi +234 -0
  82. data/rbi/modern_treasury/models/hold_update_params.rbi +79 -0
  83. data/rbi/modern_treasury/models/hold_update_response.rbi +232 -0
  84. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +25 -0
  85. data/rbi/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +25 -0
  86. data/rbi/modern_treasury/models/incoming_payment_detail_list_params.rbi +25 -0
  87. data/rbi/modern_treasury/models/internal_account.rbi +10 -0
  88. data/rbi/modern_treasury/models/internal_account_request_closure_params.rbi +32 -0
  89. data/rbi/modern_treasury/models/internal_account_update_params.rbi +11 -0
  90. data/rbi/modern_treasury/models/invoice_create_params.rbi +0 -20
  91. data/rbi/modern_treasury/models/invoice_update_params.rbi +0 -20
  92. data/rbi/modern_treasury/models/journal_entry_list_params.rbi +68 -0
  93. data/rbi/modern_treasury/models/journal_entry_retrieve_params.rbi +32 -0
  94. data/rbi/modern_treasury/models/journal_report_list_params.rbi +32 -0
  95. data/rbi/modern_treasury/models/journal_report_retrieve_params.rbi +32 -0
  96. data/rbi/modern_treasury/models/journal_report_update_params.rbi +52 -0
  97. data/rbi/modern_treasury/models/ledger_entry.rbi +10 -0
  98. data/rbi/modern_treasury/models/ledger_entry_create_request.rbi +13 -0
  99. data/rbi/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +10 -0
  100. data/rbi/modern_treasury/models/legal_entity.rbi +67 -15
  101. data/rbi/modern_treasury/models/legal_entity_association.rbi +4 -962
  102. data/rbi/modern_treasury/models/legal_entity_association_inline_create.rbi +130 -0
  103. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +61 -134
  104. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +58 -0
  105. data/rbi/modern_treasury/models/payment_order.rbi +22 -2
  106. data/rbi/modern_treasury/models/payment_order_subtype.rbi +0 -1
  107. data/rbi/modern_treasury/models/payment_reference.rbi +22 -2
  108. data/rbi/modern_treasury/models/return_object.rbi +24 -2
  109. data/rbi/modern_treasury/models/transaction.rbi +7 -2
  110. data/rbi/modern_treasury/models.rbi +28 -0
  111. data/rbi/modern_treasury/resources/expected_payments.rbi +44 -0
  112. data/rbi/modern_treasury/resources/holds.rbi +108 -0
  113. data/rbi/modern_treasury/resources/internal_accounts.rbi +17 -0
  114. data/rbi/modern_treasury/resources/invoices.rbi +0 -16
  115. data/rbi/modern_treasury/resources/journal_entries.rbi +46 -0
  116. data/rbi/modern_treasury/resources/journal_reports.rbi +51 -0
  117. data/rbi/modern_treasury/resources/ledger_accounts.rbi +3 -3
  118. data/rbi/modern_treasury/resources/ledger_transactions.rbi +3 -2
  119. data/rbi/modern_treasury/resources/legal_entities.rbi +41 -1
  120. data/sig/modern_treasury/client.rbs +6 -0
  121. data/sig/modern_treasury/models/bulk_request_create_params.rbs +84 -0
  122. data/sig/modern_treasury/models/child_legal_entity.rbs +469 -0
  123. data/sig/modern_treasury/models/child_legal_entity_create.rbs +39 -0
  124. data/sig/modern_treasury/models/connection_legal_entity.rbs +4 -1
  125. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +38 -60
  126. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +4 -1
  127. data/sig/modern_treasury/models/counterparty_create_params.rbs +38 -60
  128. data/sig/modern_treasury/models/expected_payment.rbs +42 -0
  129. data/sig/modern_treasury/models/expected_payment_create_params.rbs +42 -0
  130. data/sig/modern_treasury/models/expected_payment_update_params.rbs +42 -0
  131. data/sig/modern_treasury/models/hold_create_params.rbs +66 -0
  132. data/sig/modern_treasury/models/hold_create_response.rbs +108 -0
  133. data/sig/modern_treasury/models/hold_list_params.rbs +76 -0
  134. data/sig/modern_treasury/models/hold_list_response.rbs +108 -0
  135. data/sig/modern_treasury/models/hold_retrieve_params.rbs +15 -0
  136. data/sig/modern_treasury/models/hold_retrieve_response.rbs +108 -0
  137. data/sig/modern_treasury/models/hold_update_params.rbs +41 -0
  138. data/sig/modern_treasury/models/hold_update_response.rbs +108 -0
  139. data/sig/modern_treasury/models/incoming_payment_detail.rbs +10 -0
  140. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +10 -0
  141. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +10 -0
  142. data/sig/modern_treasury/models/internal_account.rbs +5 -0
  143. data/sig/modern_treasury/models/internal_account_request_closure_params.rbs +15 -0
  144. data/sig/modern_treasury/models/internal_account_update_params.rbs +7 -0
  145. data/sig/modern_treasury/models/invoice_create_params.rbs +0 -10
  146. data/sig/modern_treasury/models/invoice_update_params.rbs +0 -10
  147. data/sig/modern_treasury/models/journal_entry_list_params.rbs +36 -0
  148. data/sig/modern_treasury/models/journal_entry_retrieve_params.rbs +15 -0
  149. data/sig/modern_treasury/models/journal_report_list_params.rbs +15 -0
  150. data/sig/modern_treasury/models/journal_report_retrieve_params.rbs +15 -0
  151. data/sig/modern_treasury/models/journal_report_update_params.rbs +32 -0
  152. data/sig/modern_treasury/models/ledger_entry.rbs +5 -0
  153. data/sig/modern_treasury/models/ledger_entry_create_request.rbs +7 -0
  154. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +5 -0
  155. data/sig/modern_treasury/models/legal_entity.rbs +38 -8
  156. data/sig/modern_treasury/models/legal_entity_association.rbs +4 -435
  157. data/sig/modern_treasury/models/legal_entity_association_inline_create.rbs +59 -0
  158. data/sig/modern_treasury/models/legal_entity_create_params.rbs +38 -60
  159. data/sig/modern_treasury/models/legal_entity_update_params.rbs +34 -0
  160. data/sig/modern_treasury/models/payment_order.rbs +10 -2
  161. data/sig/modern_treasury/models/payment_order_subtype.rbs +0 -2
  162. data/sig/modern_treasury/models/payment_reference.rbs +10 -2
  163. data/sig/modern_treasury/models/return_object.rbs +12 -2
  164. data/sig/modern_treasury/models/transaction.rbs +4 -2
  165. data/sig/modern_treasury/models.rbs +24 -0
  166. data/sig/modern_treasury/resources/expected_payments.rbs +8 -0
  167. data/sig/modern_treasury/resources/holds.rbs +38 -0
  168. data/sig/modern_treasury/resources/internal_accounts.rbs +6 -0
  169. data/sig/modern_treasury/resources/invoices.rbs +0 -4
  170. data/sig/modern_treasury/resources/journal_entries.rbs +19 -0
  171. data/sig/modern_treasury/resources/journal_reports.rbs +21 -0
  172. data/sig/modern_treasury/resources/legal_entities.rbs +13 -1
  173. metadata +59 -2
@@ -0,0 +1,130 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class LegalEntityAssociationInlineCreate < ModernTreasury::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ModernTreasury::LegalEntityAssociationInlineCreate,
10
+ ModernTreasury::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Array[
17
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::OrSymbol
18
+ ]
19
+ )
20
+ end
21
+ attr_accessor :relationship_types
22
+
23
+ # The child legal entity.
24
+ sig { returns(T.nilable(ModernTreasury::ChildLegalEntityCreate)) }
25
+ attr_reader :child_legal_entity
26
+
27
+ sig do
28
+ params(child_legal_entity: ModernTreasury::ChildLegalEntityCreate).void
29
+ end
30
+ attr_writer :child_legal_entity
31
+
32
+ # The ID of the child legal entity.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :child_legal_entity_id
35
+
36
+ sig { params(child_legal_entity_id: String).void }
37
+ attr_writer :child_legal_entity_id
38
+
39
+ # The child entity's ownership percentage iff they are a beneficial owner.
40
+ sig { returns(T.nilable(Integer)) }
41
+ attr_accessor :ownership_percentage
42
+
43
+ # The job title of the child entity at the parent entity.
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :title
46
+
47
+ sig do
48
+ params(
49
+ relationship_types:
50
+ T::Array[
51
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::OrSymbol
52
+ ],
53
+ child_legal_entity: ModernTreasury::ChildLegalEntityCreate,
54
+ child_legal_entity_id: String,
55
+ ownership_percentage: T.nilable(Integer),
56
+ title: T.nilable(String)
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ relationship_types:,
61
+ # The child legal entity.
62
+ child_legal_entity: nil,
63
+ # The ID of the child legal entity.
64
+ child_legal_entity_id: nil,
65
+ # The child entity's ownership percentage iff they are a beneficial owner.
66
+ ownership_percentage: nil,
67
+ # The job title of the child entity at the parent entity.
68
+ title: nil
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ relationship_types:
76
+ T::Array[
77
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::OrSymbol
78
+ ],
79
+ child_legal_entity: ModernTreasury::ChildLegalEntityCreate,
80
+ child_legal_entity_id: String,
81
+ ownership_percentage: T.nilable(Integer),
82
+ title: T.nilable(String)
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ # A list of relationship types for how the child entity relates to parent entity.
90
+ module RelationshipType
91
+ extend ModernTreasury::Internal::Type::Enum
92
+
93
+ TaggedSymbol =
94
+ T.type_alias do
95
+ T.all(
96
+ Symbol,
97
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType
98
+ )
99
+ end
100
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
101
+
102
+ AUTHORIZED_SIGNER =
103
+ T.let(
104
+ :authorized_signer,
105
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::TaggedSymbol
106
+ )
107
+ BENEFICIAL_OWNER =
108
+ T.let(
109
+ :beneficial_owner,
110
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::TaggedSymbol
111
+ )
112
+ CONTROL_PERSON =
113
+ T.let(
114
+ :control_person,
115
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::TaggedSymbol
116
+ )
117
+
118
+ sig do
119
+ override.returns(
120
+ T::Array[
121
+ ModernTreasury::LegalEntityAssociationInlineCreate::RelationshipType::TaggedSymbol
122
+ ]
123
+ )
124
+ end
125
+ def self.values
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -49,6 +49,10 @@ module ModernTreasury
49
49
  end
50
50
  attr_writer :bank_settings
51
51
 
52
+ # A description of the business.
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :business_description
55
+
52
56
  # The business's legal business name.
53
57
  sig { returns(T.nilable(String)) }
54
58
  attr_accessor :business_name
@@ -68,6 +72,11 @@ module ModernTreasury
68
72
  end
69
73
  attr_writer :compliance_details
70
74
 
75
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
76
+ # alpha-3 formats.
77
+ sig { returns(T.nilable(String)) }
78
+ attr_accessor :country_of_incorporation
79
+
71
80
  # A business's formation date (YYYY-MM-DD).
72
81
  sig { returns(T.nilable(Date)) }
73
82
  attr_accessor :date_formed
@@ -86,6 +95,10 @@ module ModernTreasury
86
95
  sig { returns(T.nilable(String)) }
87
96
  attr_accessor :email
88
97
 
98
+ # Monthly expected transaction volume in entity's local currency.
99
+ sig { returns(T.nilable(Integer)) }
100
+ attr_accessor :expected_activity_volume
101
+
89
102
  # An individual's first name.
90
103
  sig { returns(T.nilable(String)) }
91
104
  attr_accessor :first_name
@@ -122,6 +135,10 @@ module ModernTreasury
122
135
  end
123
136
  attr_writer :industry_classifications
124
137
 
138
+ # A description of the intended use of the legal entity.
139
+ sig { returns(T.nilable(String)) }
140
+ attr_accessor :intended_use
141
+
125
142
  # An individual's last name.
126
143
  sig { returns(T.nilable(String)) }
127
144
  attr_accessor :last_name
@@ -130,9 +147,7 @@ module ModernTreasury
130
147
  sig do
131
148
  returns(
132
149
  T.nilable(
133
- T::Array[
134
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation
135
- ]
150
+ T::Array[ModernTreasury::LegalEntityAssociationInlineCreate]
136
151
  )
137
152
  )
138
153
  end
@@ -160,6 +175,14 @@ module ModernTreasury
160
175
  sig { returns(T.nilable(String)) }
161
176
  attr_accessor :middle_name
162
177
 
178
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
179
+ # codes).
180
+ sig { returns(T.nilable(T::Array[String])) }
181
+ attr_reader :operating_jurisdictions
182
+
183
+ sig { params(operating_jurisdictions: T::Array[String]).void }
184
+ attr_writer :operating_jurisdictions
185
+
163
186
  sig do
164
187
  returns(
165
188
  T.nilable(
@@ -191,6 +214,13 @@ module ModernTreasury
191
214
  sig { returns(T.nilable(String)) }
192
215
  attr_accessor :prefix
193
216
 
217
+ # A list of primary social media URLs for the business.
218
+ sig { returns(T.nilable(T::Array[String])) }
219
+ attr_reader :primary_social_media_sites
220
+
221
+ sig { params(primary_social_media_sites: T::Array[String]).void }
222
+ attr_writer :primary_social_media_sites
223
+
194
224
  # The risk rating of the legal entity. One of low, medium, high.
195
225
  sig do
196
226
  returns(
@@ -230,24 +260,28 @@ module ModernTreasury
230
260
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest::OrHash],
231
261
  bank_settings:
232
262
  T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash),
263
+ business_description: T.nilable(String),
233
264
  business_name: T.nilable(String),
234
265
  citizenship_country: T.nilable(String),
235
266
  compliance_details:
236
267
  T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash),
268
+ country_of_incorporation: T.nilable(String),
237
269
  date_formed: T.nilable(Date),
238
270
  date_of_birth: T.nilable(Date),
239
271
  doing_business_as_names: T::Array[String],
240
272
  email: T.nilable(String),
273
+ expected_activity_volume: T.nilable(Integer),
241
274
  first_name: T.nilable(String),
242
275
  identifications:
243
276
  T::Array[ModernTreasury::IdentificationCreateRequest::OrHash],
244
277
  industry_classifications:
245
278
  T::Array[ModernTreasury::LegalEntityIndustryClassification::OrHash],
279
+ intended_use: T.nilable(String),
246
280
  last_name: T.nilable(String),
247
281
  legal_entity_associations:
248
282
  T.nilable(
249
283
  T::Array[
250
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::OrHash
284
+ ModernTreasury::LegalEntityAssociationInlineCreate::OrHash
251
285
  ]
252
286
  ),
253
287
  legal_structure:
@@ -256,6 +290,7 @@ module ModernTreasury
256
290
  ),
257
291
  metadata: T::Hash[Symbol, String],
258
292
  middle_name: T.nilable(String),
293
+ operating_jurisdictions: T::Array[String],
259
294
  phone_numbers:
260
295
  T::Array[
261
296
  ModernTreasury::LegalEntityCreateParams::PhoneNumber::OrHash
@@ -263,6 +298,7 @@ module ModernTreasury
263
298
  politically_exposed_person: T.nilable(T::Boolean),
264
299
  preferred_name: T.nilable(String),
265
300
  prefix: T.nilable(String),
301
+ primary_social_media_sites: T::Array[String],
266
302
  risk_rating:
267
303
  T.nilable(
268
304
  ModernTreasury::LegalEntityCreateParams::RiskRating::OrSymbol
@@ -282,11 +318,16 @@ module ModernTreasury
282
318
  # A list of addresses for the entity.
283
319
  addresses: nil,
284
320
  bank_settings: nil,
321
+ # A description of the business.
322
+ business_description: nil,
285
323
  # The business's legal business name.
286
324
  business_name: nil,
287
325
  # The country of citizenship for an individual.
288
326
  citizenship_country: nil,
289
327
  compliance_details: nil,
328
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
329
+ # alpha-3 formats.
330
+ country_of_incorporation: nil,
290
331
  # A business's formation date (YYYY-MM-DD).
291
332
  date_formed: nil,
292
333
  # An individual's date of birth (YYYY-MM-DD).
@@ -294,12 +335,16 @@ module ModernTreasury
294
335
  doing_business_as_names: nil,
295
336
  # The entity's primary email.
296
337
  email: nil,
338
+ # Monthly expected transaction volume in entity's local currency.
339
+ expected_activity_volume: nil,
297
340
  # An individual's first name.
298
341
  first_name: nil,
299
342
  # A list of identifications for the legal entity.
300
343
  identifications: nil,
301
344
  # A list of industry classifications for the legal entity.
302
345
  industry_classifications: nil,
346
+ # A description of the intended use of the legal entity.
347
+ intended_use: nil,
303
348
  # An individual's last name.
304
349
  last_name: nil,
305
350
  # The legal entity associations and its child legal entities.
@@ -311,6 +356,9 @@ module ModernTreasury
311
356
  metadata: nil,
312
357
  # An individual's middle name.
313
358
  middle_name: nil,
359
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
360
+ # codes).
361
+ operating_jurisdictions: nil,
314
362
  phone_numbers: nil,
315
363
  # Whether the individual is a politically exposed person.
316
364
  politically_exposed_person: nil,
@@ -318,6 +366,8 @@ module ModernTreasury
318
366
  preferred_name: nil,
319
367
  # An individual's prefix.
320
368
  prefix: nil,
369
+ # A list of primary social media URLs for the business.
370
+ primary_social_media_sites: nil,
321
371
  # The risk rating of the legal entity. One of low, medium, high.
322
372
  risk_rating: nil,
323
373
  # An individual's suffix.
@@ -337,25 +387,27 @@ module ModernTreasury
337
387
  addresses:
338
388
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest],
339
389
  bank_settings: T.nilable(ModernTreasury::LegalEntityBankSettings),
390
+ business_description: T.nilable(String),
340
391
  business_name: T.nilable(String),
341
392
  citizenship_country: T.nilable(String),
342
393
  compliance_details:
343
394
  T.nilable(ModernTreasury::LegalEntityComplianceDetail),
395
+ country_of_incorporation: T.nilable(String),
344
396
  date_formed: T.nilable(Date),
345
397
  date_of_birth: T.nilable(Date),
346
398
  doing_business_as_names: T::Array[String],
347
399
  email: T.nilable(String),
400
+ expected_activity_volume: T.nilable(Integer),
348
401
  first_name: T.nilable(String),
349
402
  identifications:
350
403
  T::Array[ModernTreasury::IdentificationCreateRequest],
351
404
  industry_classifications:
352
405
  T::Array[ModernTreasury::LegalEntityIndustryClassification],
406
+ intended_use: T.nilable(String),
353
407
  last_name: T.nilable(String),
354
408
  legal_entity_associations:
355
409
  T.nilable(
356
- T::Array[
357
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation
358
- ]
410
+ T::Array[ModernTreasury::LegalEntityAssociationInlineCreate]
359
411
  ),
360
412
  legal_structure:
361
413
  T.nilable(
@@ -363,11 +415,13 @@ module ModernTreasury
363
415
  ),
364
416
  metadata: T::Hash[Symbol, String],
365
417
  middle_name: T.nilable(String),
418
+ operating_jurisdictions: T::Array[String],
366
419
  phone_numbers:
367
420
  T::Array[ModernTreasury::LegalEntityCreateParams::PhoneNumber],
368
421
  politically_exposed_person: T.nilable(T::Boolean),
369
422
  preferred_name: T.nilable(String),
370
423
  prefix: T.nilable(String),
424
+ primary_social_media_sites: T::Array[String],
371
425
  risk_rating:
372
426
  T.nilable(
373
427
  ModernTreasury::LegalEntityCreateParams::RiskRating::OrSymbol
@@ -418,133 +472,6 @@ module ModernTreasury
418
472
  end
419
473
  end
420
474
 
421
- class LegalEntityAssociation < ModernTreasury::Internal::Type::BaseModel
422
- OrHash =
423
- T.type_alias do
424
- T.any(
425
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation,
426
- ModernTreasury::Internal::AnyHash
427
- )
428
- end
429
-
430
- sig do
431
- returns(
432
- T::Array[
433
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::OrSymbol
434
- ]
435
- )
436
- end
437
- attr_accessor :relationship_types
438
-
439
- # The child legal entity.
440
- sig { returns(T.nilable(ModernTreasury::ChildLegalEntityCreate)) }
441
- attr_reader :child_legal_entity
442
-
443
- sig do
444
- params(
445
- child_legal_entity: ModernTreasury::ChildLegalEntityCreate::OrHash
446
- ).void
447
- end
448
- attr_writer :child_legal_entity
449
-
450
- # The ID of the child legal entity.
451
- sig { returns(T.nilable(String)) }
452
- attr_reader :child_legal_entity_id
453
-
454
- sig { params(child_legal_entity_id: String).void }
455
- attr_writer :child_legal_entity_id
456
-
457
- # The child entity's ownership percentage iff they are a beneficial owner.
458
- sig { returns(T.nilable(Integer)) }
459
- attr_accessor :ownership_percentage
460
-
461
- # The job title of the child entity at the parent entity.
462
- sig { returns(T.nilable(String)) }
463
- attr_accessor :title
464
-
465
- sig do
466
- params(
467
- relationship_types:
468
- T::Array[
469
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::OrSymbol
470
- ],
471
- child_legal_entity: ModernTreasury::ChildLegalEntityCreate::OrHash,
472
- child_legal_entity_id: String,
473
- ownership_percentage: T.nilable(Integer),
474
- title: T.nilable(String)
475
- ).returns(T.attached_class)
476
- end
477
- def self.new(
478
- relationship_types:,
479
- # The child legal entity.
480
- child_legal_entity: nil,
481
- # The ID of the child legal entity.
482
- child_legal_entity_id: nil,
483
- # The child entity's ownership percentage iff they are a beneficial owner.
484
- ownership_percentage: nil,
485
- # The job title of the child entity at the parent entity.
486
- title: nil
487
- )
488
- end
489
-
490
- sig do
491
- override.returns(
492
- {
493
- relationship_types:
494
- T::Array[
495
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::OrSymbol
496
- ],
497
- child_legal_entity: ModernTreasury::ChildLegalEntityCreate,
498
- child_legal_entity_id: String,
499
- ownership_percentage: T.nilable(Integer),
500
- title: T.nilable(String)
501
- }
502
- )
503
- end
504
- def to_hash
505
- end
506
-
507
- # A list of relationship types for how the child entity relates to parent entity.
508
- module RelationshipType
509
- extend ModernTreasury::Internal::Type::Enum
510
-
511
- TaggedSymbol =
512
- T.type_alias do
513
- T.all(
514
- Symbol,
515
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType
516
- )
517
- end
518
- OrSymbol = T.type_alias { T.any(Symbol, String) }
519
-
520
- AUTHORIZED_SIGNER =
521
- T.let(
522
- :authorized_signer,
523
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::TaggedSymbol
524
- )
525
- BENEFICIAL_OWNER =
526
- T.let(
527
- :beneficial_owner,
528
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::TaggedSymbol
529
- )
530
- CONTROL_PERSON =
531
- T.let(
532
- :control_person,
533
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::TaggedSymbol
534
- )
535
-
536
- sig do
537
- override.returns(
538
- T::Array[
539
- ModernTreasury::LegalEntityCreateParams::LegalEntityAssociation::RelationshipType::TaggedSymbol
540
- ]
541
- )
542
- end
543
- def self.values
544
- end
545
- end
546
- end
547
-
548
475
  # The business's legal structure.
549
476
  module LegalStructure
550
477
  extend ModernTreasury::Internal::Type::Enum
@@ -41,6 +41,10 @@ module ModernTreasury
41
41
  end
42
42
  attr_writer :bank_settings
43
43
 
44
+ # A description of the business.
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :business_description
47
+
44
48
  # The business's legal business name.
45
49
  sig { returns(T.nilable(String)) }
46
50
  attr_accessor :business_name
@@ -60,6 +64,11 @@ module ModernTreasury
60
64
  end
61
65
  attr_writer :compliance_details
62
66
 
67
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
68
+ # alpha-3 formats.
69
+ sig { returns(T.nilable(String)) }
70
+ attr_accessor :country_of_incorporation
71
+
63
72
  # A business's formation date (YYYY-MM-DD).
64
73
  sig { returns(T.nilable(Date)) }
65
74
  attr_accessor :date_formed
@@ -78,6 +87,10 @@ module ModernTreasury
78
87
  sig { returns(T.nilable(String)) }
79
88
  attr_accessor :email
80
89
 
90
+ # Monthly expected transaction volume in entity's local currency.
91
+ sig { returns(T.nilable(Integer)) }
92
+ attr_accessor :expected_activity_volume
93
+
81
94
  # An individual's first name.
82
95
  sig { returns(T.nilable(String)) }
83
96
  attr_accessor :first_name
@@ -114,6 +127,10 @@ module ModernTreasury
114
127
  end
115
128
  attr_writer :industry_classifications
116
129
 
130
+ # A description of the intended use of the legal entity.
131
+ sig { returns(T.nilable(String)) }
132
+ attr_accessor :intended_use
133
+
117
134
  # An individual's last name.
118
135
  sig { returns(T.nilable(String)) }
119
136
  attr_accessor :last_name
@@ -140,6 +157,14 @@ module ModernTreasury
140
157
  sig { returns(T.nilable(String)) }
141
158
  attr_accessor :middle_name
142
159
 
160
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
161
+ # codes).
162
+ sig { returns(T.nilable(T::Array[String])) }
163
+ attr_reader :operating_jurisdictions
164
+
165
+ sig { params(operating_jurisdictions: T::Array[String]).void }
166
+ attr_writer :operating_jurisdictions
167
+
143
168
  sig do
144
169
  returns(
145
170
  T.nilable(
@@ -171,6 +196,13 @@ module ModernTreasury
171
196
  sig { returns(T.nilable(String)) }
172
197
  attr_accessor :prefix
173
198
 
199
+ # A list of primary social media URLs for the business.
200
+ sig { returns(T.nilable(T::Array[String])) }
201
+ attr_reader :primary_social_media_sites
202
+
203
+ sig { params(primary_social_media_sites: T::Array[String]).void }
204
+ attr_writer :primary_social_media_sites
205
+
174
206
  # The risk rating of the legal entity. One of low, medium, high.
175
207
  sig do
176
208
  returns(
@@ -208,19 +240,23 @@ module ModernTreasury
208
240
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest::OrHash],
209
241
  bank_settings:
210
242
  T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash),
243
+ business_description: T.nilable(String),
211
244
  business_name: T.nilable(String),
212
245
  citizenship_country: T.nilable(String),
213
246
  compliance_details:
214
247
  T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash),
248
+ country_of_incorporation: T.nilable(String),
215
249
  date_formed: T.nilable(Date),
216
250
  date_of_birth: T.nilable(Date),
217
251
  doing_business_as_names: T::Array[String],
218
252
  email: T.nilable(String),
253
+ expected_activity_volume: T.nilable(Integer),
219
254
  first_name: T.nilable(String),
220
255
  identifications:
221
256
  T::Array[ModernTreasury::IdentificationCreateRequest::OrHash],
222
257
  industry_classifications:
223
258
  T::Array[ModernTreasury::LegalEntityIndustryClassification::OrHash],
259
+ intended_use: T.nilable(String),
224
260
  last_name: T.nilable(String),
225
261
  legal_structure:
226
262
  T.nilable(
@@ -228,6 +264,7 @@ module ModernTreasury
228
264
  ),
229
265
  metadata: T::Hash[Symbol, String],
230
266
  middle_name: T.nilable(String),
267
+ operating_jurisdictions: T::Array[String],
231
268
  phone_numbers:
232
269
  T::Array[
233
270
  ModernTreasury::LegalEntityUpdateParams::PhoneNumber::OrHash
@@ -235,6 +272,7 @@ module ModernTreasury
235
272
  politically_exposed_person: T.nilable(T::Boolean),
236
273
  preferred_name: T.nilable(String),
237
274
  prefix: T.nilable(String),
275
+ primary_social_media_sites: T::Array[String],
238
276
  risk_rating:
239
277
  T.nilable(
240
278
  ModernTreasury::LegalEntityUpdateParams::RiskRating::OrSymbol
@@ -252,11 +290,16 @@ module ModernTreasury
252
290
  # A list of addresses for the entity.
253
291
  addresses: nil,
254
292
  bank_settings: nil,
293
+ # A description of the business.
294
+ business_description: nil,
255
295
  # The business's legal business name.
256
296
  business_name: nil,
257
297
  # The country of citizenship for an individual.
258
298
  citizenship_country: nil,
259
299
  compliance_details: nil,
300
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
301
+ # alpha-3 formats.
302
+ country_of_incorporation: nil,
260
303
  # A business's formation date (YYYY-MM-DD).
261
304
  date_formed: nil,
262
305
  # An individual's date of birth (YYYY-MM-DD).
@@ -264,12 +307,16 @@ module ModernTreasury
264
307
  doing_business_as_names: nil,
265
308
  # The entity's primary email.
266
309
  email: nil,
310
+ # Monthly expected transaction volume in entity's local currency.
311
+ expected_activity_volume: nil,
267
312
  # An individual's first name.
268
313
  first_name: nil,
269
314
  # A list of identifications for the legal entity.
270
315
  identifications: nil,
271
316
  # A list of industry classifications for the legal entity.
272
317
  industry_classifications: nil,
318
+ # A description of the intended use of the legal entity.
319
+ intended_use: nil,
273
320
  # An individual's last name.
274
321
  last_name: nil,
275
322
  # The business's legal structure.
@@ -279,6 +326,9 @@ module ModernTreasury
279
326
  metadata: nil,
280
327
  # An individual's middle name.
281
328
  middle_name: nil,
329
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
330
+ # codes).
331
+ operating_jurisdictions: nil,
282
332
  phone_numbers: nil,
283
333
  # Whether the individual is a politically exposed person.
284
334
  politically_exposed_person: nil,
@@ -286,6 +336,8 @@ module ModernTreasury
286
336
  preferred_name: nil,
287
337
  # An individual's prefix.
288
338
  prefix: nil,
339
+ # A list of primary social media URLs for the business.
340
+ primary_social_media_sites: nil,
289
341
  # The risk rating of the legal entity. One of low, medium, high.
290
342
  risk_rating: nil,
291
343
  # An individual's suffix.
@@ -303,19 +355,23 @@ module ModernTreasury
303
355
  addresses:
304
356
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest],
305
357
  bank_settings: T.nilable(ModernTreasury::LegalEntityBankSettings),
358
+ business_description: T.nilable(String),
306
359
  business_name: T.nilable(String),
307
360
  citizenship_country: T.nilable(String),
308
361
  compliance_details:
309
362
  T.nilable(ModernTreasury::LegalEntityComplianceDetail),
363
+ country_of_incorporation: T.nilable(String),
310
364
  date_formed: T.nilable(Date),
311
365
  date_of_birth: T.nilable(Date),
312
366
  doing_business_as_names: T::Array[String],
313
367
  email: T.nilable(String),
368
+ expected_activity_volume: T.nilable(Integer),
314
369
  first_name: T.nilable(String),
315
370
  identifications:
316
371
  T::Array[ModernTreasury::IdentificationCreateRequest],
317
372
  industry_classifications:
318
373
  T::Array[ModernTreasury::LegalEntityIndustryClassification],
374
+ intended_use: T.nilable(String),
319
375
  last_name: T.nilable(String),
320
376
  legal_structure:
321
377
  T.nilable(
@@ -323,11 +379,13 @@ module ModernTreasury
323
379
  ),
324
380
  metadata: T::Hash[Symbol, String],
325
381
  middle_name: T.nilable(String),
382
+ operating_jurisdictions: T::Array[String],
326
383
  phone_numbers:
327
384
  T::Array[ModernTreasury::LegalEntityUpdateParams::PhoneNumber],
328
385
  politically_exposed_person: T.nilable(T::Boolean),
329
386
  preferred_name: T.nilable(String),
330
387
  prefix: T.nilable(String),
388
+ primary_social_media_sites: T::Array[String],
331
389
  risk_rating:
332
390
  T.nilable(
333
391
  ModernTreasury::LegalEntityUpdateParams::RiskRating::OrSymbol