modern_treasury 0.26.0 → 0.28.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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +4 -4
  4. data/lib/modern_treasury/client.rb +14 -0
  5. data/lib/modern_treasury/internal/transport/base_client.rb +5 -0
  6. data/lib/modern_treasury/internal/util.rb +3 -1
  7. data/lib/modern_treasury/models/bulk_request_create_params.rb +65 -202
  8. data/lib/modern_treasury/models/child_legal_entity.rb +121 -3
  9. data/lib/modern_treasury/models/child_legal_entity_create.rb +35 -1
  10. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +38 -1
  11. data/lib/modern_treasury/models/counterparty_collect_account_params.rb +0 -2
  12. data/lib/modern_treasury/models/counterparty_create_params.rb +38 -14
  13. data/lib/modern_treasury/models/currency.rb +0 -3
  14. data/lib/modern_treasury/models/document.rb +1 -73
  15. data/lib/modern_treasury/models/document_create_params.rb +11 -11
  16. data/lib/modern_treasury/models/document_list_params.rb +11 -11
  17. data/lib/modern_treasury/models/expected_payment.rb +2 -3
  18. data/lib/modern_treasury/models/expected_payment_create_params.rb +2 -3
  19. data/lib/modern_treasury/models/expected_payment_list_params.rb +3 -16
  20. data/lib/modern_treasury/models/expected_payment_type.rb +1 -13
  21. data/lib/modern_treasury/models/expected_payment_update_params.rb +2 -3
  22. data/lib/modern_treasury/models/external_account_create_params.rb +0 -13
  23. data/lib/modern_treasury/models/external_account_verify_params.rb +0 -11
  24. data/lib/modern_treasury/models/external_account_verify_response.rb +0 -11
  25. data/lib/modern_treasury/models/hold_list_params.rb +8 -11
  26. data/lib/modern_treasury/models/identification_create_request.rb +75 -0
  27. data/lib/modern_treasury/models/incoming_payment_detail.rb +15 -14
  28. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +11 -7
  29. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +15 -12
  30. data/lib/modern_treasury/models/internal_account.rb +12 -12
  31. data/lib/modern_treasury/models/internal_account_create_params.rb +37 -33
  32. data/lib/modern_treasury/models/internal_account_list_params.rb +0 -11
  33. data/lib/modern_treasury/models/internal_account_update_account_capability_response.rb +0 -11
  34. data/lib/modern_treasury/models/internal_accounts/balance_report.rb +15 -6
  35. data/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rb +20 -11
  36. data/lib/modern_treasury/models/invoice.rb +25 -1
  37. data/lib/modern_treasury/models/invoice_create_params.rb +3 -4
  38. data/lib/modern_treasury/models/invoice_update_params.rb +3 -4
  39. data/lib/modern_treasury/models/ledger_account_settlement_update_params.rb +10 -1
  40. data/lib/modern_treasury/models/ledger_balance.rb +22 -1
  41. data/lib/modern_treasury/models/ledger_entry.rb +10 -1
  42. data/lib/modern_treasury/models/ledger_entry_create_request.rb +19 -10
  43. data/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rb +69 -10
  44. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +10 -1
  45. data/lib/modern_treasury/models/legal_entity.rb +121 -3
  46. data/lib/modern_treasury/models/legal_entity_address_create_request.rb +14 -1
  47. data/lib/modern_treasury/models/legal_entity_association.rb +2 -3
  48. data/lib/modern_treasury/models/legal_entity_create_params.rb +34 -1
  49. data/lib/modern_treasury/models/legal_entity_update_params.rb +34 -1
  50. data/lib/modern_treasury/models/legal_entity_update_status_params.rb +46 -0
  51. data/lib/modern_treasury/models/payment_order.rb +9 -10
  52. data/lib/modern_treasury/models/payment_order_create_async_params.rb +4 -18
  53. data/lib/modern_treasury/models/payment_order_create_params.rb +15 -29
  54. data/lib/modern_treasury/models/payment_order_list_params.rb +0 -11
  55. data/lib/modern_treasury/models/payment_order_subtype.rb +2 -3
  56. data/lib/modern_treasury/models/payment_order_type.rb +2 -14
  57. data/lib/modern_treasury/models/payment_order_update_params.rb +4 -18
  58. data/lib/modern_treasury/models/payment_reference.rb +5 -5
  59. data/lib/modern_treasury/models/reconciliation_rule.rb +3 -16
  60. data/lib/modern_treasury/models/return_object.rb +11 -8
  61. data/lib/modern_treasury/models/routing_detail.rb +0 -13
  62. data/lib/modern_treasury/models/routing_detail_create_params.rb +0 -13
  63. data/lib/modern_treasury/models/routing_number_lookup_request.rb +0 -11
  64. data/lib/modern_treasury/models/third_party_verification.rb +2 -0
  65. data/lib/modern_treasury/models/transaction.rb +17 -20
  66. data/lib/modern_treasury/models/transaction_create_params.rb +23 -25
  67. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +0 -2
  68. data/lib/modern_treasury/models/virtual_account_create_params.rb +0 -13
  69. data/lib/modern_treasury/models.rb +2 -0
  70. data/lib/modern_treasury/resources/bulk_requests.rb +1 -1
  71. data/lib/modern_treasury/resources/expected_payments.rb +3 -3
  72. data/lib/modern_treasury/resources/holds.rb +3 -3
  73. data/lib/modern_treasury/resources/incoming_payment_details.rb +7 -3
  74. data/lib/modern_treasury/resources/internal_accounts.rb +8 -6
  75. data/lib/modern_treasury/resources/invoices.rb +2 -2
  76. data/lib/modern_treasury/resources/ledger_account_settlements.rb +3 -1
  77. data/lib/modern_treasury/resources/legal_entities.rb +33 -2
  78. data/lib/modern_treasury/resources/payment_orders.rb +3 -3
  79. data/lib/modern_treasury/resources/transactions.rb +5 -3
  80. data/lib/modern_treasury/version.rb +1 -1
  81. data/lib/modern_treasury.rb +1 -0
  82. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +104 -522
  83. data/rbi/modern_treasury/models/child_legal_entity.rbi +452 -5
  84. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +68 -0
  85. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +74 -0
  86. data/rbi/modern_treasury/models/counterparty_collect_account_params.rbi +0 -10
  87. data/rbi/modern_treasury/models/counterparty_create_params.rbi +74 -65
  88. data/rbi/modern_treasury/models/currency.rbi +0 -3
  89. data/rbi/modern_treasury/models/document.rbi +0 -87
  90. data/rbi/modern_treasury/models/document_create_params.rbi +22 -22
  91. data/rbi/modern_treasury/models/document_list_params.rbi +22 -22
  92. data/rbi/modern_treasury/models/expected_payment.rbi +2 -4
  93. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +2 -4
  94. data/rbi/modern_treasury/models/expected_payment_list_params.rbi +3 -61
  95. data/rbi/modern_treasury/models/expected_payment_type.rbi +1 -18
  96. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +2 -4
  97. data/rbi/modern_treasury/models/external_account_create_params.rbi +0 -65
  98. data/rbi/modern_treasury/models/external_account_verify_params.rbi +0 -55
  99. data/rbi/modern_treasury/models/external_account_verify_response.rbi +0 -55
  100. data/rbi/modern_treasury/models/hold_list_params.rbi +8 -13
  101. data/rbi/modern_treasury/models/identification_create_request.rbi +375 -0
  102. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +17 -43
  103. data/rbi/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +12 -27
  104. data/rbi/modern_treasury/models/incoming_payment_detail_list_params.rbi +20 -33
  105. data/rbi/modern_treasury/models/internal_account.rbi +14 -55
  106. data/rbi/modern_treasury/models/internal_account_create_params.rbi +60 -77
  107. data/rbi/modern_treasury/models/internal_account_list_params.rbi +0 -55
  108. data/rbi/modern_treasury/models/internal_account_update_account_capability_response.rbi +0 -55
  109. data/rbi/modern_treasury/models/internal_accounts/balance_report.rbi +17 -7
  110. data/rbi/modern_treasury/models/internal_accounts/balance_report_create_params.rbi +31 -15
  111. data/rbi/modern_treasury/models/invoice.rbi +27 -3
  112. data/rbi/modern_treasury/models/invoice_create_params.rbi +4 -6
  113. data/rbi/modern_treasury/models/invoice_update_params.rbi +4 -6
  114. data/rbi/modern_treasury/models/ledger_account_settlement_update_params.rbi +10 -0
  115. data/rbi/modern_treasury/models/ledger_balance.rbi +21 -3
  116. data/rbi/modern_treasury/models/ledger_entry.rbi +10 -0
  117. data/rbi/modern_treasury/models/ledger_entry_create_request.rbi +26 -10
  118. data/rbi/modern_treasury/models/ledger_transaction_create_partial_post_params.rbi +89 -13
  119. data/rbi/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +10 -0
  120. data/rbi/modern_treasury/models/legal_entity.rbi +451 -5
  121. data/rbi/modern_treasury/models/legal_entity_address_create_request.rbi +18 -3
  122. data/rbi/modern_treasury/models/legal_entity_association.rbi +2 -4
  123. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +68 -0
  124. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +68 -0
  125. data/rbi/modern_treasury/models/legal_entity_update_status_params.rbi +96 -0
  126. data/rbi/modern_treasury/models/payment_order.rbi +30 -32
  127. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +6 -73
  128. data/rbi/modern_treasury/models/payment_order_create_params.rbi +28 -95
  129. data/rbi/modern_treasury/models/payment_order_list_params.rbi +0 -55
  130. data/rbi/modern_treasury/models/payment_order_subtype.rbi +3 -4
  131. data/rbi/modern_treasury/models/payment_order_type.rbi +2 -16
  132. data/rbi/modern_treasury/models/payment_order_update_params.rbi +6 -73
  133. data/rbi/modern_treasury/models/payment_reference.rbi +24 -24
  134. data/rbi/modern_treasury/models/reconciliation_rule.rbi +3 -43
  135. data/rbi/modern_treasury/models/return_object.rbi +33 -29
  136. data/rbi/modern_treasury/models/routing_detail.rbi +0 -59
  137. data/rbi/modern_treasury/models/routing_detail_create_params.rbi +0 -65
  138. data/rbi/modern_treasury/models/routing_number_lookup_request.rbi +0 -55
  139. data/rbi/modern_treasury/models/third_party_verification.rbi +10 -0
  140. data/rbi/modern_treasury/models/transaction.rbi +24 -35
  141. data/rbi/modern_treasury/models/transaction_create_params.rbi +33 -72
  142. data/rbi/modern_treasury/models/validation_validate_routing_number_params.rbi +0 -10
  143. data/rbi/modern_treasury/models/virtual_account_create_params.rbi +0 -65
  144. data/rbi/modern_treasury/models.rbi +3 -0
  145. data/rbi/modern_treasury/resources/bulk_requests.rbi +3 -2
  146. data/rbi/modern_treasury/resources/expected_payments.rbi +3 -6
  147. data/rbi/modern_treasury/resources/holds.rbi +3 -5
  148. data/rbi/modern_treasury/resources/incoming_payment_details.rbi +10 -2
  149. data/rbi/modern_treasury/resources/internal_accounts.rbi +15 -8
  150. data/rbi/modern_treasury/resources/invoices.rbi +4 -6
  151. data/rbi/modern_treasury/resources/ledger_account_settlements.rbi +4 -0
  152. data/rbi/modern_treasury/resources/legal_entities.rbi +31 -0
  153. data/rbi/modern_treasury/resources/payment_orders.rbi +9 -12
  154. data/rbi/modern_treasury/resources/transactions.rbi +11 -7
  155. data/sig/modern_treasury/models/bulk_request_create_params.rbs +45 -207
  156. data/sig/modern_treasury/models/child_legal_entity.rbs +179 -2
  157. data/sig/modern_treasury/models/child_legal_entity_create.rbs +21 -0
  158. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +21 -0
  159. data/sig/modern_treasury/models/counterparty_collect_account_params.rbs +0 -4
  160. data/sig/modern_treasury/models/counterparty_create_params.rbs +21 -26
  161. data/sig/modern_treasury/models/currency.rbs +0 -6
  162. data/sig/modern_treasury/models/document.rbs +0 -57
  163. data/sig/modern_treasury/models/document_create_params.rbs +22 -22
  164. data/sig/modern_treasury/models/document_list_params.rbs +22 -22
  165. data/sig/modern_treasury/models/expected_payment_list_params.rbs +0 -22
  166. data/sig/modern_treasury/models/expected_payment_type.rbs +0 -22
  167. data/sig/modern_treasury/models/external_account_create_params.rbs +0 -26
  168. data/sig/modern_treasury/models/external_account_verify_params.rbs +0 -22
  169. data/sig/modern_treasury/models/external_account_verify_response.rbs +0 -22
  170. data/sig/modern_treasury/models/identification_create_request.rbs +150 -0
  171. data/sig/modern_treasury/models/incoming_payment_detail.rbs +7 -16
  172. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +7 -12
  173. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +9 -12
  174. data/sig/modern_treasury/models/internal_account.rbs +5 -22
  175. data/sig/modern_treasury/models/internal_account_create_params.rbs +22 -33
  176. data/sig/modern_treasury/models/internal_account_list_params.rbs +0 -22
  177. data/sig/modern_treasury/models/internal_account_update_account_capability_response.rbs +0 -22
  178. data/sig/modern_treasury/models/internal_accounts/balance_report.rbs +9 -4
  179. data/sig/modern_treasury/models/internal_accounts/balance_report_create_params.rbs +17 -8
  180. data/sig/modern_treasury/models/invoice.rbs +18 -3
  181. data/sig/modern_treasury/models/ledger_account_settlement_update_params.rbs +5 -0
  182. data/sig/modern_treasury/models/ledger_balance.rbs +18 -3
  183. data/sig/modern_treasury/models/ledger_entry.rbs +5 -0
  184. data/sig/modern_treasury/models/ledger_entry_create_request.rbs +14 -5
  185. data/sig/modern_treasury/models/ledger_transaction_create_partial_post_params.rbs +42 -8
  186. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +5 -0
  187. data/sig/modern_treasury/models/legal_entity.rbs +179 -2
  188. data/sig/modern_treasury/models/legal_entity_address_create_request.rbs +10 -3
  189. data/sig/modern_treasury/models/legal_entity_create_params.rbs +21 -0
  190. data/sig/modern_treasury/models/legal_entity_update_params.rbs +21 -0
  191. data/sig/modern_treasury/models/legal_entity_update_status_params.rbs +43 -0
  192. data/sig/modern_treasury/models/payment_order.rbs +10 -10
  193. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +0 -26
  194. data/sig/modern_treasury/models/payment_order_create_params.rbs +22 -48
  195. data/sig/modern_treasury/models/payment_order_list_params.rbs +0 -22
  196. data/sig/modern_treasury/models/payment_order_subtype.rbs +4 -6
  197. data/sig/modern_treasury/models/payment_order_type.rbs +0 -22
  198. data/sig/modern_treasury/models/payment_order_update_params.rbs +0 -26
  199. data/sig/modern_treasury/models/payment_reference.rbs +10 -10
  200. data/sig/modern_treasury/models/reconciliation_rule.rbs +0 -22
  201. data/sig/modern_treasury/models/return_object.rbs +18 -12
  202. data/sig/modern_treasury/models/routing_detail.rbs +0 -26
  203. data/sig/modern_treasury/models/routing_detail_create_params.rbs +0 -26
  204. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +0 -22
  205. data/sig/modern_treasury/models/third_party_verification.rbs +4 -1
  206. data/sig/modern_treasury/models/transaction.rbs +7 -26
  207. data/sig/modern_treasury/models/transaction_create_params.rbs +14 -27
  208. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +0 -4
  209. data/sig/modern_treasury/models/virtual_account_create_params.rbs +0 -26
  210. data/sig/modern_treasury/models.rbs +2 -0
  211. data/sig/modern_treasury/resources/incoming_payment_details.rbs +2 -0
  212. data/sig/modern_treasury/resources/internal_accounts.rbs +3 -2
  213. data/sig/modern_treasury/resources/ledger_account_settlements.rbs +1 -0
  214. data/sig/modern_treasury/resources/legal_entities.rbs +8 -0
  215. data/sig/modern_treasury/resources/transactions.rbs +2 -1
  216. metadata +5 -2
