lithic 0.4.0 → 0.5.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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +10 -1
  4. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  5. data/lib/lithic/internal/util.rb +1 -1
  6. data/lib/lithic/models/account_holder.rb +14 -5
  7. data/lib/lithic/models/account_holder_create_params.rb +10 -1
  8. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -0
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +14 -5
  10. data/lib/lithic/models/account_holder_update_params.rb +10 -1
  11. data/lib/lithic/models/account_holder_update_response.rb +14 -5
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +10 -1
  13. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -3
  14. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +47 -21
  15. data/lib/lithic/models/auth_rules/v2_list_results_params.rb +70 -0
  16. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +740 -0
  17. data/lib/lithic/models/book_transfer_create_params.rb +9 -1
  18. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +178 -25
  19. data/lib/lithic/models/kyb.rb +10 -1
  20. data/lib/lithic/models/parsed_webhook_event.rb +10 -1
  21. data/lib/lithic/resources/account_holders.rb +6 -2
  22. data/lib/lithic/resources/auth_rules/v2.rb +42 -0
  23. data/lib/lithic/resources/book_transfers.rb +3 -1
  24. data/lib/lithic/version.rb +1 -1
  25. data/lib/lithic.rb +2 -0
  26. data/rbi/lithic/internal/util.rbi +1 -1
  27. data/rbi/lithic/models/account_holder.rbi +19 -6
  28. data/rbi/lithic/models/account_holder_create_params.rbi +13 -0
  29. data/rbi/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -0
  30. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +19 -6
  31. data/rbi/lithic/models/account_holder_update_params.rbi +13 -0
  32. data/rbi/lithic/models/account_holder_update_response.rbi +19 -6
  33. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +13 -0
  34. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  35. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +69 -30
  36. data/rbi/lithic/models/auth_rules/v2_list_results_params.rbi +112 -0
  37. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +1826 -0
  38. data/rbi/lithic/models/book_transfer_create_params.rbi +11 -0
  39. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +337 -36
  40. data/rbi/lithic/models/kyb.rbi +13 -0
  41. data/rbi/lithic/models/parsed_webhook_event.rbi +13 -0
  42. data/rbi/lithic/resources/account_holders.rbi +8 -0
  43. data/rbi/lithic/resources/auth_rules/v2.rbi +42 -0
  44. data/rbi/lithic/resources/book_transfers.rbi +3 -0
  45. data/sig/lithic/models/account_holder.rbs +7 -0
  46. data/sig/lithic/models/account_holder_create_params.rbs +7 -0
  47. data/sig/lithic/models/account_holder_simulate_enrollment_review_params.rbs +2 -1
  48. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +7 -0
  49. data/sig/lithic/models/account_holder_update_params.rbs +7 -0
  50. data/sig/lithic/models/account_holder_update_response.rbs +7 -0
  51. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +7 -0
  52. data/sig/lithic/models/auth_rules/v2_list_results_params.rbs +65 -0
  53. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +752 -0
  54. data/sig/lithic/models/book_transfer_create_params.rbs +7 -0
  55. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +96 -0
  56. data/sig/lithic/models/kyb.rbs +7 -0
  57. data/sig/lithic/models/parsed_webhook_event.rbs +7 -0
  58. data/sig/lithic/resources/account_holders.rbs +2 -0
  59. data/sig/lithic/resources/auth_rules/v2.rbs +10 -0
  60. data/sig/lithic/resources/book_transfers.rbs +1 -0
  61. metadata +8 -2
@@ -58,6 +58,12 @@ module Lithic
58
58
  # @return [String, nil]
59
59
  optional :external_id, String
60
60
 
61
+ # @!attribute hold_token
62
+ # Token of an existing hold to settle when this transfer is initiated
63
+ #
64
+ # @return [String, nil]
65
+ optional :hold_token, String
66
+
61
67
  # @!attribute memo
62
68
  # Optional descriptor for the transfer.
63
69
  #
@@ -70,7 +76,7 @@ module Lithic
70
76
  # @return [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount, nil]
71
77
  optional :on_closed_account, enum: -> { Lithic::BookTransferCreateParams::OnClosedAccount }
72
78
 
73
- # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {})
79
+ # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, hold_token: nil, memo: nil, on_closed_account: nil, request_options: {})
74
80
  # Some parameter documentations has been truncated, see
75
81
  # {Lithic::Models::BookTransferCreateParams} for more details.
