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,126 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Resources
5
+ class Holds
6
+ # Create a new hold
7
+ #
8
+ # @overload create(status:, target_id:, target_type:, metadata: nil, reason: nil, request_options: {})
9
+ #
10
+ # @param status [Symbol, ModernTreasury::Models::HoldCreateParams::Status] The status of the hold
11
+ #
12
+ # @param target_id [String] The ID of the target to hold
13
+ #
14
+ # @param target_type [Symbol, ModernTreasury::Models::HoldCreateParams::TargetType] The type of target to hold
15
+ #
16
+ # @param metadata [Hash{Symbol=>String}, nil] Additional metadata for the hold
17
+ #
18
+ # @param reason [String, nil] The reason for the hold
19
+ #
20
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [ModernTreasury::Models::HoldCreateResponse]
23
+ #
24
+ # @see ModernTreasury::Models::HoldCreateParams
25
+ def create(params)
26
+ parsed, options = ModernTreasury::HoldCreateParams.dump_request(params)
27
+ @client.request(
28
+ method: :post,
29
+ path: "api/holds",
30
+ body: parsed,
31
+ model: ModernTreasury::Models::HoldCreateResponse,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Get a specific hold
37
+ #
38
+ # @overload retrieve(id, request_options: {})
39
+ #
40
+ # @param id [String] hold id
41
+ #
42
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [ModernTreasury::Models::HoldRetrieveResponse]
45
+ #
46
+ # @see ModernTreasury::Models::HoldRetrieveParams
47
+ def retrieve(id, params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: ["api/holds/%1$s", id],
51
+ model: ModernTreasury::Models::HoldRetrieveResponse,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # Update a hold
57
+ #
58
+ # @overload update(id, status:, resolution: nil, request_options: {})
59
+ #
60
+ # @param id [String] hold id
61
+ #
62
+ # @param status [Symbol, ModernTreasury::Models::HoldUpdateParams::Status] The new status of the hold
63
+ #
64
+ # @param resolution [String, nil] The resolution of the hold
65
+ #
66
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [ModernTreasury::Models::HoldUpdateResponse]
69
+ #
70
+ # @see ModernTreasury::Models::HoldUpdateParams
71
+ def update(id, params)
72
+ parsed, options = ModernTreasury::HoldUpdateParams.dump_request(params)
73
+ @client.request(
74
+ method: :patch,
75
+ path: ["api/holds/%1$s", id],
76
+ body: parsed,
77
+ model: ModernTreasury::Models::HoldUpdateResponse,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Some parameter documentations has been truncated, see
83
+ # {ModernTreasury::Models::HoldListParams} for more details.
84
+ #
85
+ # Get a list of holds.
86
+ #
87
+ # @overload list(after_cursor: nil, metadata: nil, per_page: nil, status: nil, target_id: nil, target_type: nil, request_options: {})
88
+ #
89
+ # @param after_cursor [String, nil]
90
+ #
91
+ # @param metadata [Hash{Symbol=>String}] For example, if you want to query for records with metadata key `Type` and value
92
+ #
93
+ # @param per_page [Integer]
94
+ #
95
+ # @param status [Symbol, ModernTreasury::Models::HoldListParams::Status, nil] Translation missing: en.openapi.descriptions.payment_order.query_params.status
96
+ #
97
+ # @param target_id [String, nil] Translation missing: en.openapi.descriptions.payment_order.query_params.target_i
98
+ #
99
+ # @param target_type [Symbol, ModernTreasury::Models::HoldListParams::TargetType, nil] Translation missing: en.openapi.descriptions.payment_order.query_params.target_t
100
+ #
101
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
102
+ #
103
+ # @return [ModernTreasury::Internal::Page<ModernTreasury::Models::HoldListResponse>]
104
+ #
105
+ # @see ModernTreasury::Models::HoldListParams
106
+ def list(params = {})
107
+ parsed, options = ModernTreasury::HoldListParams.dump_request(params)
108
+ @client.request(
109
+ method: :get,
110
+ path: "api/holds",
111
+ query: parsed,
112
+ page: ModernTreasury::Internal::Page,
113
+ model: ModernTreasury::Models::HoldListResponse,
114
+ options: options
115
+ )
116
+ end
117
+
118
+ # @api private
119
+ #
120
+ # @param client [ModernTreasury::Client]
121
+ def initialize(client:)
122
+ @client = client
123
+ end
124
+ end
125
+ end
126
+ end
@@ -76,10 +76,12 @@ module ModernTreasury
76
76
  #
77
77
  # update internal account
78
78
  #
79
- # @overload update(id, counterparty_id: nil, ledger_account_id: nil, metadata: nil, name: nil, parent_account_id: nil, request_options: {})
79
+ # @overload update(id, contra_ledger_account_id: nil, counterparty_id: nil, ledger_account_id: nil, metadata: nil, name: nil, parent_account_id: nil, request_options: {})
80
80
  #
81
81
  # @param id [String] Unique identifier for the account.
82
82
  #
83
+ # @param contra_ledger_account_id [String] The Contra Ledger Account associated to this account.
84
+ #
83
85
  # @param counterparty_id [String] The Counterparty associated to this account.
84
86
  #
85
87
  # @param ledger_account_id [String] The Ledger Account associated to this account.
@@ -148,6 +150,26 @@ module ModernTreasury
148
150
  )
149
151
  end
150
152
 
153
+ # request closure of internal account
154
+ #
155
+ # @overload request_closure(id, request_options: {})
156
+ #
157
+ # @param id [String] Unique identifier for the account.
158
+ #
159
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
160
+ #
161
+ # @return [ModernTreasury::Models::InternalAccount]
162
+ #
163
+ # @see ModernTreasury::Models::InternalAccountRequestClosureParams
164
+ def request_closure(id, params = {})
165
+ @client.request(
166
+ method: :post,
167
+ path: ["api/internal_accounts/%1$s/request_closure", id],
168
+ model: ModernTreasury::InternalAccount,
169
+ options: params[:request_options]
170
+ )
171
+ end
172
+
151
173
  # Some parameter documentations has been truncated, see
152
174
  # {ModernTreasury::Models::InternalAccountUpdateAccountCapabilityParams} for more
153
175
  # details.
@@ -11,7 +11,7 @@ module ModernTreasury
11
11
  #
12
12
  # create invoice
13
13
  #
14
- # @overload create(counterparty_id:, due_date:, originating_account_id:, auto_advance: nil, contact_details: nil, counterparty_billing_address: nil, counterparty_shipping_address: nil, currency: nil, description: nil, fallback_payment_method: nil, ingest_ledger_entries: nil, invoice_line_items: nil, invoicer_address: nil, ledger_account_settlement_id: nil, metadata: nil, notification_email_addresses: nil, notifications_enabled: nil, payment_effective_date: nil, payment_method: nil, payment_type: nil, receiving_account_id: nil, recipient_email: nil, recipient_name: nil, remind_after_overdue_days: nil, virtual_account_id: nil, request_options: {})
14
+ # @overload create(counterparty_id:, due_date:, originating_account_id:, auto_advance: nil, contact_details: nil, counterparty_billing_address: nil, counterparty_shipping_address: nil, currency: nil, description: nil, fallback_payment_method: nil, invoice_line_items: nil, invoicer_address: nil, metadata: nil, notification_email_addresses: nil, notifications_enabled: nil, payment_effective_date: nil, payment_method: nil, payment_type: nil, receiving_account_id: nil, recipient_email: nil, recipient_name: nil, remind_after_overdue_days: nil, virtual_account_id: nil, request_options: {})
15
15
  #
16
16
  # @param counterparty_id [String] The ID of the counterparty receiving the invoice.
17
17
  #
@@ -33,14 +33,10 @@ module ModernTreasury
33
33
  #
34
34
  # @param fallback_payment_method [String, nil] When payment_method is automatic, the fallback payment method to use when an aut
35
35
  #
36
- # @param ingest_ledger_entries [Boolean, nil] Whether to ingest the ledger_entries to populate the invoice line items. If this
37
- #
38
36
  # @param invoice_line_items [Array<ModernTreasury::Models::InvoiceCreateParams::InvoiceLineItem>, nil] An array of invoice line items. The API supports a maximum of 50 invoice line it
39
37
  #
40
38
  # @param invoicer_address [ModernTreasury::Models::InvoiceCreateParams::InvoicerAddress, nil] The invoice issuer's business address.
41
39
  #
42
- # @param ledger_account_settlement_id [String, nil] The ID of the virtual account the invoice should be paid to.
43
- #
44
40
  # @param metadata [Hash{Symbol=>String}, nil] Additional data represented as key-value pairs. Both the key and value must be s
45
41
  #
46
42
  # @param notification_email_addresses [Array<String>, nil] Emails in addition to the counterparty email to send invoice status notification
@@ -104,7 +100,7 @@ module ModernTreasury
104
100
  #
105
101
  # update invoice
106
102
  #
107
- # @overload update(id, contact_details: nil, counterparty_billing_address: nil, counterparty_id: nil, counterparty_shipping_address: nil, currency: nil, description: nil, due_date: nil, fallback_payment_method: nil, ingest_ledger_entries: nil, invoice_line_items: nil, invoicer_address: nil, ledger_account_settlement_id: nil, metadata: nil, notification_email_addresses: nil, notifications_enabled: nil, originating_account_id: nil, payment_effective_date: nil, payment_method: nil, payment_type: nil, receiving_account_id: nil, recipient_email: nil, recipient_name: nil, remind_after_overdue_days: nil, status: nil, virtual_account_id: nil, request_options: {})
103
+ # @overload update(id, contact_details: nil, counterparty_billing_address: nil, counterparty_id: nil, counterparty_shipping_address: nil, currency: nil, description: nil, due_date: nil, fallback_payment_method: nil, invoice_line_items: nil, invoicer_address: nil, metadata: nil, notification_email_addresses: nil, notifications_enabled: nil, originating_account_id: nil, payment_effective_date: nil, payment_method: nil, payment_type: nil, receiving_account_id: nil, recipient_email: nil, recipient_name: nil, remind_after_overdue_days: nil, status: nil, virtual_account_id: nil, request_options: {})
108
104
  #
109
105
  # @param id [String] id
110
106
  #
@@ -124,14 +120,10 @@ module ModernTreasury
124
120
  #
125
121
  # @param fallback_payment_method [String, nil] When payment_method is automatic, the fallback payment method to use when an aut
126
122
  #
127
- # @param ingest_ledger_entries [Boolean, nil] Whether to ingest the ledger_entries to populate the invoice line items. If this
128
- #
129
123
  # @param invoice_line_items [Array<ModernTreasury::Models::InvoiceUpdateParams::InvoiceLineItem>, nil] An array of invoice line items. The API supports a maximum of 50 invoice line it
130
124
  #
131
125
  # @param invoicer_address [ModernTreasury::Models::InvoiceUpdateParams::InvoicerAddress, nil] The invoice issuer's business address.
132
126
  #
133
- # @param ledger_account_settlement_id [String, nil] The ID of the virtual account the invoice should be paid to.
134
- #
135
127
  # @param metadata [Hash{Symbol=>String}, nil] Additional data represented as key-value pairs. Both the key and value must be s
136
128
  #
137
129
  # @param notification_email_addresses [Array<String>, nil] Emails in addition to the counterparty email to send invoice status notification
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Resources
5
+ class JournalEntries
6
+ # Retrieve a specific journal entry
7
+ #
8
+ # @overload retrieve(id, request_options: {})
9
+ #
10
+ # @param id [String] The ID of the journal entry
11
+ #
12
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [nil]
15
+ #
16
+ # @see ModernTreasury::Models::JournalEntryRetrieveParams
17
+ def retrieve(id, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["api/journal_entries/%1$s", id],
21
+ model: NilClass,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # Retrieve a list of journal entries
27
+ #
28
+ # @overload list(journal_report_id:, page: nil, per_page: nil, request_options: {})
29
+ #
30
+ # @param journal_report_id [String] The ID of the journal report
31
+ #
32
+ # @param page [Integer] Page number for pagination
33
+ #
34
+ # @param per_page [Integer] Number of items per page
35
+ #
36
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
37
+ #
38
+ # @return [nil]
39
+ #
40
+ # @see ModernTreasury::Models::JournalEntryListParams
41
+ def list(params)
42
+ parsed, options = ModernTreasury::JournalEntryListParams.dump_request(params)
43
+ @client.request(
44
+ method: :get,
45
+ path: "api/journal_entries",
46
+ query: parsed,
47
+ model: NilClass,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # @api private
53
+ #
54
+ # @param client [ModernTreasury::Client]
55
+ def initialize(client:)
56
+ @client = client
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Resources
5
+ class JournalReports
6
+ # Retrieve a specific journal report
7
+ #
8
+ # @overload retrieve(id, request_options: {})
9
+ #
10
+ # @param id [String] The ID of the journal report
11
+ #
12
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [nil]
15
+ #
16
+ # @see ModernTreasury::Models::JournalReportRetrieveParams
17
+ def retrieve(id, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["api/journal_reports/%1$s", id],
21
+ model: NilClass,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # Update a journal report
27
+ #
28
+ # @overload update(id, metadata: nil, status: nil, request_options: {})
29
+ #
30
+ # @param id [String] The ID of the journal report
31
+ #
32
+ # @param metadata [Object]
33
+ #
34
+ # @param status [String]
35
+ #
36
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
37
+ #
38
+ # @return [nil]
39
+ #
40
+ # @see ModernTreasury::Models::JournalReportUpdateParams
41
+ def update(id, params = {})
42
+ parsed, options = ModernTreasury::JournalReportUpdateParams.dump_request(params)
43
+ @client.request(
44
+ method: :patch,
45
+ path: ["api/journal_reports/%1$s", id],
46
+ body: parsed,
47
+ model: NilClass,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # Retrieve a list of journal reports
53
+ #
54
+ # @overload list(request_options: {})
55
+ #
56
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
57
+ #
58
+ # @return [nil]
59
+ #
60
+ # @see ModernTreasury::Models::JournalReportListParams
61
+ def list(params = {})
62
+ @client.request(
63
+ method: :get,
64
+ path: "api/journal_reports",
65
+ model: NilClass,
66
+ options: params[:request_options]
67
+ )
68
+ end
69
+
70
+ # @api private
71
+ #
72
+ # @param client [ModernTreasury::Client]
73
+ def initialize(client:)
74
+ @client = client
75
+ end
76
+ end
77
+ end
78
+ end
@@ -53,7 +53,7 @@ module ModernTreasury
53
53
  #
54
54
  # @overload retrieve(id, balances: nil, request_options: {})
55
55
  #
56
- # @param id [String] id
56
+ # @param id [String] The ledger account id (UUID) or external_id
57
57
  #
58
58
  # @param balances [ModernTreasury::Models::LedgerAccountRetrieveParams::Balances] Use `balances[effective_at_lower_bound]` and `balances[effective_at_upper_bound]
59
59
  #
@@ -80,7 +80,7 @@ module ModernTreasury
80
80
  #
81
81
  # @overload update(id, description: nil, metadata: nil, name: nil, request_options: {})
82
82
  #
83
- # @param id [String] id
83
+ # @param id [String] The ledger account id (UUID)
84
84
  #
85
85
  # @param description [String, nil] The description of the ledger account.
86
86
  #
@@ -164,7 +164,7 @@ module ModernTreasury
164
164
  #
165
165
  # @overload delete(id, request_options: {})
166
166
  #
167
- # @param id [String] id
167
+ # @param id [String] The ledger account id (UUID)
168
168
  #
169
169
  # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
170
170
  #
@@ -47,11 +47,14 @@ module ModernTreasury
47
47
  )
48
48
  end
49
49
 
50
+ # Some parameter documentations has been truncated, see
51
+ # {ModernTreasury::Models::LedgerTransactionRetrieveParams} for more details.
52
+ #
50
53
  # Get details on a single ledger transaction.
51
54
  #
52
55
  # @overload retrieve(id, request_options: {})
53
56
  #
54
- # @param id [String] id
57
+ # @param id [String] The ledger transaction id (UUID) or external_id. If using external_id, only non-
55
58
  #
56
59
  # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
57
60
  #
@@ -74,7 +77,7 @@ module ModernTreasury
74
77
  #
75
78
  # @overload update(id, description: nil, effective_at: nil, ledger_entries: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil, status: nil, request_options: {})
76
79
  #
77
- # @param id [String] id
80
+ # @param id [String] The ledger transaction id (UUID)
78
81
  #
79
82
  # @param description [String, nil] An optional description for internal use.
80
83
  #
@@ -8,7 +8,7 @@ module ModernTreasury
8
8
  #
9
9
  # create legal_entity
10
10
  #
11
- # @overload create(legal_entity_type:, addresses: nil, bank_settings: nil, business_name: nil, citizenship_country: nil, compliance_details: nil, date_formed: nil, date_of_birth: nil, doing_business_as_names: nil, email: nil, first_name: nil, identifications: nil, industry_classifications: nil, last_name: nil, legal_entity_associations: nil, legal_structure: nil, metadata: nil, middle_name: nil, phone_numbers: nil, politically_exposed_person: nil, preferred_name: nil, prefix: nil, risk_rating: nil, suffix: nil, wealth_and_employment_details: nil, website: nil, request_options: {})
11
+ # @overload create(legal_entity_type:, addresses: nil, bank_settings: nil, business_description: nil, business_name: nil, citizenship_country: nil, compliance_details: nil, country_of_incorporation: nil, date_formed: nil, date_of_birth: nil, doing_business_as_names: nil, email: nil, expected_activity_volume: nil, first_name: nil, identifications: nil, industry_classifications: nil, intended_use: nil, last_name: nil, legal_entity_associations: nil, legal_structure: nil, metadata: nil, middle_name: nil, operating_jurisdictions: nil, phone_numbers: nil, politically_exposed_person: nil, preferred_name: nil, prefix: nil, primary_social_media_sites: nil, risk_rating: nil, suffix: nil, wealth_and_employment_details: nil, website: nil, request_options: {})
12
12
  #
13
13
  # @param legal_entity_type [Symbol, ModernTreasury::Models::LegalEntityCreateParams::LegalEntityType] The type of legal entity.
14
14
  #
@@ -16,12 +16,16 @@ module ModernTreasury
16
16
  #
17
17
  # @param bank_settings [ModernTreasury::Models::LegalEntityBankSettings, nil]
18
18
  #
19
+ # @param business_description [String, nil] A description of the business.
20
+ #
19
21
  # @param business_name [String, nil] The business's legal business name.
20
22
  #
21
23
  # @param citizenship_country [String, nil] The country of citizenship for an individual.
22
24
  #
23
25
  # @param compliance_details [ModernTreasury::Models::LegalEntityComplianceDetail, nil]
24
26
  #
27
+ # @param country_of_incorporation [String, nil] The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
28
+ #
25
29
  # @param date_formed [Date, nil] A business's formation date (YYYY-MM-DD).
26
30
  #
27
31
  # @param date_of_birth [Date, nil] An individual's date of birth (YYYY-MM-DD).
@@ -30,15 +34,19 @@ module ModernTreasury
30
34
  #
31
35
  # @param email [String, nil] The entity's primary email.
32
36
  #
37
+ # @param expected_activity_volume [Integer, nil] Monthly expected transaction volume in entity's local currency.
38
+ #
33
39
  # @param first_name [String, nil] An individual's first name.
34
40
  #
35
41
  # @param identifications [Array<ModernTreasury::Models::IdentificationCreateRequest>] A list of identifications for the legal entity.
36
42
  #
37
43
  # @param industry_classifications [Array<ModernTreasury::Models::LegalEntityIndustryClassification>] A list of industry classifications for the legal entity.
38
44
  #
45
+ # @param intended_use [String, nil] A description of the intended use of the legal entity.
46
+ #
39
47
  # @param last_name [String, nil] An individual's last name.
40
48
  #
41
- # @param legal_entity_associations [Array<ModernTreasury::Models::LegalEntityCreateParams::LegalEntityAssociation>, nil] The legal entity associations and its child legal entities.
49
+ # @param legal_entity_associations [Array<ModernTreasury::Models::LegalEntityAssociationInlineCreate>, nil] The legal entity associations and its child legal entities.
42
50
  #
43
51
  # @param legal_structure [Symbol, ModernTreasury::Models::LegalEntityCreateParams::LegalStructure, nil] The business's legal structure.
44
52
  #
@@ -46,6 +54,8 @@ module ModernTreasury
46
54
  #
47
55
  # @param middle_name [String, nil] An individual's middle name.
48
56
  #
57
+ # @param operating_jurisdictions [Array<String>] A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3 c
58
+ #
49
59
  # @param phone_numbers [Array<ModernTreasury::Models::LegalEntityCreateParams::PhoneNumber>]
50
60
  #
51
61
  # @param politically_exposed_person [Boolean, nil] Whether the individual is a politically exposed person.
@@ -54,6 +64,8 @@ module ModernTreasury
54
64
  #
55
65
  # @param prefix [String, nil] An individual's prefix.
56
66
  #
67
+ # @param primary_social_media_sites [Array<String>] A list of primary social media URLs for the business.
68
+ #
57
69
  # @param risk_rating [Symbol, ModernTreasury::Models::LegalEntityCreateParams::RiskRating, nil] The risk rating of the legal entity. One of low, medium, high.
58
70
  #
59
71
  # @param suffix [String, nil] An individual's suffix.
@@ -103,7 +115,7 @@ module ModernTreasury
103
115
  #
104
116
  # Update a legal entity.
105
117
  #
106
- # @overload update(id, addresses: nil, bank_settings: nil, business_name: nil, citizenship_country: nil, compliance_details: nil, date_formed: nil, date_of_birth: nil, doing_business_as_names: nil, email: nil, first_name: nil, identifications: nil, industry_classifications: nil, last_name: nil, legal_structure: nil, metadata: nil, middle_name: nil, phone_numbers: nil, politically_exposed_person: nil, preferred_name: nil, prefix: nil, risk_rating: nil, suffix: nil, wealth_and_employment_details: nil, website: nil, request_options: {})
118
+ # @overload update(id, addresses: nil, bank_settings: nil, business_description: nil, business_name: nil, citizenship_country: nil, compliance_details: nil, country_of_incorporation: nil, date_formed: nil, date_of_birth: nil, doing_business_as_names: nil, email: nil, expected_activity_volume: nil, first_name: nil, identifications: nil, industry_classifications: nil, intended_use: nil, last_name: nil, legal_structure: nil, metadata: nil, middle_name: nil, operating_jurisdictions: nil, phone_numbers: nil, politically_exposed_person: nil, preferred_name: nil, prefix: nil, primary_social_media_sites: nil, risk_rating: nil, suffix: nil, wealth_and_employment_details: nil, website: nil, request_options: {})
107
119
  #
108
120
  # @param id [String] id
109
121
  #
@@ -111,12 +123,16 @@ module ModernTreasury
111
123
  #
112
124
  # @param bank_settings [ModernTreasury::Models::LegalEntityBankSettings, nil]
113
125
  #
126
+ # @param business_description [String, nil] A description of the business.
127
+ #
114
128
  # @param business_name [String, nil] The business's legal business name.
115
129
  #
116
130
  # @param citizenship_country [String, nil] The country of citizenship for an individual.
117
131
  #
118
132
  # @param compliance_details [ModernTreasury::Models::LegalEntityComplianceDetail, nil]
119
133
  #
134
+ # @param country_of_incorporation [String, nil] The country code where the business is incorporated in the ISO 3166-1 alpha-2 or
135
+ #
120
136
  # @param date_formed [Date, nil] A business's formation date (YYYY-MM-DD).
121
137
  #
122
138
  # @param date_of_birth [Date, nil] An individual's date of birth (YYYY-MM-DD).
@@ -125,12 +141,16 @@ module ModernTreasury
125
141
  #
126
142
  # @param email [String, nil] The entity's primary email.
127
143
  #
144
+ # @param expected_activity_volume [Integer, nil] Monthly expected transaction volume in entity's local currency.
145
+ #
128
146
  # @param first_name [String, nil] An individual's first name.
129
147
  #
130
148
  # @param identifications [Array<ModernTreasury::Models::IdentificationCreateRequest>] A list of identifications for the legal entity.
131
149
  #
132
150
  # @param industry_classifications [Array<ModernTreasury::Models::LegalEntityIndustryClassification>] A list of industry classifications for the legal entity.
133
151
  #
152
+ # @param intended_use [String, nil] A description of the intended use of the legal entity.
153
+ #
134
154
  # @param last_name [String, nil] An individual's last name.
135
155
  #
136
156
  # @param legal_structure [Symbol, ModernTreasury::Models::LegalEntityUpdateParams::LegalStructure, nil] The business's legal structure.
@@ -139,6 +159,8 @@ module ModernTreasury
139
159
  #
140
160
  # @param middle_name [String, nil] An individual's middle name.
141
161
  #
162
+ # @param operating_jurisdictions [Array<String>] A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3 c
163
+ #
142
164
  # @param phone_numbers [Array<ModernTreasury::Models::LegalEntityUpdateParams::PhoneNumber>]
143
165
  #
144
166
  # @param politically_exposed_person [Boolean, nil] Whether the individual is a politically exposed person.
@@ -147,6 +169,8 @@ module ModernTreasury
147
169
  #
148
170
  # @param prefix [String, nil] An individual's prefix.
149
171
  #
172
+ # @param primary_social_media_sites [Array<String>] A list of primary social media URLs for the business.
173
+ #
150
174
  # @param risk_rating [Symbol, ModernTreasury::Models::LegalEntityUpdateParams::RiskRating, nil] The risk rating of the legal entity. One of low, medium, high.
151
175
  #
152
176
  # @param suffix [String, nil] An individual's suffix.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- VERSION = "0.10.0"
4
+ VERSION = "0.12.0"
5
5
  end
@@ -3,6 +3,7 @@
3
3
  # Standard libraries.
4
4
  # rubocop:disable Lint/RedundantRequireStatement
5
5
  require "English"
6
+ require "base64"
6
7
  require "cgi"
7
8
  require "date"
8
9
  require "erb"
@@ -76,6 +77,7 @@ require_relative "modern_treasury/models/bulk_request_retrieve_params"
76
77
  require_relative "modern_treasury/models/bulk_result"
77
78
  require_relative "modern_treasury/models/bulk_result_list_params"
78
79
  require_relative "modern_treasury/models/bulk_result_retrieve_params"
80
+ require_relative "modern_treasury/models/child_legal_entity"
79
81
  require_relative "modern_treasury/models/child_legal_entity_create"
80
82
  require_relative "modern_treasury/models/client_ping_params"
81
83
  require_relative "modern_treasury/models/connection"
@@ -125,6 +127,14 @@ require_relative "modern_treasury/models/foreign_exchange_quote_create_params"
125
127
  require_relative "modern_treasury/models/foreign_exchange_quote_list_params"
126
128
  require_relative "modern_treasury/models/foreign_exchange_quote_retrieve_params"
127
129
  require_relative "modern_treasury/models/foreign_exchange_rate"
130
+ require_relative "modern_treasury/models/hold_create_params"
131
+ require_relative "modern_treasury/models/hold_create_response"
132
+ require_relative "modern_treasury/models/hold_list_params"
133
+ require_relative "modern_treasury/models/hold_list_response"
134
+ require_relative "modern_treasury/models/hold_retrieve_params"
135
+ require_relative "modern_treasury/models/hold_retrieve_response"
136
+ require_relative "modern_treasury/models/hold_update_params"
137
+ require_relative "modern_treasury/models/hold_update_response"
128
138
  require_relative "modern_treasury/models/identification_create_request"
129
139
  require_relative "modern_treasury/models/incoming_payment_detail"
130
140
  require_relative "modern_treasury/models/incoming_payment_detail_create_async_params"
@@ -134,6 +144,7 @@ require_relative "modern_treasury/models/incoming_payment_detail_update_params"
134
144
  require_relative "modern_treasury/models/internal_account"
135
145
  require_relative "modern_treasury/models/internal_account_create_params"
136
146
  require_relative "modern_treasury/models/internal_account_list_params"
147
+ require_relative "modern_treasury/models/internal_account_request_closure_params"
137
148
  require_relative "modern_treasury/models/internal_account_retrieve_params"
138
149
  require_relative "modern_treasury/models/internal_accounts/balance_report"
139
150
  require_relative "modern_treasury/models/internal_accounts/balance_report_create_params"
@@ -155,6 +166,11 @@ require_relative "modern_treasury/models/invoices/line_item_list_params"
155
166
  require_relative "modern_treasury/models/invoices/line_item_retrieve_params"
156
167
  require_relative "modern_treasury/models/invoices/line_item_update_params"
157
168
  require_relative "modern_treasury/models/invoice_update_params"
169
+ require_relative "modern_treasury/models/journal_entry_list_params"
170
+ require_relative "modern_treasury/models/journal_entry_retrieve_params"
171
+ require_relative "modern_treasury/models/journal_report_list_params"
172
+ require_relative "modern_treasury/models/journal_report_retrieve_params"
173
+ require_relative "modern_treasury/models/journal_report_update_params"
158
174
  require_relative "modern_treasury/models/ledger"
159
175
  require_relative "modern_treasury/models/ledger_account"
160
176
  require_relative "modern_treasury/models/ledger_account_balance_monitor"
@@ -214,6 +230,7 @@ require_relative "modern_treasury/models/legal_entity"
214
230
  require_relative "modern_treasury/models/legal_entity_address_create_request"
215
231
  require_relative "modern_treasury/models/legal_entity_association"
216
232
  require_relative "modern_treasury/models/legal_entity_association_create_params"
233
+ require_relative "modern_treasury/models/legal_entity_association_inline_create"
217
234
  require_relative "modern_treasury/models/legal_entity_bank_settings"
218
235
  require_relative "modern_treasury/models/legal_entity_compliance_detail"
219
236
  require_relative "modern_treasury/models/legal_entity_create_params"
@@ -300,11 +317,14 @@ require_relative "modern_treasury/resources/events"
300
317
  require_relative "modern_treasury/resources/expected_payments"
301
318
  require_relative "modern_treasury/resources/external_accounts"
302
319
  require_relative "modern_treasury/resources/foreign_exchange_quotes"
320
+ require_relative "modern_treasury/resources/holds"
303
321
  require_relative "modern_treasury/resources/incoming_payment_details"
304
322
  require_relative "modern_treasury/resources/internal_accounts"
305
323
  require_relative "modern_treasury/resources/internal_accounts/balance_reports"
306
324
  require_relative "modern_treasury/resources/invoices"
307
325
  require_relative "modern_treasury/resources/invoices/line_items"
326
+ require_relative "modern_treasury/resources/journal_entries"
327
+ require_relative "modern_treasury/resources/journal_reports"
308
328
  require_relative "modern_treasury/resources/ledger_account_balance_monitors"
309
329
  require_relative "modern_treasury/resources/ledger_account_categories"
310
330
  require_relative "modern_treasury/resources/ledger_accounts"
data/manifest.yaml CHANGED
@@ -1,5 +1,6 @@
1
1
  dependencies:
2
2
  - English
3
+ - base64
3
4
  - cgi
4
5
  - date
5
6
  - erb
@@ -121,6 +121,15 @@ module ModernTreasury
121
121
  sig { returns(ModernTreasury::Resources::PaymentActions) }
122
122
  attr_reader :payment_actions
123
123
 
124
+ sig { returns(ModernTreasury::Resources::JournalEntries) }
125
+ attr_reader :journal_entries
126
+
127
+ sig { returns(ModernTreasury::Resources::JournalReports) }
128
+ attr_reader :journal_reports
129
+
130
+ sig { returns(ModernTreasury::Resources::Holds) }
131
+ attr_reader :holds
132
+
124
133
  # A test endpoint often used to confirm credentials and headers are being passed
125
134
  # in correctly.
126
135
  sig do