@@ -76,8 +76,16 @@ module ModernTreasury
76
76
  end
77
77
  attr_writer :status
78
78
 
79
- # One of: `ach`, `book`, `check`, `eft`, `interac`, `rtp`, `sepa`, `signet`, or
80
- # `wire`.
79
+ # An additional layer of classification for the type of incoming payment detail.
80
+ # For example, a `type` of `stablecoin` may have a `subtype` of `ethereum` or
81
+ # `solana`.
82
+ sig { returns(T.nilable(String)) }
83
+ attr_reader :subtype
84
+
85
+ sig { params(subtype: String).void }
86
+ attr_writer :subtype
87
+
88
+ # One of: `ach`, `book`, `check`, `eft`, `rtp`, `sepa`, or `wire`.
81
89
  sig do
82
90
  returns(
83
91
  T.nilable(
@@ -112,6 +120,7 @@ module ModernTreasury
112
120
  per_page: Integer,
113
121
  status:
114
122
  ModernTreasury::IncomingPaymentDetailListParams::Status::OrSymbol,
123
+ subtype: String,
115
124
  type: ModernTreasury::IncomingPaymentDetailListParams::Type::OrSymbol,
116
125
  virtual_account_id: String,
117
126
  request_options: ModernTreasury::RequestOptions::OrHash
@@ -135,8 +144,11 @@ module ModernTreasury
135
144
  # The current status of the incoming payment order. One of `pending`, `completed`,
136
145
  # or `returned`.
137
146
  status: nil,
138
- # One of: `ach`, `book`, `check`, `eft`, `interac`, `rtp`, `sepa`, `signet`, or
139
- # `wire`.
147
+ # An additional layer of classification for the type of incoming payment detail.
148
+ # For example, a `type` of `stablecoin` may have a `subtype` of `ethereum` or
149
+ # `solana`.
150
+ subtype: nil,
151
+ # One of: `ach`, `book`, `check`, `eft`, `rtp`, `sepa`, or `wire`.
140
152
  type: nil,
141
153
  # If the incoming payment detail is in a virtual account, the ID of the Virtual
142
154
  # Account.
@@ -156,6 +168,7 @@ module ModernTreasury
156
168
  per_page: Integer,
157
169
  status:
158
170
  ModernTreasury::IncomingPaymentDetailListParams::Status::OrSymbol,
171
+ subtype: String,
159
172
  type:
160
173
  ModernTreasury::IncomingPaymentDetailListParams::Type::OrSymbol,
161
174
  virtual_account_id: String,
@@ -207,8 +220,7 @@ module ModernTreasury
207
220
  end
208
221
  end
209
222
 
210
- # One of: `ach`, `book`, `check`, `eft`, `interac`, `rtp`, `sepa`, `signet`, or
211
- # `wire`.
223
+ # One of: `ach`, `book`, `check`, `eft`, `rtp`, `sepa`, or `wire`.
212
224
  module Type
213
225
  extend ModernTreasury::Internal::Type::Enum
214
226
 
@@ -233,11 +245,6 @@ module ModernTreasury
233
245
  :bacs,
234
246
  ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
235
247
  )
236
- BASE =
237
- T.let(
238
- :base,
239
- ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
240
- )
241
248
  BOOK =
242
249
  T.let(
243
250
  :book,
@@ -253,16 +260,6 @@ module ModernTreasury
253
260
  :eft,
254
261
  ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
255
262
  )
256
- ETHEREUM =
257
- T.let(
258
- :ethereum,
259
- ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
260
- )
261
- INTERAC =
262
- T.let(
263
- :interac,
264
- ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
265
- )
266
263
  NEFT =
267
264
  T.let(
268
265
  :neft,
@@ -273,11 +270,6 @@ module ModernTreasury
273
270
  :nz_becs,
274
271
  ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
275
272
  )
276
- POLYGON =
277
- T.let(
278
- :polygon,
279
- ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
280
- )
281
273
  RTP =
282
274
  T.let(
283
275
  :rtp,
@@ -288,14 +280,9 @@ module ModernTreasury
288
280
  :sepa,
289
281
  ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
290
282
  )
291
- SIGNET =
292
- T.let(
293
- :signet,
294
- ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
295
- )
296
- SOLANA =
283
+ STABLECOIN =
297
284
  T.let(
298
- :solana,
285
+ :stablecoin,
299
286
  ModernTreasury::IncomingPaymentDetailListParams::Type::TaggedSymbol
300
287
  )
301
288
  WIRE =
@@ -56,6 +56,13 @@ module ModernTreasury
56
56
  sig { returns(ModernTreasury::Currency::TaggedSymbol) }
57
57
  attr_accessor :currency
58
58
 
59
+ # Whether this account can receive ACH debits. Only applicable to accounts created
60
+ # under a Modern Treasury PSP connection, or `null` for Bring Your Own Bank
61
+ # accounts. Defaults to `false`. Configurable only on creation. Please reach out
62
+ # to your customer success manager to enable this capability for your connection.
63
+ sig { returns(T.nilable(T::Boolean)) }
64
+ attr_accessor :debitable
65
+
59
66
  # An optional user-defined 180 character unique identifier.
60
67
  sig { returns(T.nilable(String)) }
61
68
  attr_accessor :external_id
@@ -145,6 +152,7 @@ module ModernTreasury
145
152
  counterparty_id: T.nilable(String),
146
153
  created_at: Time,
147
154
  currency: ModernTreasury::Currency::OrSymbol,
155
+ debitable: T.nilable(T::Boolean),
148
156
  external_id: T.nilable(String),
149
157
  ledger_account_id: T.nilable(String),
150
158
  legal_entity_id: T.nilable(String),
@@ -182,6 +190,11 @@ module ModernTreasury
182
190
  created_at:,
183
191
  # The currency of the account.
184
192
  currency:,
193
+ # Whether this account can receive ACH debits. Only applicable to accounts created
194
+ # under a Modern Treasury PSP connection, or `null` for Bring Your Own Bank
195
+ # accounts. Defaults to `false`. Configurable only on creation. Please reach out
196
+ # to your customer success manager to enable this capability for your connection.
197
+ debitable:,
185
198
  # An optional user-defined 180 character unique identifier.
186
199
  external_id:,
187
200
  # If the internal account links to a ledger account in Modern Treasury, the id of
@@ -232,6 +245,7 @@ module ModernTreasury
232
245
  counterparty_id: T.nilable(String),
233
246
  created_at: Time,
234
247
  currency: ModernTreasury::Currency::TaggedSymbol,
248
+ debitable: T.nilable(T::Boolean),
235
249
  external_id: T.nilable(String),
236
250
  ledger_account_id: T.nilable(String),
237
251
  legal_entity_id: T.nilable(String),
@@ -388,11 +402,6 @@ module ModernTreasury
388
402
  :bacs,
389
403
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
390
404
  )