76
82
  #
@@ -90,6 +96,8 @@ module Lithic
90
96
  #
91
97
  # @param external_id [String] External ID defined by the customer
92
98
  #
99
+ # @param hold_token [String] Token of an existing hold to settle when this transfer is initiated
100
+ #
93
101
  # @param memo [String] Optional descriptor for the transfer.
94
102
  #
95
103
  # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation
@@ -18,16 +18,31 @@ module Lithic
18
18
  required :acquirer_fee, Integer
19
19
 
20
20
  # @!attribute amount
21
- # Authorization amount of the transaction (in cents), including any acquirer fees.
22
- # The contents of this field are identical to `authorization_amount`.
21
+ # @deprecated
22
+ #
23
+ # Deprecated, use `amounts`. Authorization amount of the transaction (in cents),
24
+ # including any acquirer fees. The contents of this field are identical to
25
+ # `authorization_amount`.
23
26
  #
24
27
  # @return [Integer]
25
28
  required :amount, Integer
26
29
 
30
+ # @!attribute amounts
31
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
32
+ # amounts reflect the original network authorization values. For programs with
33
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
34
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
35
+ # anticipated final transaction amounts such as tips or fuel fill-ups
36
+ #
37
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts]
38
+ required :amounts, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts }
39
+
27
40
  # @!attribute authorization_amount
28
- # The base transaction amount (in cents) plus the acquirer fee field. This is the
29
- # amount the issuer should authorize against unless the issuer is paying the
30
- # acquirer fee on behalf of the cardholder.
41
+ # @deprecated
42
+ #
43
+ # Deprecated, use `amounts`. The base transaction amount (in cents) plus the
44
+ # acquirer fee field. This is the amount the issuer should authorize against
45
+ # unless the issuer is paying the acquirer fee on behalf of the cardholder.
31
46
  #
32
47
  # @return [Integer]
33
48
  required :authorization_amount, Integer
@@ -44,7 +59,10 @@ module Lithic
44
59
  required :card, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Card }
45
60
 
46
61
  # @!attribute cardholder_currency
47
- # 3-character alphabetic ISO 4217 code for cardholder's billing currency.
62
+ # @deprecated
63
+ #
64
+ # Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
65
+ # billing currency.
48
66
  #
49
67
  # @return [String]
50
68
  required :cardholder_currency, String
@@ -77,24 +95,30 @@ module Lithic
77
95
  required :merchant, -> { Lithic::Merchant }
78
96
 
79
97
  # @!attribute merchant_amount
80
- # The amount that the merchant will receive, denominated in `merchant_currency`
81
- # and in the smallest currency unit. Note the amount includes `acquirer_fee`,
82
- # similar to `authorization_amount`. It will be different from
83
- # `authorization_amount` if the merchant is taking payment in a different
84
- # currency.
98
+ # @deprecated
99
+ #
100
+ # Deprecated, use `amounts`. The amount that the merchant will receive,
101
+ # denominated in `merchant_currency` and in the smallest currency unit. Note the
102
+ # amount includes `acquirer_fee`, similar to `authorization_amount`. It will be
103
+ # different from `authorization_amount` if the merchant is taking payment in a
104
+ # different currency.
85
105
  #
86
106
  # @return [Integer]
87
107
  required :merchant_amount, Integer
88
108
 
89
109
  # @!attribute merchant_currency
110
+ # @deprecated
111
+ #
90
112
  # 3-character alphabetic ISO 4217 code for the local currency of the transaction.
91
113
  #
92
114
  # @return [String]
93
115
  required :merchant_currency, String
94
116
 
95
117
  # @!attribute settled_amount
96
- # Amount (in cents) of the transaction that has been settled, including any
97
- # acquirer fees
118
+ # @deprecated
119
+ #
120
+ # Deprecated, use `amounts`. Amount (in cents) of the transaction that has been
121
+ # settled, including any acquirer fees.
98
122
  #
99
123
  # @return [Integer]
100
124
  required :settled_amount, Integer
@@ -131,11 +155,13 @@ module Lithic
131
155
  optional :cashback, Integer
132
156
 
133
157
  # @!attribute conversion_rate
