lithic 0.1.0.pre.alpha.5 → 0.1.0.pre.alpha.6

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -5
  3. data/lib/lithic/internal/cursor_page.rb +5 -1
  4. data/lib/lithic/internal/single_page.rb +5 -1
  5. data/lib/lithic/internal/transport/base_client.rb +2 -2
  6. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  7. data/lib/lithic/internal/type/array_of.rb +5 -3
  8. data/lib/lithic/internal/type/base_model.rb +12 -6
  9. data/lib/lithic/internal/type/base_page.rb +4 -1
  10. data/lib/lithic/internal/type/{boolean_model.rb → boolean.rb} +2 -2
  11. data/lib/lithic/internal/type/converter.rb +6 -1
  12. data/lib/lithic/internal/type/enum.rb +2 -0
  13. data/lib/lithic/internal/type/hash_of.rb +3 -1
  14. data/lib/lithic/internal/util.rb +28 -45
  15. data/lib/lithic/models/account_holder.rb +1 -2
  16. data/lib/lithic/models/account_holder_create_params.rb +89 -93
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +1 -1
  18. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +2 -2
  19. data/lib/lithic/models/auth_rules/v2_apply_params.rb +1 -1
  20. data/lib/lithic/models/auth_rules/v2_apply_response.rb +1 -1
  21. data/lib/lithic/models/auth_rules/v2_create_params.rb +1 -1
  22. data/lib/lithic/models/auth_rules/v2_create_response.rb +1 -1
  23. data/lib/lithic/models/auth_rules/v2_draft_response.rb +1 -1
  24. data/lib/lithic/models/auth_rules/v2_list_response.rb +1 -1
  25. data/lib/lithic/models/auth_rules/v2_promote_response.rb +1 -1
  26. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +1 -1
  27. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -1
  28. data/lib/lithic/models/auth_rules/v2_update_response.rb +1 -1
  29. data/lib/lithic/models/card_convert_physical_params.rb +5 -5
  30. data/lib/lithic/models/card_reissue_params.rb +5 -5
  31. data/lib/lithic/models/card_renew_params.rb +5 -5
  32. data/lib/lithic/models/credit_products/prime_rate_retrieve_response.rb +1 -1
  33. data/lib/lithic/models/digital_card_art.rb +2 -2
  34. data/lib/lithic/models/event_list_params.rb +1 -1
  35. data/lib/lithic/models/event_subscription.rb +1 -1
  36. data/lib/lithic/models/events/event_subscription_resend_params.rb +27 -0
  37. data/lib/lithic/models/events/subscription_create_params.rb +1 -1
  38. data/lib/lithic/models/events/subscription_update_params.rb +1 -1
  39. data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
  40. data/lib/lithic/models/financial_account.rb +11 -13
  41. data/lib/lithic/models/financial_account_create_params.rb +1 -1
  42. data/lib/lithic/models/financial_account_update_status_params.rb +9 -9
  43. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +1 -1
  44. data/lib/lithic/models/financial_accounts/loan_tape.rb +11 -11
  45. data/lib/lithic/models/financial_accounts/statement.rb +11 -11
  46. data/lib/lithic/models/financial_accounts/statement_list_params.rb +1 -1
  47. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -1
  48. data/lib/lithic/models/financial_accounts/statements.rb +1 -1
  49. data/lib/lithic/models/kyb.rb +89 -93
  50. data/lib/lithic/models/responder_endpoint_create_response.rb +1 -1
  51. data/lib/lithic/models/responder_endpoint_status.rb +1 -1
  52. data/lib/lithic/models/settlement_report.rb +1 -1
  53. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +3 -3
  54. data/lib/lithic/models/transaction.rb +5 -5
  55. data/lib/lithic/models/transaction_simulate_authorization_params.rb +1 -1
  56. data/lib/lithic/resources/account_holders.rb +3 -3
  57. data/lib/lithic/resources/accounts.rb +1 -1
  58. data/lib/lithic/resources/auth_rules/v2/backtests.rb +1 -1
  59. data/lib/lithic/resources/book_transfers.rb +1 -1
  60. data/lib/lithic/resources/cards/financial_transactions.rb +1 -1
  61. data/lib/lithic/resources/cards.rb +10 -7
  62. data/lib/lithic/resources/disputes.rb +2 -2
  63. data/lib/lithic/resources/events/event_subscriptions.rb +41 -0
  64. data/lib/lithic/resources/events/subscriptions.rb +3 -3
  65. data/lib/lithic/resources/events.rb +6 -2
  66. data/lib/lithic/resources/external_payments.rb +1 -1
  67. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +1 -1
  68. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +1 -1
  69. data/lib/lithic/resources/financial_accounts/statements.rb +1 -1
  70. data/lib/lithic/resources/financial_accounts.rb +5 -5
  71. data/lib/lithic/resources/management_operations.rb +1 -1
  72. data/lib/lithic/resources/payments.rb +2 -2
  73. data/lib/lithic/resources/reports/settlement/network_totals.rb +1 -1
  74. data/lib/lithic/resources/tokenizations.rb +1 -1
  75. data/lib/lithic/resources/transactions.rb +1 -1
  76. data/lib/lithic/version.rb +1 -1
  77. data/lib/lithic.rb +3 -1
  78. data/rbi/lib/lithic/internal/type/array_of.rbi +2 -2
  79. data/rbi/lib/lithic/internal/type/{boolean_model.rbi → boolean.rbi} +1 -1
  80. data/rbi/lib/lithic/internal/util.rbi +7 -5
  81. data/rbi/lib/lithic/models/account_holder.rbi +1 -2
  82. data/rbi/lib/lithic/models/account_holder_create_params.rbi +95 -95
  83. data/rbi/lib/lithic/models/card_convert_physical_params.rbi +5 -5
  84. data/rbi/lib/lithic/models/card_reissue_params.rbi +5 -5
  85. data/rbi/lib/lithic/models/card_renew_params.rbi +5 -5
  86. data/rbi/lib/lithic/models/events/event_subscription_resend_params.rbi +29 -0
  87. data/rbi/lib/lithic/models/financial_account.rbi +17 -19
  88. data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +15 -30
  89. data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +18 -18
  90. data/rbi/lib/lithic/models/financial_accounts/statement.rbi +18 -18
  91. data/rbi/lib/lithic/models/kyb.rbi +95 -95
  92. data/rbi/lib/lithic/resources/account_holders.rbi +6 -14
  93. data/rbi/lib/lithic/resources/cards.rbi +15 -12
  94. data/rbi/lib/lithic/resources/events/event_subscriptions.rbi +26 -0
  95. data/rbi/lib/lithic/resources/events.rbi +3 -0
  96. data/rbi/lib/lithic/resources/financial_accounts.rbi +3 -3
  97. data/rbi/lib/lithic/version.rbi +1 -1
  98. data/sig/lithic/internal/type/array_of.rbs +2 -2
  99. data/sig/lithic/internal/type/{boolean_model.rbs → boolean.rbs} +1 -1
  100. data/sig/lithic/internal/util.rbs +5 -5
  101. data/sig/lithic/models/account_holder_create_params.rbs +47 -43
  102. data/sig/lithic/models/card_convert_physical_params.rbs +2 -2
  103. data/sig/lithic/models/card_reissue_params.rbs +2 -2
  104. data/sig/lithic/models/card_renew_params.rbs +2 -2
  105. data/sig/lithic/models/events/event_subscription_resend_params.rbs +22 -0
  106. data/sig/lithic/models/financial_account.rbs +6 -6
  107. data/sig/lithic/models/financial_account_update_status_params.rbs +6 -6
  108. data/sig/lithic/models/financial_accounts/loan_tape.rbs +6 -6
  109. data/sig/lithic/models/financial_accounts/statement.rbs +6 -6
  110. data/sig/lithic/models/kyb.rbs +47 -43
  111. data/sig/lithic/resources/account_holders.rbs +1 -1
  112. data/sig/lithic/resources/events/event_subscriptions.rbs +15 -0
  113. data/sig/lithic/resources/events.rbs +2 -0
  114. data/sig/lithic/resources/financial_accounts.rbs +1 -1
  115. data/sig/lithic/version.rbs +1 -1
  116. metadata +11 -5