391
- BASE =
392
- T.let(
393
- :base,
394
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
395
- )
396
405
  BOOK =
397
406
  T.let(
398
407
  :book,
@@ -428,26 +437,11 @@ module ModernTreasury
428
437
  :eft,
429
438
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
430
439
  )
431
- ETHEREUM =
432
- T.let(
433
- :ethereum,
434
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
435
- )
436
440
  GB_FPS =
437
441
  T.let(
438
442
  :gb_fps,
439
443
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
440
444
  )
441
- HU_ICS =
442
- T.let(
443
- :hu_ics,
444
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
445
- )
446
- INTERAC =
447
- T.let(
448
- :interac,
449
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
450
- )
451
445
  MASAV =
452
446
  T.let(
453
447
  :masav,
@@ -478,21 +472,6 @@ module ModernTreasury
478
472
  :pl_elixir,
479
473
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
480
474
  )
481
- POLYGON =
482
- T.let(
483
- :polygon,
484
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
485
- )
486
- PROVXCHANGE =
487
- T.let(
488
- :provxchange,
489
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
490
- )
491
- RO_SENT =
492
- T.let(
493
- :ro_sent,
494
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
495
- )
496
475
  RTP =
497
476
  T.let(
498
477
  :rtp,
@@ -503,11 +482,6 @@ module ModernTreasury
503
482
  :se_bankgirot,
504
483
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
505
484
  )