134
- # If the transaction was requested in a currency other than the settlement
135
- # currency, this field will be populated to indicate the rate used to translate
136
- # the merchant_amount to the amount (i.e., `merchant_amount` x `conversion_rate` =
137
- # `amount`). Note that the `merchant_amount` is in the local currency and the
138
- # amount is in the settlement currency.
158
+ # @deprecated
159
+ #
160
+ # Deprecated, use `amounts`. If the transaction was requested in a currency other
161
+ # than the settlement currency, this field will be populated to indicate the rate
162
+ # used to translate the merchant_amount to the amount (i.e., `merchant_amount` x
163
+ # `conversion_rate` = `amount`). Note that the `merchant_amount` is in the local
164
+ # currency and the amount is in the settlement currency.
139
165
  #
140
166
  # @return [Float, nil]
141
167
  optional :conversion_rate, Float
@@ -206,7 +232,7 @@ module Lithic
206
232
  # @return [Time, nil]
207
233
  optional :ttl, Time
208
234
 
209
- # @!method initialize(token:, acquirer_fee:, amount:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil, event_type: :"card_authorization.approval_request")
235
+ # @!method initialize(token:, acquirer_fee:, amount:, amounts:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil, event_type: :"card_authorization.approval_request")
210
236
  # Some parameter documentations has been truncated, see
211
237
  # {Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent} for more details.
212
238
  #
@@ -214,15 +240,17 @@ module Lithic
214
240
  #
215
241
  # @param acquirer_fee [Integer] Fee (in cents) assessed by the merchant and paid for by the cardholder. Will be
216
242
  #
217
- # @param amount [Integer] Authorization amount of the transaction (in cents), including any acquirer fees.
243
+ # @param amount [Integer] Deprecated, use `amounts`. Authorization amount of the transaction (in cents), i
244
+ #
245
+ # @param amounts [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts] Structured amounts for this authorization. The `cardholder` and `merchant` amoun
218
246
  #
219
- # @param authorization_amount [Integer] The base transaction amount (in cents) plus the acquirer fee field. This is the
247
+ # @param authorization_amount [Integer] Deprecated, use `amounts`. The base transaction amount (in cents) plus the acqui
220
248
  #
221
249
  # @param avs [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Avs]
222
250
  #
223
251
  # @param card [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Card] Card object in ASA
224
252
  #
225
- # @param cardholder_currency [String] 3-character alphabetic ISO 4217 code for cardholder's billing currency.
253
+ # @param cardholder_currency [String] Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
226
254
  #
227
255
  # @param cash_amount [Integer] The portion of the transaction requested as cash back by the cardholder, and doe
228
256
  #
@@ -230,11 +258,11 @@ module Lithic
230
258
  #
231
259
  # @param merchant [Lithic::Models::Merchant]
232
260
  #
233
- # @param merchant_amount [Integer] The amount that the merchant will receive, denominated in `merchant_currency` an
261
+ # @param merchant_amount [Integer] Deprecated, use `amounts`. The amount that the merchant will receive, denominate
234
262
  #
235
263
  # @param merchant_currency [String] 3-character alphabetic ISO 4217 code for the local currency of the transaction.
236
264
  #
237
- # @param settled_amount [Integer] Amount (in cents) of the transaction that has been settled, including any acquir
265
+ # @param settled_amount [Integer] Deprecated, use `amounts`. Amount (in cents) of the transaction that has been se
238
266
  #
239
267
  # @param status [Symbol, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Status] The type of authorization request that this request is for. Note that `CREDIT_AU
240
268
  #
@@ -246,7 +274,7 @@ module Lithic
246
274
  #
247
275
  # @param cashback [Integer] Deprecated, use `cash_amount`.
248
276
  #
249
- # @param conversion_rate [Float] If the transaction was requested in a currency other than the settlement currenc
277
+ # @param conversion_rate [Float] Deprecated, use `amounts`. If the transaction was requested in a currency other
250
278
  #
251
279
  # @param event_token [String] The event token associated with the authorization. This field is only set for pr
252
280
  #
@@ -268,6 +296,131 @@ module Lithic
268
296
  #
269
297
  # @param event_type [Symbol, :"card_authorization.approval_request"]
270
298
 
