modern_treasury 0.11.0 → 0.13.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/README.md +16 -7
  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/document.rb +8 -7
  14. data/lib/modern_treasury/models/document_create_params.rb +16 -15
  15. data/lib/modern_treasury/models/document_list_params.rb +2 -1
  16. data/lib/modern_treasury/models/expected_payment.rb +69 -1
  17. data/lib/modern_treasury/models/expected_payment_create_params.rb +65 -1
  18. data/lib/modern_treasury/models/expected_payment_update_params.rb +65 -1
  19. data/lib/modern_treasury/models/incoming_payment_detail.rb +5 -0
  20. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +5 -0
  21. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +5 -0
  22. data/lib/modern_treasury/models/internal_account.rb +10 -1
  23. data/lib/modern_treasury/models/internal_account_update_params.rb +9 -1
  24. data/lib/modern_treasury/models/invoice.rb +2 -0
  25. data/lib/modern_treasury/models/invoice_create_params.rb +1 -19
  26. data/lib/modern_treasury/models/invoice_update_params.rb +1 -19
  27. data/lib/modern_treasury/models/ledger_entry.rb +10 -1
  28. data/lib/modern_treasury/models/ledger_entry_create_request.rb +10 -1
  29. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +10 -1
  30. data/lib/modern_treasury/models/legal_entity.rb +61 -11
  31. data/lib/modern_treasury/models/legal_entity_association.rb +3 -559
  32. data/lib/modern_treasury/models/legal_entity_association_inline_create.rb +60 -0
  33. data/lib/modern_treasury/models/legal_entity_create_params.rb +54 -59
  34. data/lib/modern_treasury/models/legal_entity_update_params.rb +51 -1
  35. data/lib/modern_treasury/models/payment_order.rb +4 -0
  36. data/lib/modern_treasury/models/payment_order_create_params.rb +17 -16
  37. data/lib/modern_treasury/models/payment_reference.rb +4 -0
  38. data/lib/modern_treasury/models/return_object.rb +6 -0
  39. data/lib/modern_treasury/models/transaction.rb +1 -0
  40. data/lib/modern_treasury/models.rb +4 -0
  41. data/lib/modern_treasury/resources/account_details.rb +4 -4
  42. data/lib/modern_treasury/resources/documents.rb +5 -5
  43. data/lib/modern_treasury/resources/expected_payments.rb +18 -2
  44. data/lib/modern_treasury/resources/internal_accounts.rb +3 -1
  45. data/lib/modern_treasury/resources/invoices.rb +2 -10
  46. data/lib/modern_treasury/resources/ledger_accounts.rb +3 -3
  47. data/lib/modern_treasury/resources/ledger_transactions.rb +5 -2
  48. data/lib/modern_treasury/resources/legal_entities.rb +27 -3
  49. data/lib/modern_treasury/resources/line_items.rb +2 -2
  50. data/lib/modern_treasury/resources/routing_details.rb +4 -4
  51. data/lib/modern_treasury/version.rb +1 -1
  52. data/lib/modern_treasury.rb +3 -0
  53. data/manifest.yaml +1 -0
  54. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +272 -0
  55. data/rbi/modern_treasury/models/child_legal_entity.rbi +969 -0
  56. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +78 -0
  57. data/rbi/modern_treasury/models/connection_legal_entity.rbi +10 -0
  58. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +61 -135
  59. data/rbi/modern_treasury/models/connection_legal_entity_list_params.rbi +10 -0
  60. data/rbi/modern_treasury/models/counterparty_create_params.rbi +61 -135
  61. data/rbi/modern_treasury/models/document.rbi +22 -11
  62. data/rbi/modern_treasury/models/document_create_params.rbi +41 -23
  63. data/rbi/modern_treasury/models/document_list_params.rbi +10 -5
  64. data/rbi/modern_treasury/models/expected_payment.rbi +136 -0
  65. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +136 -0
  66. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +136 -0
  67. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +25 -0
  68. data/rbi/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +25 -0
  69. data/rbi/modern_treasury/models/incoming_payment_detail_list_params.rbi +25 -0
  70. data/rbi/modern_treasury/models/internal_account.rbi +10 -0
  71. data/rbi/modern_treasury/models/internal_account_update_params.rbi +11 -0
  72. data/rbi/modern_treasury/models/invoice_create_params.rbi +0 -20
  73. data/rbi/modern_treasury/models/invoice_update_params.rbi +0 -20
  74. data/rbi/modern_treasury/models/ledger_entry.rbi +10 -0
  75. data/rbi/modern_treasury/models/ledger_entry_create_request.rbi +13 -0
  76. data/rbi/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +10 -0
  77. data/rbi/modern_treasury/models/legal_entity.rbi +67 -15
  78. data/rbi/modern_treasury/models/legal_entity_association.rbi +4 -962
  79. data/rbi/modern_treasury/models/legal_entity_association_inline_create.rbi +130 -0
  80. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +61 -134
  81. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +58 -0
  82. data/rbi/modern_treasury/models/payment_order.rbi +20 -0
  83. data/rbi/modern_treasury/models/payment_order_create_params.rbi +44 -26
  84. data/rbi/modern_treasury/models/payment_reference.rbi +20 -0
  85. data/rbi/modern_treasury/models/return_object.rbi +24 -0
  86. data/rbi/modern_treasury/models/transaction.rbi +5 -0
  87. data/rbi/modern_treasury/models.rbi +5 -0
  88. data/rbi/modern_treasury/resources/account_details.rbi +4 -4
  89. data/rbi/modern_treasury/resources/documents.rbi +5 -5
  90. data/rbi/modern_treasury/resources/expected_payments.rbi +44 -0
  91. data/rbi/modern_treasury/resources/internal_accounts.rbi +3 -0
  92. data/rbi/modern_treasury/resources/invoices.rbi +0 -16
  93. data/rbi/modern_treasury/resources/ledger_accounts.rbi +3 -3
  94. data/rbi/modern_treasury/resources/ledger_transactions.rbi +3 -2
  95. data/rbi/modern_treasury/resources/legal_entities.rbi +41 -1
  96. data/rbi/modern_treasury/resources/line_items.rbi +2 -2
  97. data/rbi/modern_treasury/resources/routing_details.rbi +4 -4
  98. data/sig/modern_treasury/models/bulk_request_create_params.rbs +84 -0
  99. data/sig/modern_treasury/models/child_legal_entity.rbs +469 -0
  100. data/sig/modern_treasury/models/child_legal_entity_create.rbs +39 -0
  101. data/sig/modern_treasury/models/connection_legal_entity.rbs +4 -1
  102. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +38 -60
  103. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +4 -1
  104. data/sig/modern_treasury/models/counterparty_create_params.rbs +38 -60
  105. data/sig/modern_treasury/models/document.rbs +13 -11
  106. data/sig/modern_treasury/models/document_create_params.rbs +22 -14
  107. data/sig/modern_treasury/models/document_list_params.rbs +5 -3
  108. data/sig/modern_treasury/models/expected_payment.rbs +42 -0
  109. data/sig/modern_treasury/models/expected_payment_create_params.rbs +42 -0
  110. data/sig/modern_treasury/models/expected_payment_update_params.rbs +42 -0
  111. data/sig/modern_treasury/models/incoming_payment_detail.rbs +10 -0
  112. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +10 -0
  113. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +10 -0
  114. data/sig/modern_treasury/models/internal_account.rbs +5 -0
  115. data/sig/modern_treasury/models/internal_account_update_params.rbs +7 -0
  116. data/sig/modern_treasury/models/invoice_create_params.rbs +0 -10
  117. data/sig/modern_treasury/models/invoice_update_params.rbs +0 -10
  118. data/sig/modern_treasury/models/ledger_entry.rbs +5 -0
  119. data/sig/modern_treasury/models/ledger_entry_create_request.rbs +7 -0
  120. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +5 -0
  121. data/sig/modern_treasury/models/legal_entity.rbs +38 -8
  122. data/sig/modern_treasury/models/legal_entity_association.rbs +4 -435
  123. data/sig/modern_treasury/models/legal_entity_association_inline_create.rbs +59 -0
  124. data/sig/modern_treasury/models/legal_entity_create_params.rbs +38 -60
  125. data/sig/modern_treasury/models/legal_entity_update_params.rbs +34 -0
  126. data/sig/modern_treasury/models/payment_order.rbs +8 -0
  127. data/sig/modern_treasury/models/payment_order_create_params.rbs +24 -16
  128. data/sig/modern_treasury/models/payment_reference.rbs +8 -0
  129. data/sig/modern_treasury/models/return_object.rbs +18 -1
  130. data/sig/modern_treasury/models/transaction.rbs +2 -0
  131. data/sig/modern_treasury/models.rbs +4 -0
  132. data/sig/modern_treasury/resources/documents.rbs +2 -2
  133. data/sig/modern_treasury/resources/expected_payments.rbs +8 -0
  134. data/sig/modern_treasury/resources/internal_accounts.rbs +1 -0
  135. data/sig/modern_treasury/resources/invoices.rbs +0 -4
  136. data/sig/modern_treasury/resources/legal_entities.rbs +13 -1
  137. metadata +22 -2