506
- SEN =
507
- T.let(
508
- :sen,
509
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
510
- )
511
485
  SEPA =
512
486
  T.let(
513
487
  :sepa,
@@ -523,21 +497,6 @@ module ModernTreasury
523
497
  :sic,
524
498
  ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
525
499
  )
526
- SIGNET =
527
- T.let(
528
- :signet,
529
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
530
- )
531
- SKNBI =
532
- T.let(
533
- :sknbi,
534
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
535
- )
536
- SOLANA =
537
- T.let(
538
- :solana,
539
- ModernTreasury::InternalAccount::AccountCapability::PaymentType::TaggedSymbol
540
- )
541
500
  STABLECOIN =
542
501
  T.let(
543
502
  :stablecoin,
@@ -14,12 +14,7 @@ module ModernTreasury
14
14
  )
15
15
  end
16
16
 
17
- # The identifier of the financial institution the account belongs to.
18
- sig { returns(String) }
19
- attr_accessor :connection_id
20
-
21
- # Either "USD" or "CAD". Internal accounts created at Increase only supports
22
- # "USD".
17
+ # The currency of the internal account. Supports fiat and stablecoin currencies.
23
18
  sig do
24
19
  returns(ModernTreasury::InternalAccountCreateParams::Currency::OrSymbol)