@@ -3,23 +3,11 @@
3
3
  module Lithic
4
4
  module Models
5
5
  class KYB < Lithic::Internal::Type::BaseModel
6
- # List of all entities with >25% ownership in the company. If no entity or
7
- # individual owns >25% of the company, and the largest shareholder is an entity,
8
- # please identify them in this field. See
9
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
10
- # (Section I) for more background. If no business owner is an entity, pass in an
11
- # empty list. However, either this parameter or `beneficial_owner_individuals`
12
- # must be populated. on entities that should be included.
13
- sig { returns(T::Array[Lithic::Models::KYB::BeneficialOwnerEntity]) }
14
- attr_accessor :beneficial_owner_entities
15
-
16
6
  # List of all direct and indirect individuals with >25% ownership in the company.
17
- # If no entity or individual owns >25% of the company, and the largest shareholder
18
- # is an individual, please identify them in this field. See
7
+ # If no individual owns >25% of the company, please identify the largest
8
+ # shareholder in this field. See
19
9
  # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
20
- # (Section I) for more background on individuals that should be included. If no
21
- # individual is an entity, pass in an empty list. However, either this parameter
22
- # or `beneficial_owner_entities` must be populated.
10
+ # (Section I) for more background on individuals that should be included.
23
11
  sig { returns(T::Array[Lithic::Models::KYB::BeneficialOwnerIndividual]) }