@@ -1185,6 +1185,10 @@ module ModernTreasury
1185
1185
  end
1186
1186
  attr_writer :bank_settings
1187
1187
 
1188
+ # A description of the business.
1189
+ sig { returns(T.nilable(String)) }
1190
+ attr_accessor :business_description
1191
+
1188
1192
  # The business's legal business name.
1189
1193
  sig { returns(T.nilable(String)) }
1190
1194
  attr_accessor :business_name
@@ -1204,6 +1208,11 @@ module ModernTreasury
1204
1208
  end
1205
1209
  attr_writer :compliance_details
1206
1210
 
1211
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
1212
+ # alpha-3 formats.
1213
+ sig { returns(T.nilable(String)) }
1214
+ attr_accessor :country_of_incorporation
1215
+
1207
1216
  # A business's formation date (YYYY-MM-DD).
1208
1217
  sig { returns(T.nilable(Date)) }
1209
1218
  attr_accessor :date_formed
@@ -1222,6 +1231,10 @@ module ModernTreasury
1222
1231
  sig { returns(T.nilable(String)) }
1223
1232
  attr_accessor :email
1224
1233
 
1234
+ # Monthly expected transaction volume in entity's local currency.
1235
+ sig { returns(T.nilable(Integer)) }
1236
+ attr_accessor :expected_activity_volume
1237
+
1225
1238
  # An individual's first name.