25
20
  end
@@ -29,10 +24,6 @@ module ModernTreasury
29
24
  sig { returns(String) }
30
25
  attr_accessor :name
31
26
 
32
- # The legal name of the entity which owns the account.
33
- sig { returns(String) }
34
- attr_accessor :party_name
35
-
36
27
  # An array of AccountCapability objects that list the originating abilities of the
37
28
  # internal account and any relevant information for them.
38
29
  sig do
@@ -75,6 +66,15 @@ module ModernTreasury
75
66
  end
76
67
  attr_writer :account_type
77
68
 
69
+ # The identifier of the financial institution the account belongs to. If not
70
+ # provided, defaults to the default connection, or the sole connection if only one
71
+ # exists.
72
+ sig { returns(T.nilable(String)) }
73
+ attr_reader :connection_id
74
+
75
+ sig { params(connection_id: String).void }
76
+ attr_writer :connection_id
77
+
78
78
  # The Counterparty associated to this account.
79
79
  sig { returns(T.nilable(String)) }
80
80
  attr_reader :counterparty_id
@@ -82,6 +82,13 @@ module ModernTreasury
82
82
  sig { params(counterparty_id: String).void }
83
83
  attr_writer :counterparty_id
84
84
 
85
+ # Whether this account can receive ACH debits. Only applicable to accounts created
86
+ # under a Modern Treasury PSP connection, or `null` for Bring Your Own Bank
87
+ # accounts. Defaults to `false`. Configurable only on creation. Please reach out
88
+ # to your customer success manager to enable this capability for your connection.
89
+ sig { returns(T.nilable(T::Boolean)) }
90
+ attr_accessor :debitable
91
+
85
92
  # An optional user-defined 180 character unique identifier.
