lithic 0.7.0 → 0.8.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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +3 -3
  4. data/lib/lithic/client.rb +11 -0
  5. data/lib/lithic/models/account_activity_list_params.rb +2 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +8 -2
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +8 -2
  8. data/lib/lithic/models/auth_rules/auth_rule.rb +84 -8
  9. data/lib/lithic/models/auth_rules/auth_rule_version.rb +92 -0
  10. data/lib/lithic/models/auth_rules/rule_feature.rb +231 -0
  11. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +33 -0
  12. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +9 -17
  13. data/lib/lithic/models/auth_rules/v2_create_params.rb +50 -10
  14. data/lib/lithic/models/auth_rules/v2_draft_params.rb +6 -3
  15. data/lib/lithic/models/auth_rules/v2_list_versions_params.rb +22 -0
  16. data/lib/lithic/models/auth_rules/v2_list_versions_response.rb +18 -0
  17. data/lib/lithic/models/auth_rules/v2_retrieve_features_response.rb +3 -83
  18. data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +525 -1
  19. data/lib/lithic/models/auth_rules/v2_update_params.rb +17 -1
  20. data/lib/lithic/models/auth_rules/velocity_limit_filters.rb +87 -0
  21. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -84
  22. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +69 -59
  23. data/lib/lithic/models/dispute_create_params.rb +11 -11
  24. data/lib/lithic/models/dispute_list_params.rb +3 -3
  25. data/lib/lithic/models/dispute_update_params.rb +9 -9
  26. data/lib/lithic/models/event.rb +0 -7
  27. data/lib/lithic/models/event_list_params.rb +0 -4
  28. data/lib/lithic/models/event_subscription.rb +0 -4
  29. data/lib/lithic/models/events/subscription_create_params.rb +0 -4
  30. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +0 -1
  31. data/lib/lithic/models/events/subscription_update_params.rb +0 -4
  32. data/lib/lithic/models/financial_account.rb +1 -0
  33. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  34. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +9 -1
  35. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +9 -1
  36. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +27 -2
  37. data/lib/lithic/models/hold.rb +147 -0
  38. data/lib/lithic/models/hold_create_params.rb +61 -0
  39. data/lib/lithic/models/hold_event.rb +110 -0
  40. data/lib/lithic/models/hold_list_params.rb +89 -0
  41. data/lib/lithic/models/hold_retrieve_params.rb +20 -0
  42. data/lib/lithic/models/hold_void_params.rb +29 -0
  43. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  44. data/lib/lithic/models/parsed_webhook_event.rb +2 -4
  45. data/lib/lithic/models/payment.rb +76 -12
  46. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  47. data/lib/lithic/models.rb +12 -2
  48. data/lib/lithic/resources/account_activity.rb +2 -2
  49. data/lib/lithic/resources/auth_rules/v2.rb +24 -4
  50. data/lib/lithic/resources/disputes.rb +21 -21
  51. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +6 -2
  52. data/lib/lithic/resources/holds.rb +132 -0
  53. data/lib/lithic/resources/webhooks.rb +2 -3
  54. data/lib/lithic/version.rb +1 -1
  55. data/lib/lithic.rb +14 -1
  56. data/rbi/lithic/client.rbi +9 -0
  57. data/rbi/lithic/models/account_activity_list_params.rbi +10 -0
  58. data/rbi/lithic/models/account_activity_list_response.rbi +14 -2
  59. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +14 -2
  60. data/rbi/lithic/models/auth_rules/auth_rule.rbi +128 -4
  61. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +142 -0
  62. data/rbi/lithic/models/auth_rules/rule_feature.rbi +414 -0
  63. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +94 -0
  64. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +12 -35
  65. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +81 -12
  66. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +8 -4
  67. data/rbi/lithic/models/auth_rules/v2_list_versions_params.rbi +40 -0
  68. data/rbi/lithic/models/auth_rules/v2_list_versions_response.rbi +36 -0
  69. data/rbi/lithic/models/auth_rules/v2_retrieve_features_response.rbi +4 -209
  70. data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +1692 -3
  71. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +24 -0
  72. data/rbi/lithic/models/auth_rules/velocity_limit_filters.rbi +205 -0
  73. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +4 -206
  74. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +154 -142
  75. data/rbi/lithic/models/dispute_create_params.rbi +11 -11
  76. data/rbi/lithic/models/dispute_list_params.rbi +3 -3
  77. data/rbi/lithic/models/dispute_update_params.rbi +9 -9
  78. data/rbi/lithic/models/event.rbi +0 -14
  79. data/rbi/lithic/models/event_list_params.rbi +0 -8
  80. data/rbi/lithic/models/event_subscription.rbi +0 -8
  81. data/rbi/lithic/models/events/subscription_create_params.rbi +0 -8
  82. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +0 -5
  83. data/rbi/lithic/models/events/subscription_update_params.rbi +0 -8
  84. data/rbi/lithic/models/financial_account.rbi +5 -0
  85. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  86. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +11 -0
  87. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +11 -0
  88. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +38 -3
  89. data/rbi/lithic/models/hold.rbi +183 -0
  90. data/rbi/lithic/models/hold_create_params.rbi +90 -0
  91. data/rbi/lithic/models/hold_event.rbi +148 -0
  92. data/rbi/lithic/models/hold_list_params.rbi +137 -0
  93. data/rbi/lithic/models/hold_retrieve_params.rbi +35 -0
  94. data/rbi/lithic/models/hold_void_params.rbi +49 -0
  95. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  96. data/rbi/lithic/models/parsed_webhook_event.rbi +0 -1
  97. data/rbi/lithic/models/payment.rbi +139 -13
  98. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  99. data/rbi/lithic/models.rbi +12 -3
  100. data/rbi/lithic/resources/auth_rules/v2.rbi +16 -4
  101. data/rbi/lithic/resources/disputes.rbi +21 -21
  102. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +6 -0
  103. data/rbi/lithic/resources/holds.rbi +111 -0
  104. data/rbi/lithic/resources/webhooks.rbi +8 -2
  105. data/sig/lithic/client.rbs +5 -0
  106. data/sig/lithic/models/account_activity_list_params.rbs +4 -0
  107. data/sig/lithic/models/account_activity_list_response.rbs +5 -0
  108. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +5 -0
  109. data/sig/lithic/models/auth_rules/auth_rule.rbs +42 -0
  110. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +67 -0
  111. data/sig/lithic/models/auth_rules/rule_feature.rbs +173 -0
  112. data/sig/lithic/models/auth_rules/typescript_code_parameters.rbs +27 -0
  113. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +5 -18
  114. data/sig/lithic/models/auth_rules/v2_create_params.rbs +25 -0
  115. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  116. data/sig/lithic/models/auth_rules/v2_list_versions_params.rbs +25 -0
  117. data/sig/lithic/models/auth_rules/v2_list_versions_response.rbs +18 -0
  118. data/sig/lithic/models/auth_rules/v2_retrieve_features_response.rbs +4 -80
  119. data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +658 -3
  120. data/sig/lithic/models/auth_rules/v2_update_params.rbs +16 -0
  121. data/sig/lithic/models/auth_rules/velocity_limit_filters.rbs +81 -0
  122. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +6 -82
  123. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +38 -38
  124. data/sig/lithic/models/event.rbs +0 -2
  125. data/sig/lithic/models/event_list_params.rbs +0 -2
  126. data/sig/lithic/models/event_subscription.rbs +0 -2
  127. data/sig/lithic/models/events/subscription_create_params.rbs +0 -2
  128. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +0 -2
  129. data/sig/lithic/models/events/subscription_update_params.rbs +0 -2
  130. data/sig/lithic/models/financial_account.rbs +2 -0
  131. data/sig/lithic/models/financial_account_list_params.rbs +7 -1
  132. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +7 -0
  133. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +7 -0
  134. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +17 -3
  135. data/sig/lithic/models/hold.rbs +137 -0
  136. data/sig/lithic/models/hold_create_params.rbs +57 -0
  137. data/sig/lithic/models/hold_event.rbs +91 -0
  138. data/sig/lithic/models/hold_list_params.rbs +83 -0
  139. data/sig/lithic/models/hold_retrieve_params.rbs +23 -0
  140. data/sig/lithic/models/hold_void_params.rbs +28 -0
  141. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  142. data/sig/lithic/models/parsed_webhook_event.rbs +0 -1
  143. data/sig/lithic/models/payment.rbs +23 -8
  144. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  145. data/sig/lithic/models.rbs +12 -2
  146. data/sig/lithic/resources/auth_rules/v2.rbs +5 -0
  147. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +2 -0
  148. data/sig/lithic/resources/holds.rbs +39 -0
  149. data/sig/lithic/resources/webhooks.rbs +0 -1
  150. metadata +41 -5
  151. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +0 -159
  152. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +0 -331
  153. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +0 -130
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80947c60d2d8728d858fc34ea24cee602ee36dcc79d30d4f2627ebb481a843ca
4
- data.tar.gz: e51106c30dc42a57a78c3e0c3725b25148e39019fc86aeeb8f5742647d112025
3
+ metadata.gz: 67af32ffcf50a40837eca3e3fe0eeb991c5c9cd5d61ddd545d5476157870fd32
4
+ data.tar.gz: dbae341ad40f2b8e70fbe6dae7ec8cb50ed4a6d7948a32f280cc5c848a79463c
5
5
  SHA512:
6
- metadata.gz: 61f2b3d1cd20f97ef2130642fdb7449ca5633156e2d5c6798e10dd0151c84a8250e67b9735a790464e1579956857bbe49c3ca143a69da634c6562b26624ef7c9
7
- data.tar.gz: 65330d3f0164d0199a66a91f74a7dfbb4b5c69f82b115326d29e0034d707f62404808ab4985484247a52e902663fde4c0bf33eac9db9389197a9441867f73884
6
+ metadata.gz: 76b19130e933adb9b63f78e25c80767906846288ac5db76273cf23a1afa1f0dd4eac650b0365acab561fa9a82cf83b71ebfe7505e349323cbe571e00ab080313
7
+ data.tar.gz: 2b7f407c0b9e9bbfe3ba928ed86ea046dd48766f1fdb6c8102a565c55af10e4b164e7a50de9d43401f810a5efb450f486001c76c638cb055b62615bf0477e620
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.0 (2026-03-16)
4
+
5
+ Full Changelog: [v0.7.0...v0.8.0](https://github.com/lithic-com/lithic-ruby/compare/v0.7.0...v0.8.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add EARLY_DIRECT_DEPOSIT_FLOAT to financial account types ([3e0194f](https://github.com/lithic-com/lithic-ruby/commit/3e0194f79f315f44b8bc95c7e18452c99d91ce81))
10
+ * **api:** Add event_subtype to statement line items ([3e9c63c](https://github.com/lithic-com/lithic-ruby/commit/3e9c63ca2f2c3ddf7cfebef2bbf603646f0c6e7d))
11
+ * **api:** add excluded_account_tokens field to auth_rules ([df3f09b](https://github.com/lithic-com/lithic-ruby/commit/df3f09b0f5fe02307e747af719d5f4ab5a8ebf04))
12
+ * **api:** add loan_tape_date field to statement line items ([9dd0f14](https://github.com/lithic-com/lithic-ruby/commit/9dd0f14b35ebd87561dda0a11da9b440d9a4f1cb))
13
+ * **api:** add penalty_rates parameter to interest_tier_schedule ([d5d3ecb](https://github.com/lithic-com/lithic-ruby/commit/d5d3ecb2d87d8475aead81558b3152fd922cf267))
14
+ * **api:** Add support for early direct deposit ([5b75c2f](https://github.com/lithic-com/lithic-ruby/commit/5b75c2fdb30131890b8ea83befd70c6f7cba804f))
15
+ * **api:** add TypeScript code rules, draft version state tracking to auth_rules ([1dbdb68](https://github.com/lithic-com/lithic-ruby/commit/1dbdb688fffb5909af5c568bb16b2e3f899a6a42))
16
+ * **api:** add versions field to auth_rules daily statistics ([827bf68](https://github.com/lithic-com/lithic-ruby/commit/827bf6825c3dae568720c02beceedb1cc0f357f8))
17
+ * **api:** add WIRE category to account_activity/statements/payment, wire event types, remove field ([a9df6e3](https://github.com/lithic-com/lithic-ruby/commit/a9df6e398525050cf3cb0d7d1166a4fd27d5d182))
18
+ * **client:** add webhook support ([e31938a](https://github.com/lithic-com/lithic-ruby/commit/e31938aed255ccf33ac8cafcde59f0b53334cd52))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **api:** [breaking] unify webhook schemas for digital_wallet.tokenization_approval_request webhooks ([46555c1](https://github.com/lithic-com/lithic-ruby/commit/46555c112e45b4aa389e3d8f0a5231a0a7c3ce19))
24
+ * **api:** Disable MCP server to fix TypeScript SDK package publishing ([b977c80](https://github.com/lithic-com/lithic-ruby/commit/b977c80b191364666f305fc9527d161c653a43f7))
25
+ * **types:** require start/end_, remove auth_rule_token in auth_rules v2 backtest ([7307a40](https://github.com/lithic-com/lithic-ruby/commit/7307a40c8d1c7e50bc79ef302b1563da333ccb53))
26
+
27
+
28
+ ### Chores
29
+
30
+ * **internal:** codegen related update ([489f19b](https://github.com/lithic-com/lithic-ruby/commit/489f19b1c8c76d08aed0a313d45bed73406025b5))
31
+ * **internal:** regenerate SDK with no functional changes ([13a1d1b](https://github.com/lithic-com/lithic-ruby/commit/13a1d1bd178d109ca6d5c8d3f3199f471b643cfa))
32
+
33
+
34
+ ### Documentation
35
+
36
+ * **api:** update disputes terminology to chargeback request ([94dadbc](https://github.com/lithic-com/lithic-ruby/commit/94dadbcaa0c7f98b6a7e8b66fcdf5bfdc0e8fa5d))
37
+ * **client:** add MCP Server section to README ([fbf0234](https://github.com/lithic-com/lithic-ruby/commit/fbf0234627af6b16c0844a258c3133f2d671613c))
38
+
3
39
  ## 0.7.0 (2026-03-05)
4
40
 
5
41
  Full Changelog: [v0.6.0...v0.7.0](https://github.com/lithic-com/lithic-ruby/compare/v0.6.0...v0.7.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "lithic", "~> 0.7.0"
27
+ gem "lithic", "~> 0.8.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -102,10 +102,10 @@ event = lithic.webhooks.parse_unsafe(request.body.read)
102
102
 
103
103
  #### Installing standardwebhooks (optional)
104
104
 
105
- To use signature verification, install from GitHub:
105
+ To use signature verification, add the gem to your Gemfile:
106
106
 
107
107
  ```ruby
108
- gem "standardwebhooks", "~> 1.0", github: "standard-webhooks/standard-webhooks", glob: "libraries/ruby/*.gemspec"
108
+ gem "standardwebhooks", "~> 1.0"
109
109
  ```
110
110
 
111
111
  ### Handling errors
data/lib/lithic/client.rb CHANGED
@@ -23,6 +23,9 @@ module Lithic
23
23
  # @return [String]
24
24
  attr_reader :api_key
25
25
 
26
+ # @return [String, nil]
27
+ attr_reader :webhook_secret
28
+
26
29
  # @return [Lithic::Resources::Accounts]
27
30
  attr_reader :accounts
28
31
 
@@ -113,6 +116,9 @@ module Lithic
113
116
  # @return [Lithic::Resources::NetworkPrograms]
114
117
  attr_reader :network_programs
115
118
 
119
+ # @return [Lithic::Resources::Holds]
120
+ attr_reader :holds
121
+
116
122
  # @return [Lithic::Resources::AccountActivity]
117
123
  attr_reader :account_activity
118
124
 
@@ -146,6 +152,8 @@ module Lithic
146
152
  #
147
153
  # @param api_key [String, nil] Defaults to `ENV["LITHIC_API_KEY"]`
148
154
  #
155
+ # @param webhook_secret [String, nil] Defaults to `ENV["LITHIC_WEBHOOK_SECRET"]`
156
+ #
149
157
  # @param environment [:production, :sandbox, nil] Specifies the environment to use for the API.
150
158
  #
151
159
  # Each environment maps to a different base URL:
@@ -165,6 +173,7 @@ module Lithic
165
173
  # @param max_retry_delay [Float]
166
174
  def initialize(
167
175
  api_key: ENV["LITHIC_API_KEY"],
176
+ webhook_secret: ENV["LITHIC_WEBHOOK_SECRET"],
168
177
  environment: nil,
169
178
  base_url: ENV["LITHIC_BASE_URL"],
170
179
  max_retries: self.class::DEFAULT_MAX_RETRIES,
@@ -182,6 +191,7 @@ module Lithic
182
191
  end
183
192
 
184
193
  @api_key = api_key.to_s
194
+ @webhook_secret = webhook_secret&.to_s
185
195
 
186
196
  super(
187
197
  base_url: base_url,
@@ -221,6 +231,7 @@ module Lithic
221
231
  @funding_events = Lithic::Resources::FundingEvents.new(client: self)
222
232
  @fraud = Lithic::Resources::Fraud.new(client: self)
223
233
  @network_programs = Lithic::Resources::NetworkPrograms.new(client: self)
234
+ @holds = Lithic::Resources::Holds.new(client: self)
224
235
  @account_activity = Lithic::Resources::AccountActivity.new(client: self)
225
236
  @transfer_limits = Lithic::Resources::TransferLimits.new(client: self)
226
237
  @webhooks = Lithic::Resources::Webhooks.new(client: self)
@@ -110,6 +110,7 @@ module Lithic
110
110
  extend Lithic::Internal::Type::Enum
111
111
 
112
112
  ACH = :ACH
113
+ WIRE = :WIRE
113
114
  BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
114
115
  FEE = :FEE
115
116
  REWARD = :REWARD
@@ -128,6 +129,7 @@ module Lithic
128
129
  MANAGEMENT_FEE = :MANAGEMENT_FEE
129
130
  MANAGEMENT_REWARD = :MANAGEMENT_REWARD
130
131
  MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
132
+ HOLD = :HOLD
131
133
  PROGRAM_FUNDING = :PROGRAM_FUNDING
132
134
 
133
135
  # @!method self.values
@@ -6,7 +6,8 @@ module Lithic
6
6
  # which transaction type is returned: INTERNAL returns FinancialTransaction,
7
7
  # TRANSFER returns BookTransferTransaction, CARD returns CardTransaction, PAYMENT
8
8
  # returns PaymentTransaction, EXTERNAL_PAYMENT returns ExternalPaymentResponse,
9
- # and MANAGEMENT_OPERATION returns ManagementOperationTransaction
9
+ # MANAGEMENT_OPERATION returns ManagementOperationTransaction, and HOLD returns
10
+ # HoldTransaction
10
11
  #
11
12
  # @see Lithic::Resources::AccountActivity#list
12
13
  module AccountActivityListResponse
@@ -30,6 +31,9 @@ module Lithic
30
31
 
31
32
  variant :MANAGEMENT_OPERATION, -> { Lithic::ManagementOperationTransaction }
32
33
 
34
+ # A hold transaction representing reserved funds on a financial account. Holds move funds from available to pending balance in anticipation of future payments. They can be resolved via settlement (linked to payment), manual release, or expiration.
35
+ variant :HOLD, -> { Lithic::Hold }
36
+
33
37
  class Internal < Lithic::Internal::Type::BaseModel
34
38
  # @!attribute token
35
39
  # Unique identifier for the transaction
@@ -145,6 +149,7 @@ module Lithic
145
149
  extend Lithic::Internal::Type::Enum
146
150
 
147
151
  ACH = :ACH
152
+ WIRE = :WIRE
148
153
  BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
149
154
  FEE = :FEE
150
155
  REWARD = :REWARD
@@ -163,6 +168,7 @@ module Lithic
163
168
  MANAGEMENT_FEE = :MANAGEMENT_FEE
164
169
  MANAGEMENT_REWARD = :MANAGEMENT_REWARD
165
170
  MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
171
+ HOLD = :HOLD
166
172
  PROGRAM_FUNDING = :PROGRAM_FUNDING
167
173
 
168
174
  # @!method self.values
@@ -261,7 +267,7 @@ module Lithic
261
267
  end
262
268
 
263
269
  # @!method self.variants
264
- # @return [Array(Lithic::Models::AccountActivityListResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityListResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction)]
270
+ # @return [Array(Lithic::Models::AccountActivityListResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityListResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction, Lithic::Models::Hold)]
265
271
  end
266
272
  end
267
273
  end
@@ -6,7 +6,8 @@ module Lithic
6
6
  # which transaction type is returned: INTERNAL returns FinancialTransaction,
7
7
  # TRANSFER returns BookTransferTransaction, CARD returns CardTransaction, PAYMENT
8
8
  # returns PaymentTransaction, EXTERNAL_PAYMENT returns ExternalPaymentResponse,
9
- # and MANAGEMENT_OPERATION returns ManagementOperationTransaction
9
+ # MANAGEMENT_OPERATION returns ManagementOperationTransaction, and HOLD returns
10
+ # HoldTransaction
10
11
  #
11
12
  # @see Lithic::Resources::AccountActivity#retrieve_transaction
12
13
  module AccountActivityRetrieveTransactionResponse
@@ -30,6 +31,9 @@ module Lithic
30
31
 
31
32
  variant :MANAGEMENT_OPERATION, -> { Lithic::ManagementOperationTransaction }
32
33
 
34
+ # A hold transaction representing reserved funds on a financial account. Holds move funds from available to pending balance in anticipation of future payments. They can be resolved via settlement (linked to payment), manual release, or expiration.
35
+ variant :HOLD, -> { Lithic::Hold }
36
+
33
37
  class Internal < Lithic::Internal::Type::BaseModel
34
38
  # @!attribute token
35
39
  # Unique identifier for the transaction
@@ -148,6 +152,7 @@ module Lithic
148
152
  extend Lithic::Internal::Type::Enum
149
153
 
150
154
  ACH = :ACH
155
+ WIRE = :WIRE
151
156
  BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
152
157
  FEE = :FEE
153
158
  REWARD = :REWARD
@@ -166,6 +171,7 @@ module Lithic
166
171
  MANAGEMENT_FEE = :MANAGEMENT_FEE
167
172
  MANAGEMENT_REWARD = :MANAGEMENT_REWARD
168
173
  MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
174
+ HOLD = :HOLD
169
175
  PROGRAM_FUNDING = :PROGRAM_FUNDING
170
176
 
171
177
  # @!method self.values
@@ -264,7 +270,7 @@ module Lithic
264
270
  end
265
271
 
266
272
  # @!method self.variants
267
- # @return [Array(Lithic::Models::AccountActivityRetrieveTransactionResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityRetrieveTransactionResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction)]
273
+ # @return [Array(Lithic::Models::AccountActivityRetrieveTransactionResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityRetrieveTransactionResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction, Lithic::Models::Hold)]
268
274
  end
269
275
  end
270
276
  end
@@ -82,17 +82,31 @@ module Lithic
82
82
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
83
83
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
84
84
  # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
85
+ # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
86
+ # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
85
87
  #
86
88
  # @return [Symbol, Lithic::Models::AuthRules::AuthRule::Type]
87
89
  required :type, enum: -> { Lithic::AuthRules::AuthRule::Type }
88
90
 
91
+ # @!attribute excluded_account_tokens
92
+ # Account tokens to which the Auth Rule does not apply.
93
+ #
94
+ # @return [Array<String>, nil]
95
+ optional :excluded_account_tokens, Lithic::Internal::Type::ArrayOf[String]
96
+
97
+ # @!attribute excluded_business_account_tokens
98
+ # Business account tokens to which the Auth Rule does not apply.
99
+ #
100
+ # @return [Array<String>, nil]
101
+ optional :excluded_business_account_tokens, Lithic::Internal::Type::ArrayOf[String]
102
+
89
103
  # @!attribute excluded_card_tokens
90
104
  # Card tokens to which the Auth Rule does not apply.
91
105
  #
92
106
  # @return [Array<String>, nil]
93
107
  optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String]
94
108
 
95
- # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil)
109
+ # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_account_tokens: nil, excluded_business_account_tokens: nil, excluded_card_tokens: nil)
96
110
  # Some parameter documentations has been truncated, see
97
111
  # {Lithic::Models::AuthRules::AuthRule} for more details.
98
112
  #
@@ -120,6 +134,10 @@ module Lithic
120
134
  #
121
135
  # @param type [Symbol, Lithic::Models::AuthRules::AuthRule::Type] The type of Auth Rule. For certain rule types, this determines the event stream
122
136
  #
137
+ # @param excluded_account_tokens [Array<String>] Account tokens to which the Auth Rule does not apply.
138
+ #
139
+ # @param excluded_business_account_tokens [Array<String>] Business account tokens to which the Auth Rule does not apply.
140
+ #
123
141
  # @param excluded_card_tokens [Array<String>] Card tokens to which the Auth Rule does not apply.
124
142
 
125
143
  # @see Lithic::Models::AuthRules::AuthRule#current_version
@@ -127,7 +145,7 @@ module Lithic
127
145
  # @!attribute parameters
128
146
  # Parameters for the Auth Rule
129
147
  #
130
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters]
148
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters]
131
149
  required :parameters, union: -> { Lithic::AuthRules::AuthRule::CurrentVersion::Parameters }
132
150
 
133
151
  response_only do
@@ -143,7 +161,7 @@ module Lithic
143
161
  # Some parameter documentations has been truncated, see
144
162
  # {Lithic::Models::AuthRules::AuthRule::CurrentVersion} for more details.
145
163
  #
146
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule
164
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters] Parameters for the Auth Rule
147
165
  #
148
166
  # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
149
167
 
@@ -168,19 +186,44 @@ module Lithic
168
186
 
169
187
  variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters }
170
188
 
189
+ # Parameters for defining a TypeScript code rule
190
+ variant -> { Lithic::AuthRules::TypescriptCodeParameters }
191
+
171
192
  # @!method self.variants
172
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)]
193
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters)]
173
194
  end
174
195
  end
175
196
 
176
197
  # @see Lithic::Models::AuthRules::AuthRule#draft_version
177
198
  class DraftVersion < Lithic::Internal::Type::BaseModel
199
+ # @!attribute error
200
+ # An error message if the draft version failed compilation. Populated when `state`
201
+ # is `ERROR`, `null` otherwise.
202
+ #
203
+ # @return [String, nil]
204
+ required :error, String, nil?: true
205
+
178
206
  # @!attribute parameters
179
207
  # Parameters for the Auth Rule
180
208
  #
181
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters]
209
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters]
182
210
  required :parameters, union: -> { Lithic::AuthRules::AuthRule::DraftVersion::Parameters }
183
211
 
212
+ # @!attribute state
213
+ # The state of the draft version. Most rules are created synchronously and the
214
+ # state is immediately `SHADOWING`. Rules backed by TypeScript code are compiled
215
+ # asynchronously — the state starts as `PENDING` and transitions to `SHADOWING` on
216
+ # success or `ERROR` on failure.
217
+ #
218
+ # - `PENDING`: Compilation of the rule is in progress (TypeScript rules only).
219
+ # - `SHADOWING`: The draft version is ready and evaluating in shadow mode
220
+ # alongside the current active version. It can be promoted to the active
221
+ # version.
222
+ # - `ERROR`: Compilation of the rule failed. Check the `error` field for details.
223
+ #
224
+ # @return [Symbol, Lithic::Models::AuthRules::AuthRule::DraftVersion::State]
225
+ required :state, enum: -> { Lithic::AuthRules::AuthRule::DraftVersion::State }
226
+
184
227
  response_only do
185
228
  # @!attribute version
186
229
  # The version of the rule, this is incremented whenever the rule's parameters
@@ -190,11 +233,15 @@ module Lithic
190
233
  required :version, Integer
191
234
  end
192
235
 
193
- # @!method initialize(parameters:, version:)
236
+ # @!method initialize(error:, parameters:, state:, version:)
194
237
  # Some parameter documentations has been truncated, see
195
238
  # {Lithic::Models::AuthRules::AuthRule::DraftVersion} for more details.
196
239
  #
197
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule
240
+ # @param error [String, nil] An error message if the draft version failed compilation. Populated when `state`
241
+ #
242
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters] Parameters for the Auth Rule
243
+ #
244
+ # @param state [Symbol, Lithic::Models::AuthRules::AuthRule::DraftVersion::State] The state of the draft version. Most rules are created synchronously and the sta
198
245
  #
199
246
  # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
200
247
 
@@ -219,8 +266,34 @@ module Lithic
219
266
 
220
267
  variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters }
221
268
 
269
+ # Parameters for defining a TypeScript code rule
270
+ variant -> { Lithic::AuthRules::TypescriptCodeParameters }
271
+
222
272
  # @!method self.variants
223
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)]
273
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters)]
274
+ end
275
+
276
+ # The state of the draft version. Most rules are created synchronously and the
277
+ # state is immediately `SHADOWING`. Rules backed by TypeScript code are compiled
278
+ # asynchronously — the state starts as `PENDING` and transitions to `SHADOWING` on
279
+ # success or `ERROR` on failure.
280
+ #
281
+ # - `PENDING`: Compilation of the rule is in progress (TypeScript rules only).
282
+ # - `SHADOWING`: The draft version is ready and evaluating in shadow mode
283
+ # alongside the current active version. It can be promoted to the active
284
+ # version.
285
+ # - `ERROR`: Compilation of the rule failed. Check the `error` field for details.
286
+ #
287
+ # @see Lithic::Models::AuthRules::AuthRule::DraftVersion#state
288
+ module State
289
+ extend Lithic::Internal::Type::Enum
290
+
291
+ PENDING = :PENDING
292
+ SHADOWING = :SHADOWING
293
+ ERROR = :ERROR
294
+
295
+ # @!method self.values
296
+ # @return [Array<Symbol>]
224
297
  end
225
298
  end
226
299
 
@@ -248,6 +321,8 @@ module Lithic
248
321
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
249
322
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
250
323
  # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
324
+ # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
325
+ # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
251
326
  #
252
327
  # @see Lithic::Models::AuthRules::AuthRule#type
253
328
  module Type
@@ -257,6 +332,7 @@ module Lithic
257
332
  VELOCITY_LIMIT = :VELOCITY_LIMIT
258
333
  MERCHANT_LOCK = :MERCHANT_LOCK
259
334
  CONDITIONAL_ACTION = :CONDITIONAL_ACTION
335
+ TYPESCRIPT_CODE = :TYPESCRIPT_CODE
260
336
 
261
337
  # @!method self.values
262
338
  # @return [Array<Symbol>]
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class AuthRuleVersion < Lithic::Internal::Type::BaseModel
7
+ # @!attribute created
8
+ # Timestamp of when this version was created.
9
+ #
10
+ # @return [Time]
11
+ required :created, Time
12
+
13
+ # @!attribute parameters
14
+ # Parameters for the Auth Rule
15
+ #
16
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters]
17
+ required :parameters, union: -> { Lithic::AuthRules::AuthRuleVersion::Parameters }
18
+
19
+ # @!attribute state
20
+ # The current state of this version.
21
+ #
22
+ # @return [Symbol, Lithic::Models::AuthRules::AuthRuleVersion::State]
23
+ required :state, enum: -> { Lithic::AuthRules::AuthRuleVersion::State }
24
+
25
+ response_only do
26
+ # @!attribute version
27
+ # The version of the rule, this is incremented whenever the rule's parameters
28
+ # change.
29
+ #
30
+ # @return [Integer]
31
+ required :version, Integer
32
+ end
33
+
34
+ # @!method initialize(created:, parameters:, state:, version:)
35
+ # Some parameter documentations has been truncated, see
36
+ # {Lithic::Models::AuthRules::AuthRuleVersion} for more details.
37
+ #
38
+ # @param created [Time] Timestamp of when this version was created.
39
+ #
40
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters] Parameters for the Auth Rule
41
+ #
42
+ # @param state [Symbol, Lithic::Models::AuthRules::AuthRuleVersion::State] The current state of this version.
43
+ #
44
+ # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
45
+
46
+ # Parameters for the Auth Rule
47
+ #
48
+ # @see Lithic::Models::AuthRules::AuthRuleVersion#parameters
49
+ module Parameters
50
+ extend Lithic::Internal::Type::Union
51
+
52
+ # Deprecated: Use CONDITIONAL_ACTION instead.
53
+ variant -> { Lithic::AuthRules::ConditionalBlockParameters }
54
+
55
+ variant -> { Lithic::AuthRules::VelocityLimitParams }
56
+
57
+ variant -> { Lithic::AuthRules::MerchantLockParameters }
58
+
59
+ variant -> { Lithic::AuthRules::Conditional3DSActionParameters }
60
+
61
+ variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters }
62
+
63
+ variant -> { Lithic::AuthRules::ConditionalACHActionParameters }
64
+
65
+ variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters }
66
+
67
+ # Parameters for defining a TypeScript code rule
68
+ variant -> { Lithic::AuthRules::TypescriptCodeParameters }
69
+
70
+ # @!method self.variants
71
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters)]
72
+ end
73
+
74
+ # The current state of this version.
75
+ #
76
+ # @see Lithic::Models::AuthRules::AuthRuleVersion#state
77
+ module State
78
+ extend Lithic::Internal::Type::Enum
79
+
80
+ ACTIVE = :ACTIVE
81
+ SHADOW = :SHADOW
82
+ INACTIVE = :INACTIVE
83
+
84
+ # @!method self.values
85
+ # @return [Array<Symbol>]
86
+ end
87
+ end
88
+ end
89
+
90
+ AuthRuleVersion = AuthRules::AuthRuleVersion
91
+ end
92
+ end