1226
1239
  sig { returns(T.nilable(String)) }
1227
1240
  attr_accessor :first_name
@@ -1262,6 +1275,10 @@ module ModernTreasury
1262
1275
  end
1263
1276
  attr_writer :industry_classifications
1264
1277
 
1278
+ # A description of the intended use of the legal entity.
1279
+ sig { returns(T.nilable(String)) }
1280
+ attr_accessor :intended_use
1281
+
1265
1282
  # An individual's last name.
1266
1283
  sig { returns(T.nilable(String)) }
1267
1284
  attr_accessor :last_name
@@ -1270,9 +1287,7 @@ module ModernTreasury
1270
1287
  sig do
1271
1288
  returns(
1272
1289
  T.nilable(
1273
- T::Array[
1274
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation
1275
- ]
1290
+ T::Array[ModernTreasury::LegalEntityAssociationInlineCreate]
1276
1291
  )
1277
1292
  )
1278
1293
  end
@@ -1300,6 +1315,14 @@ module ModernTreasury
1300
1315
  sig { returns(T.nilable(String)) }
1301
1316
  attr_accessor :middle_name
1302
1317
 
1318
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
1319
+ # codes).
1320
+ sig { returns(T.nilable(T::Array[String])) }
1321
+ attr_reader :operating_jurisdictions
1322
+
1323
+ sig { params(operating_jurisdictions: T::Array[String]).void }
1324
+ attr_writer :operating_jurisdictions
1325
+
1303
1326
  sig do