86
93
  sig { returns(T.nilable(String)) }
87
94
  attr_accessor :external_id
@@ -124,6 +131,10 @@ module ModernTreasury
124
131
  end
125
132
  attr_writer :party_address
126
133
 
134
+ # The legal name of the entity which owns the account.
135
+ sig { returns(T.nilable(String)) }
136
+ attr_accessor :party_name
137
+
127
138
  # A hash of vendor specific attributes that will be used when creating the account
128
139
  # at the vendor specified by the given connection.
129
140
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
@@ -134,46 +145,51 @@ module ModernTreasury
134
145
 
135
146
  sig do
136
147
  params(
137
- connection_id: String,
138
148
  currency:
139
149
  ModernTreasury::InternalAccountCreateParams::Currency::OrSymbol,
140
150
  name: String,
141
- party_name: String,
142
151
  account_capabilities:
143
152
  T::Array[
144
153
  ModernTreasury::InternalAccountCreateParams::AccountCapability::OrHash
145
154
  ],
146
155
  account_type:
147
156
  ModernTreasury::InternalAccountCreateParams::AccountType::OrSymbol,
157
+ connection_id: String,
148
158
  counterparty_id: String,
159
+ debitable: T.nilable(T::Boolean),
149
160
  external_id: T.nilable(String),
150
161
  legal_entity_id: String,
151
162
  metadata: T::Hash[Symbol, String],
152
163
  parent_account_id: String,
153
164
  party_address:
154
165
  ModernTreasury::InternalAccountCreateParams::PartyAddress::OrHash,
166
+ party_name: T.nilable(String),
155
167
  vendor_attributes: T::Hash[Symbol, String],
156
168
  request_options: ModernTreasury::RequestOptions::OrHash
157
169
  ).returns(T.attached_class)