299
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent#amounts
300
+ class Amounts < Lithic::Internal::Type::BaseModel
301
+ # @!attribute cardholder
302
+ #
303
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder]
304
+ required :cardholder, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder }
305
+
306
+ # @!attribute hold
307
+ #
308
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold, nil]
309
+ required :hold, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold }, nil?: true
310
+
311
+ # @!attribute merchant
312
+ #
313
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant]
314
+ required :merchant, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant }
315
+
316
+ # @!attribute settlement
317
+ #
318
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement, nil]
319
+ required :settlement,
320
+ -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement },
321
+ nil?: true
322
+
323
+ # @!method initialize(cardholder:, hold:, merchant:, settlement:)
324
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
325
+ # amounts reflect the original network authorization values. For programs with
326
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
327
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
328
+ # anticipated final transaction amounts such as tips or fuel fill-ups
329
+ #
330
+ # @param cardholder [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder]
331
+ # @param hold [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold, nil]
332
+ # @param merchant [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant]
333
+ # @param settlement [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement, nil]
334
+
335
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#cardholder
336
+ class Cardholder < Lithic::Internal::Type::BaseModel
337
+ # @!attribute amount
338
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
339
+ #
340
+ # @return [Integer]
341
+ required :amount, Integer
342
+
343
+ # @!attribute conversion_rate
344
+ # Exchange rate used for currency conversion
345
+ #
346
+ # @return [String]
347
+ required :conversion_rate, String
348
+
349
+ # @!attribute currency
350
+ # 3-character alphabetic ISO 4217 currency
351
+ #
352
+ # @return [String]
353
+ required :currency, String
354
+
355
+ # @!method initialize(amount:, conversion_rate:, currency:)
356
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
357
+ #
358
+ # @param conversion_rate [String] Exchange rate used for currency conversion
359
+ #
360
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
361
+ end
362
+
363
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#hold
364
+ class Hold < Lithic::Internal::Type::BaseModel
365
+ # @!attribute amount
366
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
367
+ #
368
+ # @return [Integer]
369
+ required :amount, Integer
370
+
371
+ # @!attribute currency
372
+ # 3-character alphabetic ISO 4217 currency
373
+ #
374
+ # @return [String]
375
+ required :currency, String
376
+
377
+ # @!method initialize(amount:, currency:)
378
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
379
+ #
380
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
381
+ end
382
+
383
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#merchant
384
+ class Merchant < Lithic::Internal::Type::BaseModel
385
+ # @!attribute amount
386
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
387
+ #
388
+ # @return [Integer]
389
+ required :amount, Integer
390
+
391
+ # @!attribute currency
392
+ # 3-character alphabetic ISO 4217 currency
393
+ #
394
+ # @return [String]
395
+ required :currency, String
396
+
397
+ # @!method initialize(amount:, currency:)
398
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
399
+ #
400
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
401
+ end
402
+
403
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#settlement
404
+ class Settlement < Lithic::Internal::Type::BaseModel
405
+ # @!attribute amount
406
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
407
+ #
408
+ # @return [Integer]
409
+ required :amount, Integer
410
+
411
+ # @!attribute currency
412
+ # 3-character alphabetic ISO 4217 currency
413
+ #
414
+ # @return [String]
415
+ required :currency, String
416
+
417
+ # @!method initialize(amount:, currency:)
418
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
419
+ #
420
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
421
+ end
422
+ end
423
+
271
424
  # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent#avs
272
425
  class Avs < Lithic::Internal::Type::BaseModel
273
426
  # @!attribute address
@@ -81,13 +81,20 @@ module Lithic
81
81
  # @return [String, nil]
82
82
  optional :kyb_passed_timestamp, String
83
83
 
84
+ # @!attribute naics_code
85
+ # 6-digit North American Industry Classification System (NAICS) code for the
86
+ # business.
87
+ #
88
+ # @return [String, nil]
89
+ optional :naics_code, String
90
+
84
91
  # @!attribute website_url
85
92
  # Company website URL.
86
93
  #
87
94
  # @return [String, nil]
88
95
  optional :website_url, String
89
96
 
90
- # @!method initialize(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil)
97
+ # @!method initialize(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, naics_code: nil, website_url: nil)
91
98
  # Some parameter documentations has been truncated, see {Lithic::Models::KYB} for
92
99
  # more details.
93
100
  #
@@ -109,6 +116,8 @@ module Lithic
109
116
  #
110
117
  # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin
111
118
  #
119
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
120
+ #
112
121
  # @param website_url [String] Company website URL.
113
122
 
114
123
  class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
@@ -163,6 +163,13 @@ module Lithic
163
163
  # @return [String, nil]
164
164
  optional :external_id, String
165
165
 