24
12
  attr_accessor :beneficial_owner_individuals
25
13
 
@@ -60,6 +48,18 @@ module Lithic
60
48
  sig { returns(Lithic::Models::KYB::Workflow::OrSymbol) }
61
49
  attr_accessor :workflow
62
50
 
51
+ # Deprecated.
52
+ sig { returns(T.nilable(T::Array[Lithic::Models::KYB::BeneficialOwnerEntity])) }
53
+ attr_reader :beneficial_owner_entities
54
+
55
+ sig do
56
+ params(
57
+ beneficial_owner_entities: T::Array[T.any(Lithic::Models::KYB::BeneficialOwnerEntity, Lithic::Internal::AnyHash)]
58
+ )
59
+ .void
60
+ end
61
+ attr_writer :beneficial_owner_entities
62
+
63
63
  # A user provided id that can be used to link an account holder with an external
64
64
  # system
65
65
  sig { returns(T.nilable(String)) }
@@ -87,13 +87,13 @@ module Lithic
87
87
 
88
88
  sig do
89
89
  params(
90
- beneficial_owner_entities: T::Array[T.any(Lithic::Models::KYB::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
91
90
  beneficial_owner_individuals: T::Array[T.any(Lithic::Models::KYB::BeneficialOwnerIndividual, Lithic::Internal::AnyHash)],
92
91
  business_entity: T.any(Lithic::Models::KYB::BusinessEntity, Lithic::Internal::AnyHash),
93
92
  control_person: T.any(Lithic::Models::KYB::ControlPerson, Lithic::Internal::AnyHash),
94
93
  nature_of_business: String,
95
94
  tos_timestamp: String,
96
95
  workflow: Lithic::Models::KYB::Workflow::OrSymbol,
96
+ beneficial_owner_entities: T::Array[T.any(Lithic::Models::KYB::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
97
97
  external_id: String,
98
98
  kyb_passed_timestamp: String,
99
99
  website_url: String
@@ -101,13 +101,13 @@ module Lithic
101
101
  .returns(T.attached_class)
102
102
  end
103
103
  def self.new(
104
- beneficial_owner_entities:,
105
104
  beneficial_owner_individuals:,
106
105
  business_entity:,
107
106
  control_person:,
108
107
  nature_of_business:,
109
108
  tos_timestamp:,
110
109
  workflow:,
110
+ beneficial_owner_entities: nil,
111
111
  external_id: nil,
112
112
  kyb_passed_timestamp: nil,
113
113
  website_url: nil
@@ -118,13 +118,13 @@ module Lithic
118
118
  override
119
119
  .returns(
120
120
  {
121
- beneficial_owner_entities: T::Array[Lithic::Models::KYB::BeneficialOwnerEntity],
122
121
  beneficial_owner_individuals: T::Array[Lithic::Models::KYB::BeneficialOwnerIndividual],
123
122
  business_entity: Lithic::Models::KYB::BusinessEntity,
124
123
  control_person: Lithic::Models::KYB::ControlPerson,
125
124
  nature_of_business: String,
126
125
  tos_timestamp: String,
127
126
  workflow: Lithic::Models::KYB::Workflow::OrSymbol,
127
+ beneficial_owner_entities: T::Array[Lithic::Models::KYB::BeneficialOwnerEntity],
128
128
  external_id: String,
129
129
  kyb_passed_timestamp: String,
130
130
  website_url: String
@@ -134,83 +134,6 @@ module Lithic
134
134
  def to_hash
135
135
  end
136
136
 
137
- class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
138
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
139
- # acceptable; APO/FPO are acceptable.
140
- sig { returns(Lithic::Models::Address) }
141
- attr_reader :address
142
-
143
- sig { params(address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash)).void }
144
- attr_writer :address
145
-
146
- # Government-issued identification number. US Federal Employer Identification
147
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
148
- # without hyphens.
149
- sig { returns(String) }
150
- attr_accessor :government_id
151
-
152
- # Legal (formal) business name.
153
- sig { returns(String) }
154
- attr_accessor :legal_business_name
155
-
156
- # One or more of the business's phone number(s), entered as a list in E.164
157
- # format.
158
- sig { returns(T::Array[String]) }
159
- attr_accessor :phone_numbers
160
-
161
- # Any name that the business operates under that is not its legal business name
162
- # (if applicable).
163
- sig { returns(T.nilable(String)) }
164
- attr_reader :dba_business_name
165
-
166
- sig { params(dba_business_name: String).void }
167
- attr_writer :dba_business_name
168
-
169
- # Parent company name (if applicable).
170
- sig { returns(T.nilable(String)) }
171
- attr_reader :parent_company
172
-
173
- sig { params(parent_company: String).void }
174
- attr_writer :parent_company
175
-
176
- sig do
177
- params(
178
- address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash),
179
- government_id: String,
180
- legal_business_name: String,
181
- phone_numbers: T::Array[String],
182
- dba_business_name: String,
183
- parent_company: String
184
- )
185
- .returns(T.attached_class)
186
- end
187
- def self.new(
188
- address:,
189
- government_id:,
190
- legal_business_name:,
191
- phone_numbers:,
192
- dba_business_name: nil,
193
- parent_company: nil
194
- )
195
- end
196
-
197
- sig do
198
- override
199
- .returns(
200
- {
201
- address: Lithic::Models::Address,
202
- government_id: String,
203
- legal_business_name: String,
204
- phone_numbers: T::Array[String],
205
- dba_business_name: String,
206
- parent_company: String
207
- }
208
- )
209
- end
210
- def to_hash
211
- end
212
- end
213
-
214
137
  class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
215
138
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
216
139
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
@@ -459,6 +382,83 @@ module Lithic
459
382
  def self.values
460
383
  end
461
384
  end
385
+
386
+ class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
387
+ # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
388
+ # acceptable; APO/FPO are acceptable.
389
+ sig { returns(Lithic::Models::Address) }
390
+ attr_reader :address
391
+
392
+ sig { params(address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash)).void }
393
+ attr_writer :address
394
+
395
+ # Government-issued identification number. US Federal Employer Identification
396
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
397
+ # without hyphens.
398
+ sig { returns(String) }
399
+ attr_accessor :government_id
400
+
401
+ # Legal (formal) business name.
402
+ sig { returns(String) }
403
+ attr_accessor :legal_business_name
404
+
405
+ # One or more of the business's phone number(s), entered as a list in E.164
406
+ # format.
407
+ sig { returns(T::Array[String]) }
408
+ attr_accessor :phone_numbers
409
+
410
+ # Any name that the business operates under that is not its legal business name
411
+ # (if applicable).
412
+ sig { returns(T.nilable(String)) }
413
+ attr_reader :dba_business_name
414
+
415
+ sig { params(dba_business_name: String).void }
416
+ attr_writer :dba_business_name
417
+
418
+ # Parent company name (if applicable).
419
+ sig { returns(T.nilable(String)) }
420
+ attr_reader :parent_company
421
+
422
+ sig { params(parent_company: String).void }
423
+ attr_writer :parent_company
424
+
425
+ sig do
426
+ params(
427
+ address: T.any(Lithic::Models::Address, Lithic::Internal::AnyHash),
428
+ government_id: String,
429
+ legal_business_name: String,
430
+ phone_numbers: T::Array[String],
431
+ dba_business_name: String,
432
+ parent_company: String
433
+ )
434
+ .returns(T.attached_class)
435
+ end
436
+ def self.new(
437
+ address:,
438
+ government_id:,
439
+ legal_business_name:,
440
+ phone_numbers:,
441
+ dba_business_name: nil,
442
+ parent_company: nil
443
+ )
444
+ end
445
+
446
+ sig do
447
+ override
448
+ .returns(
449
+ {
450
+ address: Lithic::Models::Address,
451
+ government_id: String,
452
+ legal_business_name: String,
453
+ phone_numbers: T::Array[String],
454
+ dba_business_name: String,
455
+ parent_company: String
456
+ }
457
+ )
458
+ end
459
+ def to_hash
460
+ end
461
+ end
462
462
  end
463
463
  end
464
464
  end
@@ -12,7 +12,6 @@ module Lithic
12
12
  # accounts that are part of the program that the calling API key manages.
13
13
  sig do
14
14
  params(
15
- beneficial_owner_entities: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
16
15
  beneficial_owner_individuals: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual, Lithic::Internal::AnyHash)],
17
16
  business_entity: T.any(Lithic::Models::AccountHolderCreateParams::BusinessEntity, Lithic::Internal::AnyHash),
18
17
  control_person: T.any(Lithic::Models::AccountHolderCreateParams::ControlPerson, Lithic::Internal::AnyHash),
@@ -26,6 +25,7 @@ module Lithic
26
25
  kyc_exemption_type: Lithic::Models::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
27
26
  last_name: String,
28
27
  phone_number: String,
28
+ beneficial_owner_entities: T::Array[T.any(Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity, Lithic::Internal::AnyHash)],
29
29
  external_id: String,
30
30
  kyb_passed_timestamp: String,
31
31
  website_url: String,
@@ -36,21 +36,11 @@ module Lithic
36
36
  .returns(Lithic::Models::AccountHolderCreateResponse)
37
37
  end
38
38
  def create(
39
- # List of all entities with >25% ownership in the company. If no entity or
40
- # individual owns >25% of the company, and the largest shareholder is an entity,
41
- # please identify them in this field. See
42
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
43
- # (Section I) for more background. If no business owner is an entity, pass in an
44
- # empty list. However, either this parameter or `beneficial_owner_individuals`
45
- # must be populated. on entities that should be included.
46
- beneficial_owner_entities:,
47
39
  # List of all direct and indirect individuals with >25% ownership in the company.
48
- # If no entity or individual owns >25% of the company, and the largest shareholder
49
- # is an individual, please identify them in this field. See
40
+ # If no individual owns >25% of the company, please identify the largest
41
+ # shareholder in this field. See
50
42
  # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
51
- # (Section I) for more background on individuals that should be included. If no
52
- # individual is an entity, pass in an empty list. However, either this parameter
53
- # or `beneficial_owner_entities` must be populated.
43
+ # (Section I) for more background on individuals that should be included.
54
44
  beneficial_owner_individuals:,
55
45
  # Information for business for which the account is being opened and KYB is being
56
46
  # run.
@@ -89,6 +79,8 @@ module Lithic
89
79
  last_name:,
90
80
  # The KYC Exempt user's phone number, entered in E.164 format.
91
81
  phone_number:,
82
+ # Deprecated.
83
+ beneficial_owner_entities: nil,
92
84
  # A user provided id that can be used to link an account holder with an external
93
85
  # system
94
86
  external_id: nil,
@@ -289,8 +289,8 @@ module Lithic
289
289
  # manufactured with, and only applies to cards of type `PHYSICAL`. This must be
290
290
  # configured with Lithic before use.
291
291
  product_id: nil,
292
- # Shipping method for the card. Use of options besides `STANDARD` require
293
- # additional permissions.
292
+ # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
293
+ # options besides `STANDARD` require additional permissions.
294
294
  #
295
295
  # - `STANDARD` - USPS regular mail or similar international option, with no
296
296
  # tracking
@@ -425,8 +425,8 @@ module Lithic
425
425
  product_id: nil,
426
426
  # If omitted, the previous shipping address will be used.
427
427
  shipping_address: nil,
428
- # Shipping method for the card. Use of options besides `STANDARD` require
429
- # additional permissions.
428
+ # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
429
+ # options besides `STANDARD` require additional permissions.
430
430
  #
431
431
  # - `STANDARD` - USPS regular mail or similar international option, with no
432
432
  # tracking
@@ -442,12 +442,15 @@ module Lithic
442
442
  )
443
443
  end
444
444
 
445
- # Creates a new card with the same card token and PAN, but updated expiry and CVC2
446
- # code. The original card will keep working for card-present transactions until
447
- # the new card is activated. For card-not-present transactions, the original card
448
- # details (expiry, CVC2) will also keep working until the new card is activated.
449
- # Applies to card types `PHYSICAL` and `VIRTUAL`. A card can be replaced or
450
- # renewed a total of 8 times.
445
+ # Applies to card types `PHYSICAL` and `VIRTUAL`. For `PHYSICAL`, creates a new
446
+ # card with the same card token and PAN, but updated expiry and CVC2 code. The
447
+ # original card will keep working for card-present transactions until the new card
448
+ # is activated. For card-not-present transactions, the original card details
449
+ # (expiry, CVC2) will also keep working until the new card is activated. A
450
+ # `PHYSICAL` card can be replaced or renewed a total of 8 times. For `VIRTUAL`,
451
+ # the card will retain the same card token and PAN and receive an updated expiry
452
+ # and CVC2 code. `product_id`, `shipping_method`, `shipping_address`, `carrier`
453
+ # are only relevant for renewing `PHYSICAL` cards.
451
454
  sig do
452
455
  params(
453
456
  card_token: String,
@@ -477,8 +480,8 @@ module Lithic
477
480
  # manufactured with, and only applies to cards of type `PHYSICAL`. This must be
478
481
  # configured with Lithic before use.
479
482
  product_id: nil,
480
- # Shipping method for the card. Use of options besides `STANDARD` require
481
- # additional permissions.
483
+ # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of
484
+ # options besides `STANDARD` require additional permissions.
482
485
  #
483
486
  # - `STANDARD` - USPS regular mail or similar international option, with no
484
487
  # tracking
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class Events
6
+ class EventSubscriptions
7
+ # Resend an event to an event subscription.
8
+ sig do
9
+ params(
10
+ event_subscription_token: String,
11
+ event_token: String,
12
+ request_options: T.nilable(T.any(Lithic::RequestOptions, Lithic::Internal::AnyHash))
13
+ )
14
+ .void
15
+ end
16
+ def resend(event_subscription_token, event_token:, request_options: {})
17
+ end
18
+
19
+ # @api private
20
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
21
+ def self.new(client:)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -6,6 +6,9 @@ module Lithic
6
6
  sig { returns(Lithic::Resources::Events::Subscriptions) }
7
7
  attr_reader :subscriptions
8
8
 
9
+ sig { returns(Lithic::Resources::Events::EventSubscriptions) }
10
+ attr_reader :event_subscriptions
11
+
9
12
  # Get an event.
10
13
  sig do
11
14
  params(
@@ -95,7 +95,7 @@ module Lithic
95
95
  params(
96
96
  financial_account_token: String,
97
97
  status: Lithic::Models::FinancialAccountUpdateStatusParams::Status::OrSymbol,
98
- status_change_reason: T.nilable(Lithic::Models::FinancialAccountUpdateStatusParams::StatusChangeReason::OrSymbol),
98
+ substatus: T.nilable(Lithic::Models::FinancialAccountUpdateStatusParams::Substatus::OrSymbol),
99
99
  request_options: T.nilable(T.any(Lithic::RequestOptions, Lithic::Internal::AnyHash))
100
100
  )
101
101
  .returns(Lithic::Models::FinancialAccount)
@@ -105,8 +105,8 @@ module Lithic
105
105
  financial_account_token,
106
106
  # Status of the financial account
107
107
  status:,
108
- # Reason for the financial account status change
109
- status_change_reason:,
108
+ # Substatus for the financial account
109
+ substatus:,
110
110
  request_options: {}
111
111
  )
112
112
  end
@@ -1,5 +1,5 @@
1
1
  # typed: strong
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0-alpha.5"
4
+ VERSION = T.let(T.unsafe(nil), String)
5
5
  end
@@ -16,11 +16,11 @@ module Lithic
16
16
  def ==: (top other) -> bool
17
17
 
18
18
  def coerce: (
19
- Enumerable[Elem] | top value,
19
+ ::Array[top] | top value,
20
20
  state: Lithic::Internal::Type::Converter::state
21
21
  ) -> (::Array[top] | top)
22
22
 
23
- def dump: (Enumerable[Elem] | top value) -> (::Array[top] | top)
23
+ def dump: (::Array[top] | top value) -> (::Array[top] | top)
24
24
 
25
25
  def item_type: -> Elem
26
26
 
@@ -1,7 +1,7 @@
1
1
  module Lithic
2
2
  module Internal
3
3
  module Type
4
- class BooleanModel
4
+ class Boolean
5
5
  extend Lithic::Internal::Type::Converter
6
6
 
7
7
  def self.===: (top other) -> bool
@@ -9,13 +9,13 @@ module Lithic
9
9
 
10
10
  def self?.primitive?: (top input) -> bool
11
11
 
12
- def self?.coerce_boolean: (top input) -> (bool | top)
12
+ def self?.coerce_boolean: (String | bool input) -> (bool | top)
13
13
 
14
- def self?.coerce_boolean!: (top input) -> bool?
14
+ def self?.coerce_boolean!: (String | bool input) -> bool?
15
15
 
16
- def self?.coerce_integer: (top input) -> (Integer | top)
16
+ def self?.coerce_integer: (String | Integer input) -> (Integer | top)
17
17
 
18
- def self?.coerce_float: (top input) -> (Float | top)
18
+ def self?.coerce_float: (String | Integer | Float input) -> (Float | top)
19
19
 
20
20
  def self?.coerce_hash: (top input) -> (::Hash[top, top] | top)
21
21
 
@@ -133,7 +133,7 @@ module Lithic
133
133
 
134
134
  def self?.decode_sse: (
135
135
  Enumerable[String] lines
136
- ) -> Lithic::Internal::Util::server_sent_event
136
+ ) -> Enumerable[Lithic::Internal::Util::server_sent_event]
137
137
  end
138
138
  end
139
139
  end
@@ -2,13 +2,13 @@ module Lithic
2
2
  module Models
3
3
  type account_holder_create_params =
4
4
  {
5
- beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
6
5
  beneficial_owner_individuals: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual],
7
6
  business_entity: Lithic::Models::AccountHolderCreateParams::BusinessEntity,
8
7
  control_person: Lithic::Models::AccountHolderCreateParams::ControlPerson,
9
8
  nature_of_business: String,
10
9
  tos_timestamp: String,
11
10
  workflow: Lithic::Models::AccountHolderCreateParams::workflow,
11
+ beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
12
12
  external_id: String,
13
13
  kyb_passed_timestamp: String,
14
14
  website_url: String,
@@ -28,8 +28,6 @@ module Lithic
28
28
  extend Lithic::Internal::Type::RequestParameters::Converter
29
29
  include Lithic::Internal::Type::RequestParameters
30
30
 
31
- attr_accessor beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity]
32
-
33
31
  attr_accessor beneficial_owner_individuals: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual]
34
32
 
35
33
  attr_accessor business_entity: Lithic::Models::AccountHolderCreateParams::BusinessEntity
@@ -42,6 +40,12 @@ module Lithic
42
40
 
43
41
  attr_accessor workflow: Lithic::Models::AccountHolderCreateParams::workflow
44
42
 
43
+ attr_reader beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity]?
44
+
45
+ def beneficial_owner_entities=: (
46
+ ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity]
47
+ ) -> ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity]
48
+
45
49
  attr_reader external_id: String?