158
170
  end
159
171
  def self.new(
160
- # The identifier of the financial institution the account belongs to.
161
- connection_id:,
162
- # Either "USD" or "CAD". Internal accounts created at Increase only supports
163
- # "USD".
172
+ # The currency of the internal account. Supports fiat and stablecoin currencies.
164
173
  currency:,
165
174
  # The nickname of the account.
166
175
  name:,
167
- # The legal name of the entity which owns the account.
168
- party_name:,
169
176
  # An array of AccountCapability objects that list the originating abilities of the
170
177
  # internal account and any relevant information for them.
171
178
  account_capabilities: nil,
172
179
  # The account type, used to provision the appropriate account at the financial
173
180
  # institution.
174
181
  account_type: nil,
182
+ # The identifier of the financial institution the account belongs to. If not
183
+ # provided, defaults to the default connection, or the sole connection if only one
184
+ # exists.
185
+ connection_id: nil,
175
186
  # The Counterparty associated to this account.
176
187
  counterparty_id: nil,
188
+ # Whether this account can receive ACH debits. Only applicable to accounts created
189
+ # under a Modern Treasury PSP connection, or `null` for Bring Your Own Bank
190
+ # accounts. Defaults to `false`. Configurable only on creation. Please reach out
191
+ # to your customer success manager to enable this capability for your connection.
192
+ debitable: nil,
177
193
  # An optional user-defined 180 character unique identifier.
178
194
  external_id: nil,
179
195
  # The LegalEntity associated to this account.
@@ -185,6 +201,8 @@ module ModernTreasury
185
201
  parent_account_id: nil,
186
202
  # The address associated with the owner or null.
187
203
  party_address: nil,
204
+ # The legal name of the entity which owns the account.
205
+ party_name: nil,
188
206
  # A hash of vendor specific attributes that will be used when creating the account
189
207
  # at the vendor specified by the given connection.
190
208
  vendor_attributes: nil,
@@ -195,24 +213,25 @@ module ModernTreasury
195
213
  sig do
196
214
  override.returns(
197
215
  {
198
- connection_id: String,
199
216
  currency:
200
217
  ModernTreasury::InternalAccountCreateParams::Currency::OrSymbol,
201
218
  name: String,
202
- party_name: String,
203
219
  account_capabilities:
204
220
  T::Array[
205
221
  ModernTreasury::InternalAccountCreateParams::AccountCapability
206
222
  ],
207
223
  account_type:
208
224
  ModernTreasury::InternalAccountCreateParams::AccountType::OrSymbol,
225
+ connection_id: String,
209
226
  counterparty_id: String,
227
+ debitable: T.nilable(T::Boolean),
210
228
  external_id: T.nilable(String),
211
229
  legal_entity_id: String,
212
230
  metadata: T::Hash[Symbol, String],
213
231
  parent_account_id: String,
214
232
  party_address:
215
233
  ModernTreasury::InternalAccountCreateParams::PartyAddress,
234
+ party_name: T.nilable(String),
216
235
  vendor_attributes: T::Hash[Symbol, String],
217
236
  request_options: ModernTreasury::RequestOptions
218
237
  }
@@ -221,8 +240,7 @@ module ModernTreasury
221
240
  def to_hash
222
241
  end
223
242
 
224
- # Either "USD" or "CAD". Internal accounts created at Increase only supports
225
- # "USD".
243
+ # The currency of the internal account. Supports fiat and stablecoin currencies.
226
244
  module Currency
227
245
  extend ModernTreasury::Internal::Type::Enum
228
246
 
@@ -242,6 +260,26 @@ module ModernTreasury
242
260
  :CAD,
243
261
  ModernTreasury::InternalAccountCreateParams::Currency::TaggedSymbol
244
262
  )
263
+ USDC =
264
+ T.let(
265
+ :USDC,
266
+ ModernTreasury::InternalAccountCreateParams::Currency::TaggedSymbol
267
+ )
268
+ USDT =
269
+ T.let(
270
+ :USDT,
271
+ ModernTreasury::InternalAccountCreateParams::Currency::TaggedSymbol
272
+ )
273
+ PYUSD =
274
+ T.let(
275
+ :PYUSD,
276
+ ModernTreasury::InternalAccountCreateParams::Currency::TaggedSymbol
277
+ )
278
+ USDG =
279
+ T.let(
280
+ :USDG,
281
+ ModernTreasury::InternalAccountCreateParams::Currency::TaggedSymbol
282
+ )
245
283
 
246
284
  sig do
247
285
  override.returns(
@@ -385,11 +423,6 @@ module ModernTreasury
385
423
  :bacs,
386
424
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
387
425
  )
388
- BASE =
389
- T.let(
390
- :base,
391
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
392
- )
393
426
  BOOK =
394
427
  T.let(
395
428
  :book,
@@ -425,26 +458,11 @@ module ModernTreasury
425
458
  :eft,
426
459
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
427
460
  )
428
- ETHEREUM =
429
- T.let(
430
- :ethereum,
431
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
432
- )
433
461
  GB_FPS =
434
462
  T.let(
435
463
  :gb_fps,
436
464
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
437
465
  )
438
- HU_ICS =
439
- T.let(
440
- :hu_ics,
441
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
442
- )
443
- INTERAC =
444
- T.let(
445
- :interac,
446
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
447
- )
448
466
  MASAV =
449
467
  T.let(
450
468
  :masav,
@@ -475,21 +493,6 @@ module ModernTreasury
475
493
  :pl_elixir,
476
494
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
477
495
  )
478
- POLYGON =
479
- T.let(
480
- :polygon,
481
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
482
- )
483
- PROVXCHANGE =
484
- T.let(
485
- :provxchange,
486
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
487
- )
488
- RO_SENT =
489
- T.let(
490
- :ro_sent,
491
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
492
- )
493
496
  RTP =
494
497
  T.let(
495
498
  :rtp,
@@ -500,11 +503,6 @@ module ModernTreasury
500
503
  :se_bankgirot,
501
504
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
502
505
  )
503
- SEN =
504
- T.let(
505
- :sen,
506
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
507
- )
508
506
  SEPA =
509
507
  T.let(
510
508
  :sepa,
@@ -520,21 +518,6 @@ module ModernTreasury
520
518
  :sic,
521
519
  ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
522
520
  )
523
- SIGNET =
524
- T.let(
525
- :signet,
526
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
527
- )
528
- SKNBI =
529
- T.let(
530
- :sknbi,
531
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
532
- )
533
- SOLANA =
534
- T.let(
535
- :solana,
536
- ModernTreasury::InternalAccountCreateParams::AccountCapability::PaymentType::TaggedSymbol
537
- )
538
521
  STABLECOIN =
539
522
  T.let(
540
523
  :stablecoin,
@@ -194,11 +194,6 @@ module ModernTreasury
194
194
  :bacs,
195
195
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
196
196
  )
197
- BASE =
198
- T.let(
199
- :base,
200
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
201
- )
202
197
  BOOK =
203
198
  T.let(
204
199
  :book,
@@ -234,26 +229,11 @@ module ModernTreasury
234
229
  :eft,
235
230
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
236
231
  )
237
- ETHEREUM =
238
- T.let(
239
- :ethereum,
240
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
241
- )
242
232
  GB_FPS =
243
233
  T.let(
244
234
  :gb_fps,
245
235
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
246
236
  )
247
- HU_ICS =
248
- T.let(
249
- :hu_ics,
250
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
251
- )
252
- INTERAC =
253
- T.let(
254
- :interac,
255
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
256
- )
257
237
  MASAV =
258
238
  T.let(
259
239
  :masav,
@@ -284,21 +264,6 @@ module ModernTreasury
284
264
  :pl_elixir,
285
265
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
286
266
  )
287
- POLYGON =
288
- T.let(
289
- :polygon,
290
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
291
- )
292
- PROVXCHANGE =
293
- T.let(
294
- :provxchange,
295
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
296
- )
297
- RO_SENT =
298
- T.let(
299
- :ro_sent,
300
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
301
- )
302
267
  RTP =
303
268
  T.let(
304
269
  :rtp,
@@ -309,11 +274,6 @@ module ModernTreasury
309
274
  :se_bankgirot,
310
275
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
311
276
  )
312
- SEN =
313
- T.let(
314
- :sen,
315
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
316
- )
317
277
  SEPA =
318
278
  T.let(
319
279
  :sepa,
@@ -329,21 +289,6 @@ module ModernTreasury
329
289
  :sic,
330
290
  ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
331
291
  )
332
- SIGNET =
333
- T.let(
334
- :signet,
335
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
336
- )
337
- SKNBI =
338
- T.let(
339
- :sknbi,
340
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
341
- )
342
- SOLANA =
343
- T.let(
344
- :solana,
345
- ModernTreasury::InternalAccountListParams::PaymentType::TaggedSymbol
346
- )
347
292
  STABLECOIN =
348
293
  T.let(
349
294
  :stablecoin,