166
+ # @!attribute naics_code
167
+ # 6-digit North American Industry Classification System (NAICS) code for the
168
+ # business. Only present if naics_code was included in the update request.
169
+ #
170
+ # @return [String, nil]
171
+ optional :naics_code, String
172
+
166
173
  # @!attribute nature_of_business
167
174
  # Short description of the company's line of business (i.e., what does the company
168
175
  # do?).
@@ -176,7 +183,7 @@ module Lithic
176
183
  # @return [String, nil]
177
184
  optional :website_url, String
178
185
 
179
- # @!method initialize(token:, update_request:, event_type: nil, external_id: nil, nature_of_business: nil, website_url: nil)
186
+ # @!method initialize(token:, update_request:, event_type: nil, external_id: nil, naics_code: nil, nature_of_business: nil, website_url: nil)
180
187
  # Some parameter documentations has been truncated, see
181
188
  # {Lithic::Models::ParsedWebhookEvent::KYBPayload} for more details.
182
189
  #
@@ -190,6 +197,8 @@ module Lithic
190
197
  #
191
198
  # @param external_id [String] A user provided id that can be used to link an account holder with an external s
192
199
  #
200
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
201
+ #
193
202
  # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
194
203
  #
195
204
  # @param website_url [String] Company website URL.
@@ -15,7 +15,7 @@ module Lithic
15
15
  # process. This endpoint can only be used on accounts that are part of the program
16
16
  # that the calling API key manages.
17
17
  #
18
- # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
18
+ # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, naics_code: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
19
19
  #
20
20
  # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened.
21
21
  #
@@ -49,6 +49,8 @@ module Lithic
49
49
  #
50
50
  # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin
51
51
  #
52
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
53
+ #
52
54
  # @param website_url [String] Company website URL.
53
55
  #
54
56
  # @param kyc_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the indiv
@@ -106,7 +108,7 @@ module Lithic
106
108
  # process. This endpoint can only be used on existing accounts that are part of
107
109
  # the program that the calling API key manages.
108
110
  #
109
- # @overload update(account_holder_token, beneficial_owner_entities: nil, beneficial_owner_individuals: nil, business_entity: nil, control_person: nil, external_id: nil, nature_of_business: nil, website_url: nil, individual: nil, address: nil, business_account_token: nil, email: nil, first_name: nil, last_name: nil, legal_business_name: nil, phone_number: nil, request_options: {})
111
+ # @overload update(account_holder_token, beneficial_owner_entities: nil, beneficial_owner_individuals: nil, business_entity: nil, control_person: nil, external_id: nil, naics_code: nil, nature_of_business: nil, website_url: nil, individual: nil, address: nil, business_account_token: nil, email: nil, first_name: nil, last_name: nil, legal_business_name: nil, phone_number: nil, request_options: {})
110
112
  #
111
113
  # @param account_holder_token [String] Globally unique identifier for the account holder.
112
114
  #
@@ -120,6 +122,8 @@ module Lithic
120
122
  #
121
123
  # @param external_id [String] A user provided id that can be used to link an account holder with an external s
122
124
  #
125
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
126
+ #
123
127
  # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
124
128
  #
125
129
  # @param website_url [String] Company website URL.
@@ -198,6 +198,48 @@ module Lithic
198
198
  )
199
199
  end
200
200
 
201
+ # Some parameter documentations has been truncated, see
202
+ # {Lithic::Models::AuthRules::V2ListResultsParams} for more details.
203
+ #
204
+ # Lists Auth Rule evaluation results.
205
+ #
206
+ # **Limitations:**
207
+ #
208
+ # - Results are available for the past 3 months only
209
+ # - At least one filter (`event_token` or `auth_rule_token`) must be provided
210
+ # - When filtering by `event_token`, pagination is not supported
211
+ #
212
+ # @overload list_results(auth_rule_token: nil, ending_before: nil, event_token: nil, has_actions: nil, page_size: nil, starting_after: nil, request_options: {})
213
+ #
214
+ # @param auth_rule_token [String] Filter by Auth Rule token
215
+ #
216
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
217
+ #
218
+ # @param event_token [String] Filter by event token
219
+ #
220
+ # @param has_actions [Boolean] Filter by whether the rule evaluation produced any actions. When not provided, a
221
+ #
222
+ # @param page_size [Integer] Page size (for pagination).
223
+ #
224
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
225
+ #
226
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
227
+ #
228
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::AuthRules::V2ListResultsResponse::AuthorizationResult, Lithic::Models::AuthRules::V2ListResultsResponse::Authentication3DSResult, Lithic::Models::AuthRules::V2ListResultsResponse::TokenizationResult, Lithic::Models::AuthRules::V2ListResultsResponse::ACHResult>]
229
+ #
230
+ # @see Lithic::Models::AuthRules::V2ListResultsParams
231
+ def list_results(params = {})
232
+ parsed, options = Lithic::AuthRules::V2ListResultsParams.dump_request(params)
233
+ @client.request(
234
+ method: :get,
235
+ path: "v2/auth_rules/results",
236
+ query: parsed,
237
+ page: Lithic::Internal::CursorPage,
238
+ model: Lithic::Models::AuthRules::V2ListResultsResponse,
239
+ options: options
240
+ )
241
+ end
242
+
201
243
  # Promotes the draft version of an Auth rule to the currently active version such