1304
1327
  returns(
1305
1328
  T.nilable(
@@ -1333,6 +1356,13 @@ module ModernTreasury
1333
1356
  sig { returns(T.nilable(String)) }
1334
1357
  attr_accessor :prefix
1335
1358
 
1359
+ # A list of primary social media URLs for the business.
1360
+ sig { returns(T.nilable(T::Array[String])) }
1361
+ attr_reader :primary_social_media_sites
1362
+
1363
+ sig { params(primary_social_media_sites: T::Array[String]).void }
1364
+ attr_writer :primary_social_media_sites
1365
+
1336
1366
  # The risk rating of the legal entity. One of low, medium, high.
1337
1367
  sig do
1338
1368
  returns(
@@ -1374,14 +1404,17 @@ module ModernTreasury
1374
1404
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest::OrHash],
1375
1405
  bank_settings:
1376
1406
  T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash),
1407
+ business_description: T.nilable(String),
1377
1408
  business_name: T.nilable(String),
1378
1409
  citizenship_country: T.nilable(String),
1379
1410
  compliance_details:
1380
1411
  T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash),
1412
+ country_of_incorporation: T.nilable(String),
1381
1413
  date_formed: T.nilable(Date),
1382
1414
  date_of_birth: T.nilable(Date),
1383
1415
  doing_business_as_names: T::Array[String],
1384
1416
  email: T.nilable(String),
1417
+ expected_activity_volume: T.nilable(Integer),
1385
1418
  first_name: T.nilable(String),
1386
1419
  identifications:
1387
1420
  T::Array[ModernTreasury::IdentificationCreateRequest::OrHash],
@@ -1389,11 +1422,12 @@ module ModernTreasury
1389
1422
  T::Array[
1390
1423
  ModernTreasury::LegalEntityIndustryClassification::OrHash
1391
1424
  ],
1425
+ intended_use: T.nilable(String),
1392
1426
  last_name: T.nilable(String),
1393
1427
  legal_entity_associations:
1394
1428
  T.nilable(
1395
1429
  T::Array[
1396
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::OrHash
1430
+ ModernTreasury::LegalEntityAssociationInlineCreate::OrHash
1397
1431
  ]
1398
1432
  ),
1399
1433
  legal_structure:
@@ -1402,6 +1436,7 @@ module ModernTreasury
1402
1436
  ),
1403
1437
  metadata: T::Hash[Symbol, String],
1404
1438
  middle_name: T.nilable(String),
1439
+ operating_jurisdictions: T::Array[String],
1405
1440
  phone_numbers:
1406
1441
  T::Array[
1407
1442
  ModernTreasury::CounterpartyCreateParams::LegalEntity::PhoneNumber::OrHash
@@ -1409,6 +1444,7 @@ module ModernTreasury
1409
1444
  politically_exposed_person: T.nilable(T::Boolean),
1410
1445
  preferred_name: T.nilable(String),
1411
1446
  prefix: T.nilable(String),
1447
+ primary_social_media_sites: T::Array[String],
1412
1448
  risk_rating:
1413
1449
  T.nilable(
1414
1450
  ModernTreasury::CounterpartyCreateParams::LegalEntity::RiskRating::OrSymbol
@@ -1427,11 +1463,16 @@ module ModernTreasury
1427
1463
  # A list of addresses for the entity.
1428
1464
  addresses: nil,
1429
1465
  bank_settings: nil,
1466
+ # A description of the business.
1467
+ business_description: nil,
1430
1468
  # The business's legal business name.
1431
1469
  business_name: nil,
1432
1470
  # The country of citizenship for an individual.
1433
1471
  citizenship_country: nil,
1434
1472
  compliance_details: nil,
1473
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
1474
+ # alpha-3 formats.
1475
+ country_of_incorporation: nil,
1435
1476
  # A business's formation date (YYYY-MM-DD).
1436
1477
  date_formed: nil,
1437
1478
  # An individual's date of birth (YYYY-MM-DD).
@@ -1439,12 +1480,16 @@ module ModernTreasury
1439
1480
  doing_business_as_names: nil,
1440
1481
  # The entity's primary email.
1441
1482
  email: nil,
1483
+ # Monthly expected transaction volume in entity's local currency.
1484
+ expected_activity_volume: nil,
1442
1485
  # An individual's first name.
1443
1486
  first_name: nil,
1444
1487
  # A list of identifications for the legal entity.
1445
1488
  identifications: nil,
1446
1489
  # A list of industry classifications for the legal entity.
1447
1490
  industry_classifications: nil,
1491
+ # A description of the intended use of the legal entity.
1492
+ intended_use: nil,
1448
1493
  # An individual's last name.
1449
1494
  last_name: nil,
1450
1495
  # The legal entity associations and its child legal entities.
@@ -1456,6 +1501,9 @@ module ModernTreasury
1456
1501
  metadata: nil,
1457
1502
  # An individual's middle name.
1458
1503
  middle_name: nil,
1504
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
1505
+ # codes).
1506
+ operating_jurisdictions: nil,
1459
1507
  phone_numbers: nil,
1460
1508
  # Whether the individual is a politically exposed person.
1461
1509
  politically_exposed_person: nil,
@@ -1463,6 +1511,8 @@ module ModernTreasury
1463
1511
  preferred_name: nil,
1464
1512
  # An individual's prefix.
1465
1513
  prefix: nil,
1514
+ # A list of primary social media URLs for the business.
1515
+ primary_social_media_sites: nil,
1466
1516
  # The risk rating of the legal entity. One of low, medium, high.
1467
1517
  risk_rating: nil,
1468
1518
  # An individual's suffix.
@@ -1481,25 +1531,27 @@ module ModernTreasury
1481
1531
  addresses:
1482
1532
  T::Array[ModernTreasury::LegalEntityAddressCreateRequest],
1483
1533
  bank_settings: T.nilable(ModernTreasury::LegalEntityBankSettings),
1534
+ business_description: T.nilable(String),
1484
1535
  business_name: T.nilable(String),
1485
1536
  citizenship_country: T.nilable(String),
1486
1537
  compliance_details:
1487
1538
  T.nilable(ModernTreasury::LegalEntityComplianceDetail),
1539
+ country_of_incorporation: T.nilable(String),
1488
1540
  date_formed: T.nilable(Date),
1489
1541
  date_of_birth: T.nilable(Date),
1490
1542
  doing_business_as_names: T::Array[String],
1491
1543
  email: T.nilable(String),
1544
+ expected_activity_volume: T.nilable(Integer),
1492
1545
  first_name: T.nilable(String),
1493
1546
  identifications:
1494
1547
  T::Array[ModernTreasury::IdentificationCreateRequest],
1495
1548
  industry_classifications:
1496
1549
  T::Array[ModernTreasury::LegalEntityIndustryClassification],
1550
+ intended_use: T.nilable(String),
1497
1551
  last_name: T.nilable(String),
1498
1552
  legal_entity_associations:
1499
1553
  T.nilable(
1500
- T::Array[
1501
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation
1502
- ]
1554
+ T::Array[ModernTreasury::LegalEntityAssociationInlineCreate]
1503
1555
  ),
1504
1556
  legal_structure:
1505
1557
  T.nilable(
@@ -1507,6 +1559,7 @@ module ModernTreasury
1507
1559
  ),
1508
1560
  metadata: T::Hash[Symbol, String],
1509
1561
  middle_name: T.nilable(String),
1562
+ operating_jurisdictions: T::Array[String],
1510
1563
  phone_numbers:
1511
1564
  T::Array[
1512
1565
  ModernTreasury::CounterpartyCreateParams::LegalEntity::PhoneNumber
@@ -1514,6 +1567,7 @@ module ModernTreasury
1514
1567
  politically_exposed_person: T.nilable(T::Boolean),
1515
1568
  preferred_name: T.nilable(String),
1516
1569
  prefix: T.nilable(String),
1570
+ primary_social_media_sites: T::Array[String],
1517
1571
  risk_rating:
1518
1572
  T.nilable(
1519
1573
  ModernTreasury::CounterpartyCreateParams::LegalEntity::RiskRating::OrSymbol
@@ -1563,134 +1617,6 @@ module ModernTreasury
1563
1617
  end
1564
1618
  end
1565
1619
 
1566
- class LegalEntityAssociation < ModernTreasury::Internal::Type::BaseModel
1567
- OrHash =
1568
- T.type_alias do
1569
- T.any(
1570
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation,
1571
- ModernTreasury::Internal::AnyHash
1572
- )
1573
- end
1574
-
1575
- sig do
1576
- returns(
1577
- T::Array[
1578
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::OrSymbol
1579
- ]
1580
- )
1581
- end
1582
- attr_accessor :relationship_types
1583
-
1584
- # The child legal entity.
1585
- sig { returns(T.nilable(ModernTreasury::ChildLegalEntityCreate)) }
1586
- attr_reader :child_legal_entity
1587
-
1588
- sig do
1589
- params(
1590
- child_legal_entity: ModernTreasury::ChildLegalEntityCreate::OrHash
1591
- ).void
1592
- end
1593
- attr_writer :child_legal_entity
1594
-
1595
- # The ID of the child legal entity.
1596
- sig { returns(T.nilable(String)) }
1597
- attr_reader :child_legal_entity_id
1598
-
1599
- sig { params(child_legal_entity_id: String).void }
1600
- attr_writer :child_legal_entity_id
1601
-
1602
- # The child entity's ownership percentage iff they are a beneficial owner.
1603
- sig { returns(T.nilable(Integer)) }
1604
- attr_accessor :ownership_percentage
1605
-
1606
- # The job title of the child entity at the parent entity.
1607
- sig { returns(T.nilable(String)) }
1608
- attr_accessor :title
1609
-
1610
- sig do
1611
- params(
1612
- relationship_types:
1613
- T::Array[
1614
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::OrSymbol
1615
- ],
1616
- child_legal_entity:
1617
- ModernTreasury::ChildLegalEntityCreate::OrHash,
1618
- child_legal_entity_id: String,
1619
- ownership_percentage: T.nilable(Integer),
1620
- title: T.nilable(String)
1621
- ).returns(T.attached_class)
1622
- end
1623
- def self.new(
1624
- relationship_types:,
1625
- # The child legal entity.
1626
- child_legal_entity: nil,
1627
- # The ID of the child legal entity.
1628
- child_legal_entity_id: nil,
1629
- # The child entity's ownership percentage iff they are a beneficial owner.
1630
- ownership_percentage: nil,
1631
- # The job title of the child entity at the parent entity.
1632
- title: nil
1633
- )
1634
- end
1635
-
1636
- sig do
1637
- override.returns(
1638
- {
1639
- relationship_types:
1640
- T::Array[
1641
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::OrSymbol
1642
- ],
1643
- child_legal_entity: ModernTreasury::ChildLegalEntityCreate,
1644
- child_legal_entity_id: String,
1645
- ownership_percentage: T.nilable(Integer),
1646
- title: T.nilable(String)
1647
- }
1648
- )
1649
- end
1650
- def to_hash
1651
- end
1652
-
1653
- # A list of relationship types for how the child entity relates to parent entity.
1654
- module RelationshipType
1655
- extend ModernTreasury::Internal::Type::Enum
1656
-
1657
- TaggedSymbol =
1658
- T.type_alias do
1659
- T.all(
1660
- Symbol,
1661
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType
1662
- )
1663
- end
1664
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1665
-
1666
- AUTHORIZED_SIGNER =
1667
- T.let(
1668
- :authorized_signer,
1669
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::TaggedSymbol
1670
- )
1671
- BENEFICIAL_OWNER =
1672
- T.let(
1673
- :beneficial_owner,
1674
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::TaggedSymbol
1675
- )
1676
- CONTROL_PERSON =
1677
- T.let(
1678
- :control_person,
1679
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::TaggedSymbol
1680
- )
1681
-
1682
- sig do
1683
- override.returns(
1684
- T::Array[
1685
- ModernTreasury::CounterpartyCreateParams::LegalEntity::LegalEntityAssociation::RelationshipType::TaggedSymbol
1686
- ]
1687
- )
1688
- end
1689
- def self.values
1690
- end
1691
- end
1692
- end
1693
-
1694
1620
  # The business's legal structure.
1695
1621
  module LegalStructure
1696
1622
  extend ModernTreasury::Internal::Type::Enum
@@ -25,13 +25,17 @@ module ModernTreasury
25
25
  attr_accessor :document_type
26
26
 
27
27
  # The unique identifier for the associated object.
28
- sig { returns(String) }
28
+ sig { returns(T.nilable(String)) }
29
29
  attr_accessor :documentable_id
30
30
 
31
31
  # The type of the associated object. Currently can be one of `payment_order`,
32
32
  # `transaction`, `expected_payment`, `counterparty`, `organization`, `case`,
33
33
  # `internal_account`, `decision`, or `external_account`.
34
- sig { returns(ModernTreasury::Document::DocumentableType::TaggedSymbol) }
34
+ sig do
35
+ returns(
36
+ T.nilable(ModernTreasury::Document::DocumentableType::TaggedSymbol)
37
+ )
38
+ end
35
39
  attr_accessor :documentable_type
36
40
 
37
41
  sig { returns(ModernTreasury::Document::File) }
@@ -63,9 +67,9 @@ module ModernTreasury
63
67
  document_details:
64
68
  T::Array[ModernTreasury::Document::DocumentDetail::OrHash],
65
69
  document_type: T.nilable(String),
66
- documentable_id: String,
70
+ documentable_id: T.nilable(String),
67
71
  documentable_type:
68
- ModernTreasury::Document::DocumentableType::OrSymbol,
72
+ T.nilable(ModernTreasury::Document::DocumentableType::OrSymbol),
69
73
  file: ModernTreasury::Document::File::OrHash,
70
74
  live_mode: T::Boolean,
71
75
  object: String,
@@ -106,9 +110,11 @@ module ModernTreasury
106
110
  document_details:
107
111
  T::Array[ModernTreasury::Document::DocumentDetail],
108
112
  document_type: T.nilable(String),
109
- documentable_id: String,
113
+ documentable_id: T.nilable(String),
110
114
  documentable_type:
111
- ModernTreasury::Document::DocumentableType::TaggedSymbol,
115
+ T.nilable(
116
+ ModernTreasury::Document::DocumentableType::TaggedSymbol
117
+ ),
112
118
  file: ModernTreasury::Document::File,
113
119
  live_mode: T::Boolean,
114
120
  object: String,
@@ -211,6 +217,11 @@ module ModernTreasury
211
217
  end
212
218
  OrSymbol = T.type_alias { T.any(Symbol, String) }
213
219
 
220
+ CONNECTION =
221
+ T.let(
222
+ :connection,
223
+ ModernTreasury::Document::DocumentableType::TaggedSymbol
224
+ )
214
225
  COUNTERPARTY =
215
226
  T.let(
216
227
  :counterparty,
@@ -241,6 +252,11 @@ module ModernTreasury
241
252
  :internal_account,
242
253
  ModernTreasury::Document::DocumentableType::TaggedSymbol
243
254
  )
255
+ LEGAL_ENTITY =
256
+ T.let(
257
+ :legal_entity,
258
+ ModernTreasury::Document::DocumentableType::TaggedSymbol
259
+ )
244
260
  ORGANIZATION =
245
261
  T.let(
246
262
  :organization,
@@ -256,11 +272,6 @@ module ModernTreasury
256
272
  :transaction,
257
273
  ModernTreasury::Document::DocumentableType::TaggedSymbol
258
274
  )
259
- CONNECTION =
260
- T.let(
261
- :connection,
262
- ModernTreasury::Document::DocumentableType::TaggedSymbol
263
- )
264
275
 
265
276
  sig do
266
277
  override.returns(
@@ -14,17 +14,6 @@ module ModernTreasury
14
14
  )
15
15
  end
16
16
 
17
- # The unique identifier for the associated object.
18
- sig { returns(String) }
19
- attr_accessor :documentable_id
20
-
21
- sig do
22
- returns(
23
- ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol
24
- )
25
- end
26
- attr_accessor :documentable_type
27
-
28
17
  sig { returns(ModernTreasury::Internal::FileInput) }
29
18
  attr_accessor :file
30
19
 
@@ -35,23 +24,47 @@ module ModernTreasury
35
24
  sig { params(document_type: String).void }
36
25
  attr_writer :document_type
37
26
 
27
+ # The unique identifier for the associated object.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :documentable_id
30
+
31
+ sig { params(documentable_id: String).void }
32
+ attr_writer :documentable_id
33
+
34
+ sig do
35
+ returns(
36
+ T.nilable(
37
+ ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol
38
+ )
39
+ )
40
+ end
41
+ attr_reader :documentable_type
42
+
38
43
  sig do
39
44
  params(
40
- documentable_id: String,
41
45
  documentable_type:
42
- ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol,
46
+ ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol
47
+ ).void
48
+ end
49
+ attr_writer :documentable_type
50
+
51
+ sig do
52
+ params(
43
53
  file: ModernTreasury::Internal::FileInput,
44
54
  document_type: String,
55
+ documentable_id: String,
56
+ documentable_type:
57
+ ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol,
45
58
  request_options: ModernTreasury::RequestOptions::OrHash
46
59
  ).returns(T.attached_class)
47
60
  end
48
61
  def self.new(
49
- # The unique identifier for the associated object.
50
- documentable_id:,
51
- documentable_type:,
52
62
  file:,
53
63
  # A category given to the document, can be `null`.
54
64
  document_type: nil,
65
+ # The unique identifier for the associated object.
66
+ documentable_id: nil,
67
+ documentable_type: nil,
55
68
  request_options: {}
56
69
  )
57
70
  end
@@ -59,11 +72,11 @@ module ModernTreasury
59
72
  sig do
60
73
  override.returns(
61
74
  {
75
+ file: ModernTreasury::Internal::FileInput,
76
+ document_type: String,
62
77
  documentable_id: String,
63
78
  documentable_type:
64
79
  ModernTreasury::DocumentCreateParams::DocumentableType::OrSymbol,
65
- file: ModernTreasury::Internal::FileInput,
66
- document_type: String,
67
80
  request_options: ModernTreasury::RequestOptions
68
81
  }
69
82
  )
@@ -83,6 +96,11 @@ module ModernTreasury
83
96
  end
84
97
  OrSymbol = T.type_alias { T.any(Symbol, String) }
85
98
 
99
+ CONNECTIONS =
100
+ T.let(
101
+ :connections,
102
+ ModernTreasury::DocumentCreateParams::DocumentableType::TaggedSymbol
103
+ )
86
104
  COUNTERPARTIES =
87
105
  T.let(
88
106
  :counterparties,
@@ -113,6 +131,11 @@ module ModernTreasury
113
131
  :internal_accounts,
114
132
  ModernTreasury::DocumentCreateParams::DocumentableType::TaggedSymbol
115
133
  )
134
+ LEGAL_ENTITIES =
135
+ T.let(
136
+ :legal_entities,
137
+ ModernTreasury::DocumentCreateParams::DocumentableType::TaggedSymbol
138
+ )
116
139
  ORGANIZATIONS =
117
140
  T.let(
118
141
  :organizations,
@@ -128,11 +151,6 @@ module ModernTreasury
128
151
  :transactions,
129
152
  ModernTreasury::DocumentCreateParams::DocumentableType::TaggedSymbol
130
153
  )
131
- CONNECTIONS =
132
- T.let(
133
- :connections,
134
- ModernTreasury::DocumentCreateParams::DocumentableType::TaggedSymbol
135
- )
136
154
 
137
155
  sig do
138
156
  override.returns(
@@ -100,6 +100,11 @@ module ModernTreasury
100
100
  end
101
101
  OrSymbol = T.type_alias { T.any(Symbol, String) }
102
102
 
103
+ CONNECTIONS =
104
+ T.let(
105
+ :connections,
106
+ ModernTreasury::DocumentListParams::DocumentableType::TaggedSymbol
107
+ )
103
108
  COUNTERPARTIES =
104
109
  T.let(
105
110
  :counterparties,
@@ -130,6 +135,11 @@ module ModernTreasury
130
135
  :internal_accounts,
131
136
  ModernTreasury::DocumentListParams::DocumentableType::TaggedSymbol
132
137
  )
138
+ LEGAL_ENTITIES =
139
+ T.let(
140
+ :legal_entities,
141
+ ModernTreasury::DocumentListParams::DocumentableType::TaggedSymbol
142
+ )
133
143
  ORGANIZATIONS =
134
144
  T.let(
135
145
  :organizations,
@@ -145,11 +155,6 @@ module ModernTreasury
145
155
  :transactions,
146
156
  ModernTreasury::DocumentListParams::DocumentableType::TaggedSymbol
147
157
  )
148
- CONNECTIONS =
149
- T.let(
150
- :connections,
151
- ModernTreasury::DocumentListParams::DocumentableType::TaggedSymbol
152
- )
153
158
 
154
159
  sig do
155
160
  override.returns(