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,68 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class JournalEntryListParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::JournalEntryListParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The ID of the journal report
18
+ sig { returns(String) }
19
+ attr_accessor :journal_report_id
20
+
21
+ # Page number for pagination
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :page
24
+
25
+ sig { params(page: Integer).void }
26
+ attr_writer :page
27
+
28
+ # Number of items per page
29
+ sig { returns(T.nilable(Integer)) }
30
+ attr_reader :per_page
31
+
32
+ sig { params(per_page: Integer).void }
33
+ attr_writer :per_page
34
+
35
+ sig do
36
+ params(
37
+ journal_report_id: String,
38
+ page: Integer,
39
+ per_page: Integer,
40
+ request_options: ModernTreasury::RequestOptions::OrHash
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # The ID of the journal report
45
+ journal_report_id:,
46
+ # Page number for pagination
47
+ page: nil,
48
+ # Number of items per page
49
+ per_page: nil,
50
+ request_options: {}
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ journal_report_id: String,
58
+ page: Integer,
59
+ per_page: Integer,
60
+ request_options: ModernTreasury::RequestOptions
61
+ }
62
+ )
63
+ end
64
+ def to_hash
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class JournalEntryRetrieveParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::JournalEntryRetrieveParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: ModernTreasury::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig do
26
+ override.returns({ request_options: ModernTreasury::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class JournalReportListParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::JournalReportListParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: ModernTreasury::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig do
26
+ override.returns({ request_options: ModernTreasury::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class JournalReportRetrieveParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::JournalReportRetrieveParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: ModernTreasury::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig do
26
+ override.returns({ request_options: ModernTreasury::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class JournalReportUpdateParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::JournalReportUpdateParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(T.nilable(T.anything)) }
18
+ attr_reader :metadata
19
+
20
+ sig { params(metadata: T.anything).void }
21
+ attr_writer :metadata
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :status
25
+
26
+ sig { params(status: String).void }
27
+ attr_writer :status
28
+
29
+ sig do
30
+ params(
31
+ metadata: T.anything,
32
+ status: String,
33
+ request_options: ModernTreasury::RequestOptions::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(metadata: nil, status: nil, request_options: {})
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ metadata: T.anything,
43
+ status: String,
44
+ request_options: ModernTreasury::RequestOptions
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -29,6 +29,11 @@ module ModernTreasury
29
29
  sig { returns(T.nilable(Time)) }
30
30
  attr_accessor :discarded_at
31
31
 
32
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
33
+ # reporting purposes.
34
+ sig { returns(Time) }
35
+ attr_accessor :effective_at
36
+
32
37
  # The currency of the ledger account.
33
38
  sig { returns(String) }
34
39
  attr_accessor :ledger_account_currency
@@ -98,6 +103,7 @@ module ModernTreasury
98
103
  created_at: Time,
99
104
  direction: ModernTreasury::TransactionDirection::OrSymbol,
100
105
  discarded_at: T.nilable(Time),
106
+ effective_at: Time,
101
107
  ledger_account_currency: String,
102
108
  ledger_account_currency_exponent: Integer,
103
109
  ledger_account_id: String,
@@ -124,6 +130,9 @@ module ModernTreasury
124
130
  # rtp, and check payments will always be `credit`.
125
131
  direction:,
126
132
  discarded_at:,
133
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
134
+ # reporting purposes.
135
+ effective_at:,
127
136
  # The currency of the ledger account.
128
137
  ledger_account_currency:,
129
138
  # The currency exponent of the ledger account.
@@ -167,6 +176,7 @@ module ModernTreasury
167
176
  created_at: Time,
168
177
  direction: ModernTreasury::TransactionDirection::TaggedSymbol,
169
178
  discarded_at: T.nilable(Time),
179
+ effective_at: Time,
170
180
  ledger_account_currency: String,
171
181
  ledger_account_currency_exponent: Integer,
172
182
  ledger_account_id: String,
@@ -33,6 +33,14 @@ module ModernTreasury
33
33
  sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
34
34
  attr_accessor :available_balance_amount
35
35
 
36
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
37
+ # reporting purposes.
38
+ sig { returns(T.nilable(Time)) }
39
+ attr_reader :effective_at
40
+
41
+ sig { params(effective_at: Time).void }
42
+ attr_writer :effective_at
43
+
36
44
  # Lock version of the ledger account. This can be passed when creating a ledger
37
45
  # transaction to only succeed if no ledger transactions have posted since the
38
46
  # given version. See our post about Designing the Ledgers API with Optimistic
@@ -71,6 +79,7 @@ module ModernTreasury
71
79
  direction: ModernTreasury::TransactionDirection::OrSymbol,
72
80
  ledger_account_id: String,
73
81
  available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
82
+ effective_at: Time,
74
83
  lock_version: T.nilable(Integer),
75
84
  metadata: T::Hash[Symbol, String],
76
85
  pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
@@ -93,6 +102,9 @@ module ModernTreasury
93
102
  # account’s available balance. If any of these conditions would be false after the
94
103
  # transaction is created, the entire call will fail with error code 422.
95
104
  available_balance_amount: nil,
105
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
106
+ # reporting purposes.
107
+ effective_at: nil,
96
108
  # Lock version of the ledger account. This can be passed when creating a ledger
97
109
  # transaction to only succeed if no ledger transactions have posted since the
98
110
  # given version. See our post about Designing the Ledgers API with Optimistic
@@ -122,6 +134,7 @@ module ModernTreasury
122
134
  direction: ModernTreasury::TransactionDirection::OrSymbol,
123
135
  ledger_account_id: String,
124
136
  available_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
137
+ effective_at: Time,
125
138
  lock_version: T.nilable(Integer),
126
139
  metadata: T::Hash[Symbol, String],
127
140
  pending_balance_amount: T.nilable(T::Hash[Symbol, Integer]),
@@ -276,6 +276,11 @@ module ModernTreasury
276
276
  sig { returns(ModernTreasury::TransactionDirection::TaggedSymbol) }
277
277
  attr_accessor :direction
278
278
 
279
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
280
+ # reporting purposes.
281
+ sig { returns(Time) }
282
+ attr_accessor :effective_at
283
+
279
284
  # The currency of the ledger account.
280
285
  sig { returns(String) }
281
286
  attr_accessor :ledger_account_currency
@@ -345,6 +350,7 @@ module ModernTreasury
345
350
  amount: Integer,
346
351
  created_at: Time,
347
352
  direction: ModernTreasury::TransactionDirection::OrSymbol,
353
+ effective_at: Time,
348
354
  ledger_account_currency: String,
349
355
  ledger_account_currency_exponent: Integer,
350
356
  ledger_account_id: String,
@@ -370,6 +376,9 @@ module ModernTreasury
370
376
  # `debit` pulls money from someone else's account to your own. Note that wire,
371
377
  # rtp, and check payments will always be `credit`.
372
378
  direction:,
379
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
380
+ # reporting purposes.
381
+ effective_at:,
373
382
  # The currency of the ledger account.
374
383
  ledger_account_currency:,
375
384
  # The currency exponent of the ledger account.
@@ -411,6 +420,7 @@ module ModernTreasury
411
420
  amount: Integer,
412
421
  created_at: Time,
413
422
  direction: ModernTreasury::TransactionDirection::TaggedSymbol,
423
+ effective_at: Time,
414
424
  ledger_account_currency: String,
415
425
  ledger_account_currency_exponent: Integer,
416
426
  ledger_account_id: String,
@@ -26,6 +26,10 @@ module ModernTreasury
26
26
  end
27
27
  attr_writer :bank_settings
28
28
 
29
+ # A description of the business.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :business_description
32
+
29
33
  # The business's legal business name.
30
34
  sig { returns(T.nilable(String)) }
31
35
  attr_accessor :business_name
@@ -45,6 +49,11 @@ module ModernTreasury
45
49
  end
46
50
  attr_writer :compliance_details
47
51
 
52
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
53
+ # alpha-3 formats.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_accessor :country_of_incorporation
56
+
48
57
  sig { returns(Time) }
49
58
  attr_accessor :created_at
50
59
 
@@ -66,6 +75,10 @@ module ModernTreasury
66
75
  sig { returns(T.nilable(String)) }
67
76
  attr_accessor :email
68
77
 
78
+ # Monthly expected transaction volume in entity's local currency.
79
+ sig { returns(T.nilable(Integer)) }
80
+ attr_accessor :expected_activity_volume
81
+
69
82
  # An individual's first name.
70
83
  sig { returns(T.nilable(String)) }
71
84
  attr_accessor :first_name
@@ -80,16 +93,14 @@ module ModernTreasury
80
93
  end
81
94
  attr_accessor :industry_classifications
82
95
 
96
+ # A description of the intended use of the legal entity.
97
+ sig { returns(T.nilable(String)) }
98
+ attr_accessor :intended_use
99
+
83
100
  # An individual's last name.
84
101
  sig { returns(T.nilable(String)) }
85
102
  attr_accessor :last_name
86
103
 
87
- # The legal entity associations and its child legal entities.
88
- sig do
89
- returns(T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]))
90
- end
91
- attr_accessor :legal_entity_associations
92
-
93
104
  # The type of legal entity.
94
105
  sig do
95
106
  returns(ModernTreasury::LegalEntity::LegalEntityType::TaggedSymbol)
@@ -121,6 +132,11 @@ module ModernTreasury
121
132
  sig { returns(String) }
122
133
  attr_accessor :object
123
134
 
135
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
136
+ # codes).
137
+ sig { returns(T::Array[String]) }
138
+ attr_accessor :operating_jurisdictions
139
+
124
140
  sig { returns(T::Array[ModernTreasury::LegalEntity::PhoneNumber]) }
125
141
  attr_accessor :phone_numbers
126
142
 
@@ -136,6 +152,10 @@ module ModernTreasury
136
152
  sig { returns(T.nilable(String)) }
137
153
  attr_accessor :prefix
138
154
 
155
+ # A list of primary social media URLs for the business.
156
+ sig { returns(T::Array[String]) }
157
+ attr_accessor :primary_social_media_sites
158
+
139
159
  # The risk rating of the legal entity. One of low, medium, high.
140
160
  sig do
141
161
  returns(
@@ -168,30 +188,38 @@ module ModernTreasury
168
188
  sig { returns(T.nilable(String)) }
169
189
  attr_accessor :website
170
190
 
191
+ # The legal entity associations and its child legal entities.
192
+ sig do
193
+ returns(T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]))
194
+ end
195
+ attr_accessor :legal_entity_associations
196
+
171
197
  sig do
172
198
  params(
173
199
  id: String,
174
200
  addresses: T::Array[ModernTreasury::LegalEntity::Address::OrHash],
175
201
  bank_settings:
176
202
  T.nilable(ModernTreasury::LegalEntityBankSettings::OrHash),
203
+ business_description: T.nilable(String),
177
204
  business_name: T.nilable(String),
178
205
  citizenship_country: T.nilable(String),
179
206
  compliance_details:
180
207
  T.nilable(ModernTreasury::LegalEntityComplianceDetail::OrHash),
208
+ country_of_incorporation: T.nilable(String),
181
209
  created_at: Time,
182
210
  date_formed: T.nilable(Date),
183
211
  date_of_birth: T.nilable(Date),
184
212
  discarded_at: T.nilable(Time),
185
213
  doing_business_as_names: T::Array[String],
186
214
  email: T.nilable(String),
215
+ expected_activity_volume: T.nilable(Integer),
187
216
  first_name: T.nilable(String),
188
217
  identifications:
189
218
  T::Array[ModernTreasury::LegalEntity::Identification::OrHash],
190
219
  industry_classifications:
191
220
  T::Array[ModernTreasury::LegalEntityIndustryClassification::OrHash],
221
+ intended_use: T.nilable(String),
192
222
  last_name: T.nilable(String),
193
- legal_entity_associations:
194
- T.nilable(T::Array[ModernTreasury::LegalEntityAssociation::OrHash]),
195
223
  legal_entity_type:
196
224
  ModernTreasury::LegalEntity::LegalEntityType::OrSymbol,
197
225
  legal_structure:
@@ -200,11 +228,13 @@ module ModernTreasury
200
228
  metadata: T::Hash[Symbol, String],
201
229
  middle_name: T.nilable(String),
202
230
  object: String,
231
+ operating_jurisdictions: T::Array[String],
203
232
  phone_numbers:
204
233
  T::Array[ModernTreasury::LegalEntity::PhoneNumber::OrHash],
205
234
  politically_exposed_person: T.nilable(T::Boolean),
206
235
  preferred_name: T.nilable(String),
207
236
  prefix: T.nilable(String),
237
+ primary_social_media_sites: T::Array[String],
208
238
  risk_rating:
209
239
  T.nilable(ModernTreasury::LegalEntity::RiskRating::OrSymbol),
210
240
  suffix: T.nilable(String),
@@ -213,7 +243,9 @@ module ModernTreasury
213
243
  T.nilable(
214
244
  ModernTreasury::LegalEntityWealthEmploymentDetail::OrHash
215
245
  ),
216
- website: T.nilable(String)
246
+ website: T.nilable(String),
247
+ legal_entity_associations:
248
+ T.nilable(T::Array[ModernTreasury::LegalEntityAssociation::OrHash])
217
249
  ).returns(T.attached_class)
218
250
  end
219
251
  def self.new(
@@ -221,11 +253,16 @@ module ModernTreasury
221
253
  # A list of addresses for the entity.
222
254
  addresses:,
223
255
  bank_settings:,
256
+ # A description of the business.
257
+ business_description:,
224
258
  # The business's legal business name.
225
259
  business_name:,
226
260
  # The country of citizenship for an individual.
227
261
  citizenship_country:,
228
262
  compliance_details:,
263
+ # The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
264
+ # alpha-3 formats.
265
+ country_of_incorporation:,
229
266
  created_at:,
230
267
  # A business's formation date (YYYY-MM-DD).
231
268
  date_formed:,
@@ -235,16 +272,18 @@ module ModernTreasury
235
272
  doing_business_as_names:,
236
273
  # The entity's primary email.
237
274
  email:,
275
+ # Monthly expected transaction volume in entity's local currency.
276
+ expected_activity_volume:,
238
277
  # An individual's first name.
239
278
  first_name:,
240
279
  # A list of identifications for the legal entity.
241
280
  identifications:,
242
281
  # A list of industry classifications for the legal entity.
243
282
  industry_classifications:,
283
+ # A description of the intended use of the legal entity.
284
+ intended_use:,
244
285
  # An individual's last name.
245
286
  last_name:,
246
- # The legal entity associations and its child legal entities.
247
- legal_entity_associations:,
248
287
  # The type of legal entity.
249
288
  legal_entity_type:,
250
289
  # The business's legal structure.
@@ -258,6 +297,9 @@ module ModernTreasury
258
297
  # An individual's middle name.
259
298
  middle_name:,
260
299
  object:,
300
+ # A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3
301
+ # codes).
302
+ operating_jurisdictions:,
261
303
  phone_numbers:,
262
304
  # Whether the individual is a politically exposed person.
263
305
  politically_exposed_person:,
@@ -265,6 +307,8 @@ module ModernTreasury
265
307
  preferred_name:,
266
308
  # An individual's prefix.
267
309
  prefix:,
310
+ # A list of primary social media URLs for the business.
311
+ primary_social_media_sites:,
268
312
  # The risk rating of the legal entity. One of low, medium, high.
269
313
  risk_rating:,
270
314
  # An individual's suffix.
@@ -272,7 +316,9 @@ module ModernTreasury
272
316
  updated_at:,
273
317
  wealth_and_employment_details:,
274
318
  # The entity's primary website URL.
275
- website:
319
+ website:,
320
+ # The legal entity associations and its child legal entities.
321
+ legal_entity_associations: nil
276
322
  )
277
323
  end
278
324
 
@@ -282,24 +328,26 @@ module ModernTreasury
282
328
  id: String,
283
329
  addresses: T::Array[ModernTreasury::LegalEntity::Address],
284
330
  bank_settings: T.nilable(ModernTreasury::LegalEntityBankSettings),
331
+ business_description: T.nilable(String),
285
332
  business_name: T.nilable(String),
286
333
  citizenship_country: T.nilable(String),
287
334
  compliance_details:
288
335
  T.nilable(ModernTreasury::LegalEntityComplianceDetail),
336
+ country_of_incorporation: T.nilable(String),
289
337
  created_at: Time,
290
338
  date_formed: T.nilable(Date),
291
339
  date_of_birth: T.nilable(Date),
292
340
  discarded_at: T.nilable(Time),
293
341
  doing_business_as_names: T::Array[String],
294
342
  email: T.nilable(String),
343
+ expected_activity_volume: T.nilable(Integer),
295
344
  first_name: T.nilable(String),
296
345
  identifications:
297
346
  T::Array[ModernTreasury::LegalEntity::Identification],
298
347
  industry_classifications:
299
348
  T::Array[ModernTreasury::LegalEntityIndustryClassification],
349
+ intended_use: T.nilable(String),
300
350
  last_name: T.nilable(String),
301
- legal_entity_associations:
302
- T.nilable(T::Array[ModernTreasury::LegalEntityAssociation]),
303
351
  legal_entity_type:
304
352
  ModernTreasury::LegalEntity::LegalEntityType::TaggedSymbol,
305
353
  legal_structure:
@@ -310,17 +358,21 @@ module ModernTreasury
310
358
  metadata: T::Hash[Symbol, String],
311
359
  middle_name: T.nilable(String),
312
360
  object: String,
361
+ operating_jurisdictions: T::Array[String],
313
362
  phone_numbers: T::Array[ModernTreasury::LegalEntity::PhoneNumber],
314
363
  politically_exposed_person: T.nilable(T::Boolean),
315
364
  preferred_name: T.nilable(String),
316
365
  prefix: T.nilable(String),
366
+ primary_social_media_sites: T::Array[String],
317
367
  risk_rating:
318
368
  T.nilable(ModernTreasury::LegalEntity::RiskRating::TaggedSymbol),
319
369
  suffix: T.nilable(String),
320
370
  updated_at: Time,
321
371
  wealth_and_employment_details:
322
372
  T.nilable(ModernTreasury::LegalEntityWealthEmploymentDetail),
323
- website: T.nilable(String)
373
+ website: T.nilable(String),
374
+ legal_entity_associations:
375
+ T.nilable(T::Array[ModernTreasury::LegalEntityAssociation])
324
376
  }
325
377
  )
326
378
  end