46
50
 
47
51
  def external_id=: (String) -> String
@@ -77,7 +81,6 @@ module Lithic
77
81
  def business_account_token=: (String) -> String
78
82
 
79
83
  def initialize: (
80
- beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
81
84
  beneficial_owner_individuals: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerIndividual],
82
85
  business_entity: Lithic::Models::AccountHolderCreateParams::BusinessEntity,
83
86
  control_person: Lithic::Models::AccountHolderCreateParams::ControlPerson,
@@ -91,6 +94,7 @@ module Lithic
91
94
  kyc_exemption_type: Lithic::Models::AccountHolderCreateParams::kyc_exemption_type,
92
95
  last_name: String,
93
96
  phone_number: String,
97
+ ?beneficial_owner_entities: ::Array[Lithic::Models::AccountHolderCreateParams::BeneficialOwnerEntity],
94
98
  ?external_id: String,
95
99
  ?kyb_passed_timestamp: String,
96
100
  ?website_url: String,
@@ -101,45 +105,6 @@ module Lithic
101
105
 
102
106
  def to_hash: -> Lithic::Models::account_holder_create_params
103
107
 
104
- type beneficial_owner_entity =
105
- {
106
- address: Lithic::Models::Address,
107
- government_id: String,
108
- legal_business_name: String,
109
- phone_numbers: ::Array[String],
110
- dba_business_name: String,
111
- parent_company: String
112
- }
113
-
114
- class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
115
- attr_accessor address: Lithic::Models::Address
116
-
117
- attr_accessor government_id: String
118
-
119
- attr_accessor legal_business_name: String
120
-
121
- attr_accessor phone_numbers: ::Array[String]
122
-
123
- attr_reader dba_business_name: String?
124
-
125
- def dba_business_name=: (String) -> String
126
-
127
- attr_reader parent_company: String?
128
-
129
- def parent_company=: (String) -> String
130
-
131
- def initialize: (
132
- address: Lithic::Models::Address,
133
- government_id: String,
134
- legal_business_name: String,
135
- phone_numbers: ::Array[String],
136
- ?dba_business_name: String,
137
- ?parent_company: String
138
- ) -> void
139
-
140
- def to_hash: -> Lithic::Models::AccountHolderCreateParams::beneficial_owner_entity
141
- end
142
-
143
108
  type beneficial_owner_individual =