202
244
  # that it is enforced in the respective stream.
203
245
  #
@@ -9,7 +9,7 @@ module Lithic
9
9
  # Book transfer funds between two financial accounts or between a financial
10
10
  # account and card
11
11
  #
12
- # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {})
12
+ # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, hold_token: nil, memo: nil, on_closed_account: nil, request_options: {})
13
13
  #
14
14
  # @param amount [Integer] Amount to be transferred in the currency's smallest unit (e.g., cents for USD).
15
15
  #
@@ -27,6 +27,8 @@ module Lithic
27
27
  #
28
28
  # @param external_id [String] External ID defined by the customer
29
29
  #
30
+ # @param hold_token [String] Token of an existing hold to settle when this transfer is initiated
31
+ #
30
32
  # @param memo [String] Optional descriptor for the transfer.
31
33
  #
32
34
  # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -127,6 +127,8 @@ require_relative "lithic/models/auth_rules/v2_create_params"
127
127
  require_relative "lithic/models/auth_rules/v2_delete_params"
128
128
  require_relative "lithic/models/auth_rules/v2_draft_params"
129
129
  require_relative "lithic/models/auth_rules/v2_list_params"
130
+ require_relative "lithic/models/auth_rules/v2_list_results_params"
131
+ require_relative "lithic/models/auth_rules/v2_list_results_response"
130
132
  require_relative "lithic/models/auth_rules/v2_promote_params"
131
133
  require_relative "lithic/models/auth_rules/v2_retrieve_features_params"
132
134
  require_relative "lithic/models/auth_rules/v2_retrieve_features_response"
@@ -296,7 +296,7 @@ module Lithic
296
296
  end
297
297
 
298
298
  JSON_CONTENT =
299
- T.let(%r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}, Regexp)
299
+ T.let(%r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}, Regexp)
300
300
  JSONL_CONTENT =
301
301
  T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
302
302
 
@@ -133,6 +133,14 @@ module Lithic
133
133
  sig { params(individual: Lithic::AccountHolder::Individual::OrHash).void }
134
134
  attr_writer :individual
135
135
 
136
+ # Only present when user_type == "BUSINESS". 6-digit North American Industry
137
+ # Classification System (NAICS) code for the business.
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :naics_code
140
+
141
+ sig { params(naics_code: String).void }
142
+ attr_writer :naics_code
143
+
136
144
  # Only present when user_type == "BUSINESS". User-submitted description of the
137
145
  # business.
138
146
  sig { returns(T.nilable(String)) }
@@ -195,8 +203,8 @@ module Lithic
195
203
 
196
204
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
197
205
  # attribute will be present. If the type is "BUSINESS" then the "business_entity",
198
- # "control_person", "beneficial_owner_individuals", "nature_of_business", and
199
- # "website_url" attributes will be present.
206
+ # "control_person", "beneficial_owner_individuals", "naics_code",
207
+ # "nature_of_business", and "website_url" attributes will be present.
200
208
  sig { returns(T.nilable(Lithic::AccountHolder::UserType::TaggedSymbol)) }
201
209
  attr_reader :user_type
202
210
 
@@ -238,6 +246,7 @@ module Lithic
238
246
  exemption_type: Lithic::AccountHolder::ExemptionType::OrSymbol,
239
247
  external_id: String,
240
248
  individual: Lithic::AccountHolder::Individual::OrHash,
249
+ naics_code: String,
241
250
  nature_of_business: String,