144
109
  {
145
110
  address: Lithic::Models::Address,
@@ -271,6 +236,45 @@ module Lithic
271
236
  def self?.values: -> ::Array[Lithic::Models::AccountHolderCreateParams::workflow]
272
237
  end
273
238
 
239
+ type beneficial_owner_entity =
240
+ {
241
+ address: Lithic::Models::Address,
242
+ government_id: String,
243
+ legal_business_name: String,
244
+ phone_numbers: ::Array[String],
245
+ dba_business_name: String,
246
+ parent_company: String
247
+ }
248
+
249
+ class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
250
+ attr_accessor address: Lithic::Models::Address
251
+
252
+ attr_accessor government_id: String
253
+
254
+ attr_accessor legal_business_name: String
255
+
256
+ attr_accessor phone_numbers: ::Array[String]
257
+
258
+ attr_reader dba_business_name: String?
259
+
260
+ def dba_business_name=: (String) -> String
261
+
262
+ attr_reader parent_company: String?
263
+
264
+ def parent_company=: (String) -> String
265
+
266
+ def initialize: (
267
+ address: Lithic::Models::Address,
268
+ government_id: String,
269
+ legal_business_name: String,
270
+ phone_numbers: ::Array[String],
271
+ ?dba_business_name: String,
272
+ ?parent_company: String
273
+ ) -> void
274
+
275
+ def to_hash: -> Lithic::Models::AccountHolderCreateParams::beneficial_owner_entity
276
+ end
277
+
274
278
  type individual =
275
279
  {
276
280
  address: Lithic::Models::Address,
@@ -40,7 +40,7 @@ module Lithic
40
40
  def to_hash: -> Lithic::Models::card_convert_physical_params
41
41
 
42
42
  type shipping_method =
43
- :"2-DAY"
43
+ :"2_DAY"
44
44
  | :EXPEDITED
45
45
  | :EXPRESS
46
46
  | :PRIORITY
@@ -50,7 +50,7 @@ module Lithic
50
50
  module ShippingMethod
51
51
  extend Lithic::Internal::Type::Enum
52
52
 
53
- SHIPPING_METHOD_2_DAY: :"2-DAY"
53
+ SHIPPING_METHOD_2_DAY: :"2_DAY"
54
54
  EXPEDITED: :EXPEDITED
55
55
  EXPRESS: :EXPRESS
56
56
  PRIORITY: :PRIORITY
@@ -44,7 +44,7 @@ module Lithic
44
44
  def to_hash: -> Lithic::Models::card_reissue_params
45
45
 
46
46
  type shipping_method =
47
- :"2-DAY"
47
+ :"2_DAY"
48
48
  | :EXPEDITED
49
49
  | :EXPRESS
50
50
  | :PRIORITY
@@ -54,7 +54,7 @@ module Lithic
54
54
  module ShippingMethod
55
55
  extend Lithic::Internal::Type::Enum
56
56
 
57
- SHIPPING_METHOD_2_DAY: :"2-DAY"
57
+ SHIPPING_METHOD_2_DAY: :"2_DAY"
58
58
  EXPEDITED: :EXPEDITED
59
59
  EXPRESS: :EXPRESS
60
60
  PRIORITY: :PRIORITY
@@ -52,7 +52,7 @@ module Lithic
52
52
  def to_hash: -> Lithic::Models::card_renew_params
53
53
 
54
54
  type shipping_method =
55
- :"2-DAY"
55
+ :"2_DAY"
56
56
  | :EXPEDITED
57
57
  | :EXPRESS
58
58
  | :PRIORITY
@@ -62,7 +62,7 @@ module Lithic
62
62
  module ShippingMethod
63
63
  extend Lithic::Internal::Type::Enum
64
64
 
65
- SHIPPING_METHOD_2_DAY: :"2-DAY"
65
+ SHIPPING_METHOD_2_DAY: :"2_DAY"
66
66
  EXPEDITED: :EXPEDITED
67
67
  EXPRESS: :EXPRESS
68
68
  PRIORITY: :PRIORITY