242
251
  phone_number: String,
243
252
  required_documents: T::Array[Lithic::RequiredDocument::OrHash],
@@ -292,6 +301,9 @@ module Lithic
292
301
  # Only present when user_type == "INDIVIDUAL". Information about the individual
293
302
  # for which the account is being opened and KYC is being run.
294
303
  individual: nil,
304
+ # Only present when user_type == "BUSINESS". 6-digit North American Industry
305
+ # Classification System (NAICS) code for the business.
306
+ naics_code: nil,
295
307
  # Only present when user_type == "BUSINESS". User-submitted description of the
296
308
  # business.
297
309
  nature_of_business: nil,
@@ -316,8 +328,8 @@ module Lithic
316
328
  status_reasons: nil,
317
329
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
318
330
  # attribute will be present. If the type is "BUSINESS" then the "business_entity",
319
- # "control_person", "beneficial_owner_individuals", "nature_of_business", and
320
- # "website_url" attributes will be present.
331
+ # "control_person", "beneficial_owner_individuals", "naics_code",
332
+ # "nature_of_business", and "website_url" attributes will be present.
321
333
  user_type: nil,
322
334
  # Information about the most recent identity verification attempt
323
335
  verification_application: nil,
@@ -343,6 +355,7 @@ module Lithic
343
355
  exemption_type: Lithic::AccountHolder::ExemptionType::TaggedSymbol,
344
356
  external_id: String,
345
357
  individual: Lithic::AccountHolder::Individual,
358
+ naics_code: String,
346
359
  nature_of_business: String,
347
360
  phone_number: String,
348
361
  required_documents: T::Array[Lithic::RequiredDocument],
@@ -959,8 +972,8 @@ module Lithic
959
972
 
960
973
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
961
974
  # attribute will be present. If the type is "BUSINESS" then the "business_entity",
962
- # "control_person", "beneficial_owner_individuals", "nature_of_business", and
963
- # "website_url" attributes will be present.
975
+ # "control_person", "beneficial_owner_individuals", "naics_code",
976
+ # "nature_of_business", and "website_url" attributes will be present.
964
977
  module UserType
965
978
  extend Lithic::Internal::Type::Enum
966
979
 
@@ -127,6 +127,14 @@ module Lithic
127
127
  sig { params(kyb_passed_timestamp: String).void }
128
128
  attr_writer :kyb_passed_timestamp
129
129
 
130
+ # 6-digit North American Industry Classification System (NAICS) code for the
131
+ # business.
132
+ sig { returns(T.nilable(String)) }
133
+ attr_reader :naics_code
134
+
135
+ sig { params(naics_code: String).void }
136
+ attr_writer :naics_code
137
+
130
138
  # Company website URL.
131
139
  sig { returns(T.nilable(String)) }
132
140
  attr_reader :website_url
@@ -222,6 +230,7 @@ module Lithic
222
230
  ],
223
231
  external_id: String,
224
232
  kyb_passed_timestamp: String,
233
+ naics_code: String,
225
234
  website_url: String,
226
235
  kyc_passed_timestamp: String,
227
236
  business_account_token: String,
@@ -282,6 +291,9 @@ module Lithic
282
291
  #
283
292
  # This field is required only if workflow type is `KYB_BYO`.
284
293
  kyb_passed_timestamp: nil,
294
+ # 6-digit North American Industry Classification System (NAICS) code for the
295
+ # business.
296
+ naics_code: nil,
285
297
  # Company website URL.
286
298
  website_url: nil,
287
299
  # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
@@ -315,6 +327,7 @@ module Lithic
315
327
  ],
316
328
  external_id: String,
317
329
  kyb_passed_timestamp: String,
330
+ naics_code: String,
318
331
  website_url: String,
319
332
  individual: Lithic::AccountHolderCreateParams::Individual,
320
333
  kyc_passed_timestamp: String,
@@ -126,6 +126,11 @@ module Lithic
126
126
  :REJECTED,
127
127
  Lithic::AccountHolderSimulateEnrollmentReviewParams::Status::TaggedSymbol
128
128
  )
129
+ PENDING_REVIEW =
130
+ T.let(
131
+ :PENDING_REVIEW,
132
+ Lithic::AccountHolderSimulateEnrollmentReviewParams::Status::TaggedSymbol
133
+ )
129
134
 
130
135
  sig do
131
136
  override.returns(