lithic 0.1.0.pre.alpha.40 → 0.1.0.pre.alpha.42

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 (184) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +1 -1
  6. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -9
  7. data/lib/lithic/internal/type/array_of.rb +1 -0
  8. data/lib/lithic/internal/type/base_model.rb +3 -1
  9. data/lib/lithic/internal/type/converter.rb +27 -0
  10. data/lib/lithic/internal/type/hash_of.rb +1 -0
  11. data/lib/lithic/internal/type/union.rb +9 -7
  12. data/lib/lithic/internal/util.rb +1 -1
  13. data/lib/lithic/models/account_activity_list_params.rb +158 -0
  14. data/lib/lithic/models/account_activity_list_response.rb +1435 -0
  15. data/lib/lithic/models/account_activity_retrieve_transaction_params.rb +14 -0
  16. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1451 -0
  17. data/lib/lithic/models/account_holder.rb +16 -19
  18. data/lib/lithic/models/account_holder_create_params.rb +41 -47
  19. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -3
  20. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +25 -20
  21. data/lib/lithic/models/account_holder_update_params.rb +2 -6
  22. data/lib/lithic/models/account_holder_update_response.rb +25 -20
  23. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +5 -1
  24. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -12
  25. data/lib/lithic/models/auth_rules/v2_apply_params.rb +13 -5
  26. data/lib/lithic/models/auth_rules/v2_apply_response.rb +510 -18
  27. data/lib/lithic/models/auth_rules/v2_create_params.rb +283 -16
  28. data/lib/lithic/models/auth_rules/v2_create_response.rb +510 -18
  29. data/lib/lithic/models/auth_rules/v2_draft_params.rb +239 -3
  30. data/lib/lithic/models/auth_rules/v2_draft_response.rb +510 -18
  31. data/lib/lithic/models/auth_rules/v2_list_params.rb +11 -1
  32. data/lib/lithic/models/auth_rules/v2_list_response.rb +510 -18
  33. data/lib/lithic/models/auth_rules/v2_promote_response.rb +510 -18
  34. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +510 -18
  35. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -9
  36. data/lib/lithic/models/auth_rules/v2_update_response.rb +510 -18
  37. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +4 -16
  38. data/lib/lithic/models/book_transfer_create_params.rb +34 -6
  39. data/lib/lithic/models/book_transfer_response.rb +124 -28
  40. data/lib/lithic/models/document.rb +1 -3
  41. data/lib/lithic/models/event.rb +6 -0
  42. data/lib/lithic/models/event_list_params.rb +2 -0
  43. data/lib/lithic/models/event_subscription.rb +2 -0
  44. data/lib/lithic/models/events/subscription_create_params.rb +3 -3
  45. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  46. data/lib/lithic/models/events/subscription_update_params.rb +3 -3
  47. data/lib/lithic/models/external_bank_account_list_params.rb +2 -6
  48. data/lib/lithic/models/external_payment.rb +89 -48
  49. data/lib/lithic/models/financial_account.rb +1 -0
  50. data/lib/lithic/models/financial_accounts/loan_tape.rb +5 -18
  51. data/lib/lithic/models/financial_accounts/statement.rb +3 -10
  52. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -7
  53. data/lib/lithic/models/financial_transaction.rb +2 -0
  54. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  55. data/lib/lithic/models/kyb.rb +2 -2
  56. data/lib/lithic/models/management_operation_transaction.rb +90 -63
  57. data/lib/lithic/models/payment.rb +60 -1
  58. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  59. data/lib/lithic/models/settlement_detail.rb +1 -0
  60. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +173 -38
  61. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -4
  62. data/lib/lithic/models/tokenization.rb +1 -1
  63. data/lib/lithic/models/transaction.rb +4 -0
  64. data/lib/lithic/models/transactions/events/enhanced_data.rb +3 -11
  65. data/lib/lithic/models/transfer.rb +2 -0
  66. data/lib/lithic/models/wire_party_details.rb +40 -0
  67. data/lib/lithic/models.rb +6 -0
  68. data/lib/lithic/resources/account_activity.rb +80 -0
  69. data/lib/lithic/resources/account_holders.rb +9 -9
  70. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -3
  71. data/lib/lithic/resources/auth_rules/v2.rb +19 -13
  72. data/lib/lithic/resources/book_transfers.rb +7 -3
  73. data/lib/lithic/resources/reports/settlement.rb +1 -1
  74. data/lib/lithic/resources/tokenizations.rb +2 -2
  75. data/lib/lithic/version.rb +1 -1
  76. data/lib/lithic.rb +7 -2
  77. data/rbi/lithic/client.rbi +3 -0
  78. data/rbi/lithic/errors.rbi +2 -2
  79. data/rbi/lithic/internal/transport/base_client.rbi +1 -1
  80. data/rbi/lithic/internal/type/converter.rbi +46 -0
  81. data/rbi/lithic/internal/type/union.rbi +7 -2
  82. data/rbi/lithic/models/account_activity_list_params.rbi +347 -0
  83. data/rbi/lithic/models/account_activity_list_response.rbi +3367 -0
  84. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +30 -0
  85. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +3369 -0
  86. data/rbi/lithic/models/account_holder.rbi +21 -23
  87. data/rbi/lithic/models/account_holder_create_params.rbi +87 -65
  88. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +36 -30
  89. data/rbi/lithic/models/account_holder_update_response.rbi +36 -30
  90. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +20 -0
  91. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +20 -0
  92. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +19 -5
  93. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +1128 -18
  94. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +646 -21
  95. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +1128 -18
  96. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +554 -4
  97. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +1128 -18
  98. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +18 -0
  99. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +1128 -18
  100. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +1128 -18
  101. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +1128 -18
  102. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +0 -11
  103. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +1128 -18
  104. data/rbi/lithic/models/book_transfer_create_params.rbi +75 -5
  105. data/rbi/lithic/models/book_transfer_response.rbi +320 -38
  106. data/rbi/lithic/models/event.rbi +16 -0
  107. data/rbi/lithic/models/event_list_params.rbi +10 -0
  108. data/rbi/lithic/models/event_subscription.rbi +10 -0
  109. data/rbi/lithic/models/events/subscription_create_params.rbi +10 -0
  110. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  111. data/rbi/lithic/models/events/subscription_update_params.rbi +10 -0
  112. data/rbi/lithic/models/external_payment.rbi +147 -60
  113. data/rbi/lithic/models/financial_account.rbi +5 -0
  114. data/rbi/lithic/models/financial_transaction.rbi +1 -0
  115. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  116. data/rbi/lithic/models/kyb.rbi +2 -2
  117. data/rbi/lithic/models/management_operation_transaction.rbi +226 -95
  118. data/rbi/lithic/models/payment.rbi +103 -3
  119. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +2 -2
  120. data/rbi/lithic/models/settlement_detail.rbi +2 -0
  121. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +267 -60
  122. data/rbi/lithic/models/transaction.rbi +17 -0
  123. data/rbi/lithic/models/transfer.rbi +1 -0
  124. data/rbi/lithic/models/wire_party_details.rbi +61 -0
  125. data/rbi/lithic/models.rbi +7 -0
  126. data/rbi/lithic/resources/account_activity.rbi +80 -0
  127. data/rbi/lithic/resources/account_holders.rbi +28 -29
  128. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +3 -3
  129. data/rbi/lithic/resources/auth_rules/v2.rbi +28 -14
  130. data/rbi/lithic/resources/book_transfers.rbi +9 -2
  131. data/rbi/lithic/resources/reports/settlement.rbi +1 -1
  132. data/rbi/lithic/resources/tokenizations.rbi +1 -1
  133. data/sig/lithic/client.rbs +2 -0
  134. data/sig/lithic/internal/transport/base_client.rbs +1 -1
  135. data/sig/lithic/internal/type/converter.rbs +17 -0
  136. data/sig/lithic/internal/type/union.rbs +2 -2
  137. data/sig/lithic/models/account_activity_list_params.rbs +173 -0
  138. data/sig/lithic/models/account_activity_list_response.rbs +1353 -0
  139. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +15 -0
  140. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +1353 -0
  141. data/sig/lithic/models/account_holder_create_params.rbs +33 -19
  142. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +10 -3
  143. data/sig/lithic/models/account_holder_update_response.rbs +10 -3
  144. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +8 -0
  145. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +8 -0
  146. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +11 -2
  147. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +317 -2
  148. data/sig/lithic/models/auth_rules/v2_create_params.rbs +188 -4
  149. data/sig/lithic/models/auth_rules/v2_create_response.rbs +317 -2
  150. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +155 -0
  151. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +317 -2
  152. data/sig/lithic/models/auth_rules/v2_list_params.rbs +10 -1
  153. data/sig/lithic/models/auth_rules/v2_list_response.rbs +317 -2
  154. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +317 -2
  155. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +317 -2
  156. data/sig/lithic/models/auth_rules/v2_update_params.rbs +0 -7
  157. data/sig/lithic/models/auth_rules/v2_update_response.rbs +317 -2
  158. data/sig/lithic/models/book_transfer_create_params.rbs +30 -1
  159. data/sig/lithic/models/book_transfer_response.rbs +134 -15
  160. data/sig/lithic/models/event.rbs +4 -0
  161. data/sig/lithic/models/event_list_params.rbs +4 -0
  162. data/sig/lithic/models/event_subscription.rbs +4 -0
  163. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  164. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  165. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  166. data/sig/lithic/models/external_payment.rbs +91 -40
  167. data/sig/lithic/models/financial_account.rbs +2 -0
  168. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  169. data/sig/lithic/models/management_operation_transaction.rbs +95 -44
  170. data/sig/lithic/models/payment.rbs +61 -3
  171. data/sig/lithic/models/settlement_detail.rbs +2 -0
  172. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +110 -23
  173. data/sig/lithic/models/transaction.rbs +10 -2
  174. data/sig/lithic/models/wire_party_details.rbs +35 -0
  175. data/sig/lithic/models.rbs +6 -0
  176. data/sig/lithic/resources/account_activity.rbs +27 -0
  177. data/sig/lithic/resources/account_holders.rbs +3 -3
  178. data/sig/lithic/resources/auth_rules/v2.rbs +6 -3
  179. data/sig/lithic/resources/book_transfers.rbs +2 -0
  180. data/sig/lithic/resources/tokenizations.rbs +1 -1
  181. metadata +20 -5
  182. data/lib/lithic/models/tokenization_retrieve_response.rb +0 -16
  183. data/rbi/lithic/models/tokenization_retrieve_response.rbi +0 -31
  184. data/sig/lithic/models/tokenization_retrieve_response.rbs +0 -15
@@ -95,10 +95,9 @@ module Lithic
95
95
  end
96
96
  attr_writer :control_person
97
97
 
98
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
99
- # individual.phone_number when user_type == "INDIVIDUAL".
100
- #
101
- # > Primary email of Account Holder.
98
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
99
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
100
+ # Account Holder.
102
101
  sig { returns(T.nilable(String)) }
103
102
  attr_reader :email
104
103
 
@@ -142,10 +141,9 @@ module Lithic
142
141
  sig { params(nature_of_business: String).void }
143
142
  attr_writer :nature_of_business
144
143
 
145
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
146
- # individual.phone_number when user_type == "INDIVIDUAL".
147
- #
148
- # > Primary phone of Account Holder, entered in E.164 format.
144
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
145
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
146
+ # Account Holder, entered in E.164 format.
149
147
  sig { returns(T.nilable(String)) }
150
148
  attr_reader :phone_number
151
149
 
@@ -164,7 +162,7 @@ module Lithic
164
162
  end
165
163
  attr_writer :required_documents
166
164
 
167
- # <Deprecated. Use verification_application.status instead>
165
+ # (Deprecated. Use verification_application.status instead)
168
166
  #
169
167
  # KYC and KYB evaluation states.
170
168
  #
@@ -177,8 +175,9 @@ module Lithic
177
175
  sig { params(status: Lithic::AccountHolder::Status::OrSymbol).void }
178
176
  attr_writer :status
179
177
 
180
- # <Deprecated. Use verification_application.status_reasons> Reason for the
181
- # evaluation status.
178
+ # (Deprecated. Use verification_application.status_reasons)
179
+ #
180
+ # Reason for the evaluation status.
182
181
  sig do
183
182
  returns(
184
183
  T.nilable(T::Array[Lithic::AccountHolder::StatusReason::TaggedSymbol])
@@ -281,10 +280,9 @@ module Lithic
281
280
  # someone who will have program-wide access to the cards that Lithic will provide.
282
281
  # In some cases, this individual could also be a beneficial owner listed above.
283
282
  control_person: nil,
284
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
285
- # individual.phone_number when user_type == "INDIVIDUAL".
286
- #
287
- # > Primary email of Account Holder.
283
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
284
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
285
+ # Account Holder.
288
286
  email: nil,
289
287
  # The type of KYC exemption for a KYC-Exempt Account Holder.
290
288
  exemption_type: nil,
@@ -297,15 +295,14 @@ module Lithic
297
295
  # Only present when user_type == "BUSINESS". User-submitted description of the
298
296
  # business.
299
297
  nature_of_business: nil,
300
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
301
- # individual.phone_number when user_type == "INDIVIDUAL".
302
- #
303
- # > Primary phone of Account Holder, entered in E.164 format.
298
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
299
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
300
+ # Account Holder, entered in E.164 format.
304
301
  phone_number: nil,
305
302
  # Only present for "KYB_BASIC" workflow. A list of documents required for the
306
303
  # account holder to be approved.
307
304
  required_documents: nil,
308
- # <Deprecated. Use verification_application.status instead>
305
+ # (Deprecated. Use verification_application.status instead)
309
306
  #
310
307
  # KYC and KYB evaluation states.
311
308
  #
@@ -313,8 +310,9 @@ module Lithic
313
310
  #
314
311
  # - `PENDING_REVIEW` is only applicable for the `KYB_BASIC` workflow.
315
312
  status: nil,
316
- # <Deprecated. Use verification_application.status_reasons> Reason for the
317
- # evaluation status.
313
+ # (Deprecated. Use verification_application.status_reasons)
314
+ #
315
+ # Reason for the evaluation status.
318
316
  status_reasons: nil,
319
317
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
320
318
  # attribute will be present. If the type is "BUSINESS" then the "business_entity",
@@ -855,7 +853,7 @@ module Lithic
855
853
  end
856
854
  end
857
855
 
858
- # <Deprecated. Use verification_application.status instead>
856
+ # (Deprecated. Use verification_application.status instead)
859
857
  #
860
858
  # KYC and KYB evaluation states.
861
859
  #
@@ -11,7 +11,7 @@ module Lithic
11
11
  T.any(Lithic::AccountHolderCreateParams, Lithic::Internal::AnyHash)
12
12
  end
13
13
 
14
- # You must submit a list of all direct and indirect individuals with 25% or more
14
+ # You can submit a list of all direct and indirect individuals with 25% or more
15
15
  # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
16
16
  # no individual owns 25% of the company you do not need to send beneficial owner
17
17
  # information. See
@@ -19,13 +19,26 @@ module Lithic
19
19
  # (Section I) for more background on individuals that should be included.
20
20
  sig do
21
21
  returns(
22
- T::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual]
22
+ T.nilable(
23
+ T::Array[
24
+ Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual
25
+ ]
26
+ )
23
27
  )
24
28
  end
25
- attr_accessor :beneficial_owner_individuals
29
+ attr_reader :beneficial_owner_individuals
26
30
 
27
- # Information for business for which the account is being opened and KYB is being
28
- # run.
31
+ sig do
32
+ params(
33
+ beneficial_owner_individuals:
34
+ T::Array[
35
+ Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
36
+ ]
37
+ ).void
38
+ end
39
+ attr_writer :beneficial_owner_individuals
40
+
41
+ # Information for business for which the account is being opened.
29
42
  sig { returns(Lithic::AccountHolderCreateParams::BusinessEntity) }
30
43
  attr_reader :business_entity
31
44
 
@@ -45,7 +58,9 @@ module Lithic
45
58
  # could also be a beneficial owner listed above. See
46
59
  # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
47
60
  # (Section II) for more background.
48
- sig { returns(Lithic::AccountHolderCreateParams::ControlPerson) }
61
+ sig do
62
+ returns(T.nilable(Lithic::AccountHolderCreateParams::ControlPerson))
63
+ end
49
64
  attr_reader :control_person
50
65
 
51
66
  sig do
@@ -58,8 +73,11 @@ module Lithic
58
73
 
59
74
  # Short description of the company's line of business (i.e., what does the company
60
75
  # do?).
61
- sig { returns(String) }
62
- attr_accessor :nature_of_business
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :nature_of_business
78
+
79
+ sig { params(nature_of_business: String).void }
80
+ attr_writer :nature_of_business
63
81
 
64
82
  # An RFC 3339 timestamp indicating when the account holder accepted the applicable
65
83
  # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
@@ -99,7 +117,7 @@ module Lithic
99
117
  sig { params(external_id: String).void }
100
118
  attr_writer :external_id
101
119
 
102
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
120
+ # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
103
121
  # business with a pass result.
104
122
  #
105
123
  # This field is required only if workflow type is `KYB_BYO`.
@@ -179,15 +197,8 @@ module Lithic
179
197
 
180
198
  sig do
181
199
  params(
182
- beneficial_owner_individuals:
183
- T::Array[
184
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
185
- ],
186
200
  business_entity:
187
201
  Lithic::AccountHolderCreateParams::BusinessEntity::OrHash,
188
- control_person:
189
- Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
190
- nature_of_business: String,
191
202
  tos_timestamp: String,
192
203
  workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol,
193
204
  individual: Lithic::AccountHolderCreateParams::Individual::OrHash,
@@ -198,6 +209,13 @@ module Lithic
198
209
  Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
199
210
  last_name: String,
200
211
  phone_number: String,
212
+ beneficial_owner_individuals:
213
+ T::Array[
214
+ Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
215
+ ],
216
+ control_person:
217
+ Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
218
+ nature_of_business: String,
201
219
  beneficial_owner_entities:
202
220
  T::Array[
203
221
  Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash
@@ -211,28 +229,8 @@ module Lithic
211
229
  ).returns(T.attached_class)
212
230
  end
213
231
  def self.new(
214
- # You must submit a list of all direct and indirect individuals with 25% or more
215
- # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
216
- # no individual owns 25% of the company you do not need to send beneficial owner
217
- # information. See
218
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
219
- # (Section I) for more background on individuals that should be included.
220
- beneficial_owner_individuals:,
221
- # Information for business for which the account is being opened and KYB is being
222
- # run.
232
+ # Information for business for which the account is being opened.
223
233
  business_entity:,
224
- # An individual with significant responsibility for managing the legal entity
225
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
226
- # Officer, Managing Member, General Partner, President, Vice President, or
227
- # Treasurer). This can be an executive, or someone who will have program-wide
228
- # access to the cards that Lithic will provide. In some cases, this individual
229
- # could also be a beneficial owner listed above. See
230
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
231
- # (Section II) for more background.
232
- control_person:,
233
- # Short description of the company's line of business (i.e., what does the company
234
- # do?).
235
- nature_of_business:,
236
234
  # An RFC 3339 timestamp indicating when the account holder accepted the applicable
237
235
  # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
238
236
  # implementation with Lithic.
@@ -255,12 +253,31 @@ module Lithic
255
253
  last_name:,
256
254
  # The KYC Exempt user's phone number, entered in E.164 format.
257
255
  phone_number:,
256
+ # You can submit a list of all direct and indirect individuals with 25% or more
257
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
258
+ # no individual owns 25% of the company you do not need to send beneficial owner
259
+ # information. See
260
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
261
+ # (Section I) for more background on individuals that should be included.
262
+ beneficial_owner_individuals: nil,
263
+ # An individual with significant responsibility for managing the legal entity
264
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
265
+ # Officer, Managing Member, General Partner, President, Vice President, or
266
+ # Treasurer). This can be an executive, or someone who will have program-wide
267
+ # access to the cards that Lithic will provide. In some cases, this individual
268
+ # could also be a beneficial owner listed above. See
269
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
270
+ # (Section II) for more background.
271
+ control_person: nil,
272
+ # Short description of the company's line of business (i.e., what does the company
273
+ # do?).
274
+ nature_of_business: nil,
258
275
  # Deprecated.
259
276
  beneficial_owner_entities: nil,
260
277
  # A user provided id that can be used to link an account holder with an external
261
278
  # system
262
279
  external_id: nil,
263
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
280
+ # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
264
281
  # business with a pass result.
265
282
  #
266
283
  # This field is required only if workflow type is `KYB_BYO`.
@@ -433,21 +450,10 @@ module Lithic
433
450
  sig { params(address: Lithic::Address::OrHash).void }
434
451
  attr_writer :address
435
452
 
436
- # Government-issued identification number. US Federal Employer Identification
437
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
438
- # without hyphens.
439
- sig { returns(String) }
440
- attr_accessor :government_id
441
-
442
453
  # Legal (formal) business name.
443
454
  sig { returns(String) }
444
455
  attr_accessor :legal_business_name
445
456
 
446
- # One or more of the business's phone number(s), entered as a list in E.164
447
- # format.
448
- sig { returns(T::Array[String]) }
449
- attr_accessor :phone_numbers
450
-
451
457
  # Any name that the business operates under that is not its legal business name
452
458
  # (if applicable).
453
459
  sig { returns(T.nilable(String)) }
@@ -456,6 +462,15 @@ module Lithic
456
462
  sig { params(dba_business_name: String).void }
457
463
  attr_writer :dba_business_name
458
464
 
465
+ # Government-issued identification number. US Federal Employer Identification
466
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
467
+ # without hyphens.
468
+ sig { returns(T.nilable(String)) }
469
+ attr_reader :government_id
470
+
471
+ sig { params(government_id: String).void }
472
+ attr_writer :government_id
473
+
459
474
  # Parent company name (if applicable).
460
475
  sig { returns(T.nilable(String)) }
461
476
  attr_reader :parent_company
@@ -463,36 +478,43 @@ module Lithic
463
478
  sig { params(parent_company: String).void }
464
479
  attr_writer :parent_company
465
480
 
466
- # Information for business for which the account is being opened and KYB is being
467
- # run.
481
+ # One or more of the business's phone number(s), entered as a list in E.164
482
+ # format.
483
+ sig { returns(T.nilable(T::Array[String])) }
484
+ attr_reader :phone_numbers
485
+
486
+ sig { params(phone_numbers: T::Array[String]).void }
487
+ attr_writer :phone_numbers
488
+
489
+ # Information for business for which the account is being opened.
468
490
  sig do
469
491
  params(
470
492
  address: Lithic::Address::OrHash,
471
- government_id: String,
472
493
  legal_business_name: String,
473
- phone_numbers: T::Array[String],
474
494
  dba_business_name: String,
475
- parent_company: String
495
+ government_id: String,
496
+ parent_company: String,
497
+ phone_numbers: T::Array[String]
476
498
  ).returns(T.attached_class)
477
499
  end
478
500
  def self.new(
479
501
  # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
480
502
  # acceptable; APO/FPO are acceptable.
481
503
  address:,
482
- # Government-issued identification number. US Federal Employer Identification
483
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
484
- # without hyphens.
485
- government_id:,
486
504
  # Legal (formal) business name.
487
505
  legal_business_name:,
488
- # One or more of the business's phone number(s), entered as a list in E.164
489
- # format.
490
- phone_numbers:,
491
506
  # Any name that the business operates under that is not its legal business name
492
507
  # (if applicable).
493
508
  dba_business_name: nil,
509
+ # Government-issued identification number. US Federal Employer Identification
510
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
511
+ # without hyphens.
512
+ government_id: nil,
494
513
  # Parent company name (if applicable).
495
- parent_company: nil
514
+ parent_company: nil,
515
+ # One or more of the business's phone number(s), entered as a list in E.164
516
+ # format.
517
+ phone_numbers: nil
496
518
  )
497
519
  end
498
520
 
@@ -500,11 +522,11 @@ module Lithic
500
522
  override.returns(
501
523
  {
502
524
  address: Lithic::Address,
503
- government_id: String,
504
525
  legal_business_name: String,
505
- phone_numbers: T::Array[String],
506
526
  dba_business_name: String,
507
- parent_company: String
527
+ government_id: String,
528
+ parent_company: String,
529
+ phone_numbers: T::Array[String]
508
530
  }
509
531
  )
510
532
  end
@@ -115,10 +115,9 @@ module Lithic
115
115
  sig { params(created: Time).void }
116
116
  attr_writer :created
117
117
 
118
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
119
- # individual.phone_number when user_type == "INDIVIDUAL".
120
- #
121
- # > Primary email of Account Holder.
118
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
119
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
120
+ # Account Holder.
122
121
  sig { returns(T.nilable(String)) }
123
122
  attr_reader :email
124
123
 
@@ -179,10 +178,9 @@ module Lithic
179
178
  sig { params(nature_of_business: String).void }
180
179
  attr_writer :nature_of_business
181
180
 
182
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
183
- # individual.phone_number when user_type == "INDIVIDUAL".
184
- #
185
- # > Primary phone of Account Holder, entered in E.164 format.
181
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
182
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
183
+ # Account Holder, entered in E.164 format.
186
184
  sig { returns(T.nilable(String)) }
187
185
  attr_reader :phone_number
188
186
 
@@ -201,9 +199,8 @@ module Lithic
201
199
  end
202
200
  attr_writer :required_documents
203
201
 
204
- # <Deprecated. Use verification_application.status instead>
205
- #
206
- # KYC and KYB evaluation states.
202
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
203
+ # states.
207
204
  #
208
205
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
209
206
  # `ADVANCED` workflow.
@@ -224,7 +221,7 @@ module Lithic
224
221
  end
225
222
  attr_writer :status
226
223
 
227
- # <Deprecated. Use verification_application.status_reasons> Reason for the
224
+ # (Deprecated. Use verification_application.status_reasons) Reason for the
228
225
  # evaluation status.
229
226
  sig do
230
227
  returns(
@@ -367,10 +364,9 @@ module Lithic
367
364
  control_person: nil,
368
365
  # Timestamp of when the account holder was created.
369
366
  created: nil,
370
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
371
- # individual.phone_number when user_type == "INDIVIDUAL".
372
- #
373
- # > Primary email of Account Holder.
367
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
368
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
369
+ # Account Holder.
374
370
  email: nil,
375
371
  # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account
376
372
  # holder is not KYC-Exempt.
@@ -384,22 +380,20 @@ module Lithic
384
380
  # Only present when user_type == "BUSINESS". User-submitted description of the
385
381
  # business.
386
382
  nature_of_business: nil,
387
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
388
- # individual.phone_number when user_type == "INDIVIDUAL".
389
- #
390
- # > Primary phone of Account Holder, entered in E.164 format.
383
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
384
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
385
+ # Account Holder, entered in E.164 format.
391
386
  phone_number: nil,
392
387
  # Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents
393
388
  # required for the account holder to be approved.
394
389
  required_documents: nil,
395
- # <Deprecated. Use verification_application.status instead>
396
- #
397
- # KYC and KYB evaluation states.
390
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
391
+ # states.
398
392
  #
399
393
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
400
394
  # `ADVANCED` workflow.
401
395
  status: nil,
402
- # <Deprecated. Use verification_application.status_reasons> Reason for the
396
+ # (Deprecated. Use verification_application.status_reasons) Reason for the
403
397
  # evaluation status.
404
398
  status_reasons: nil,
405
399
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
@@ -1097,9 +1091,8 @@ module Lithic
1097
1091
  end
1098
1092
  end
1099
1093
 
1100
- # <Deprecated. Use verification_application.status instead>
1101
- #
1102
- # KYC and KYB evaluation states.
1094
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
1095
+ # states.
1103
1096
  #
1104
1097
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
1105
1098
  # `ADVANCED` workflow.
@@ -1370,6 +1363,14 @@ module Lithic
1370
1363
  sig { returns(Time) }
1371
1364
  attr_accessor :updated
1372
1365
 
1366
+ # Timestamp of when the application passed the verification process. Only present
1367
+ # if `status` is `ACCEPTED`
1368
+ sig { returns(T.nilable(Time)) }
1369
+ attr_reader :ky_passed_at
1370
+
1371
+ sig { params(ky_passed_at: Time).void }
1372
+ attr_writer :ky_passed_at
1373
+
1373
1374
  # Information about the most recent identity verification attempt
1374
1375
  sig do
1375
1376
  params(
@@ -1380,7 +1381,8 @@ module Lithic
1380
1381
  T::Array[
1381
1382
  Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::StatusReason::OrSymbol
1382
1383
  ],
1383
- updated: Time
1384
+ updated: Time,
1385
+ ky_passed_at: Time
1384
1386
  ).returns(T.attached_class)
1385
1387
  end
1386
1388
  def self.new(
@@ -1394,7 +1396,10 @@ module Lithic
1394
1396
  # Reason for the evaluation status.
1395
1397
  status_reasons:,
1396
1398
  # Timestamp of when the application was last updated.
1397
- updated:
1399
+ updated:,
1400
+ # Timestamp of when the application passed the verification process. Only present
1401
+ # if `status` is `ACCEPTED`
1402
+ ky_passed_at: nil
1398
1403
  )
1399
1404
  end
1400
1405
 
@@ -1408,7 +1413,8 @@ module Lithic
1408
1413
  T::Array[
1409
1414
  Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::StatusReason::TaggedSymbol
1410
1415
  ],
1411
- updated: Time
1416
+ updated: Time,
1417
+ ky_passed_at: Time
1412
1418
  }
1413
1419
  )
1414
1420
  end
@@ -127,10 +127,9 @@ module Lithic
127
127
  sig { params(created: Time).void }
128
128
  attr_writer :created
129
129
 
130
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
131
- # individual.phone_number when user_type == "INDIVIDUAL".
132
- #
133
- # > Primary email of Account Holder.
130
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
131
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
132
+ # Account Holder.
134
133
  sig { returns(T.nilable(String)) }
135
134
  attr_reader :email
136
135
 
@@ -191,10 +190,9 @@ module Lithic
191
190
  sig { params(nature_of_business: String).void }
192
191
  attr_writer :nature_of_business
193
192
 
194
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
195
- # individual.phone_number when user_type == "INDIVIDUAL".
196
- #
197
- # > Primary phone of Account Holder, entered in E.164 format.
193
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
194
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
195
+ # Account Holder, entered in E.164 format.
198
196
  sig { returns(T.nilable(String)) }
199
197
  attr_reader :phone_number
200
198
 
@@ -213,9 +211,8 @@ module Lithic
213
211
  end
214
212
  attr_writer :required_documents
215
213
 
216
- # <Deprecated. Use verification_application.status instead>
217
- #
218
- # KYC and KYB evaluation states.
214
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
215
+ # states.
219
216
  #
220
217
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
221
218
  # `ADVANCED` workflow.
@@ -236,7 +233,7 @@ module Lithic
236
233
  end
237
234
  attr_writer :status
238
235
 
239
- # <Deprecated. Use verification_application.status_reasons> Reason for the
236
+ # (Deprecated. Use verification_application.status_reasons) Reason for the
240
237
  # evaluation status.
241
238
  sig do
242
239
  returns(
@@ -379,10 +376,9 @@ module Lithic
379
376
  control_person: nil,
380
377
  # Timestamp of when the account holder was created.
381
378
  created: nil,
382
- # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use
383
- # individual.phone_number when user_type == "INDIVIDUAL".
384
- #
385
- # > Primary email of Account Holder.
379
+ # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use
380
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
381
+ # Account Holder.
386
382
  email: nil,
387
383
  # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account
388
384
  # holder is not KYC-Exempt.
@@ -396,22 +392,20 @@ module Lithic
396
392
  # Only present when user_type == "BUSINESS". User-submitted description of the
397
393
  # business.
398
394
  nature_of_business: nil,
399
- # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
400
- # individual.phone_number when user_type == "INDIVIDUAL".
401
- #
402
- # > Primary phone of Account Holder, entered in E.164 format.
395
+ # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use
396
+ # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of
397
+ # Account Holder, entered in E.164 format.
403
398
  phone_number: nil,
404
399
  # Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents
405
400
  # required for the account holder to be approved.
406
401
  required_documents: nil,
407
- # <Deprecated. Use verification_application.status instead>
408
- #
409
- # KYC and KYB evaluation states.
402
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
403
+ # states.
410
404
  #
411
405
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
412
406
  # `ADVANCED` workflow.
413
407
  status: nil,
414
- # <Deprecated. Use verification_application.status_reasons> Reason for the
408
+ # (Deprecated. Use verification_application.status_reasons) Reason for the
415
409
  # evaluation status.
416
410
  status_reasons: nil,
417
411
  # The type of Account Holder. If the type is "INDIVIDUAL", the "individual"
@@ -1109,9 +1103,8 @@ module Lithic
1109
1103
  end
1110
1104
  end
1111
1105
 
1112
- # <Deprecated. Use verification_application.status instead>
1113
- #
1114
- # KYC and KYB evaluation states.
1106
+ # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation
1107
+ # states.
1115
1108
  #
1116
1109
  # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the
1117
1110
  # `ADVANCED` workflow.
@@ -1382,6 +1375,14 @@ module Lithic
1382
1375
  sig { returns(Time) }
1383
1376
  attr_accessor :updated
1384
1377
 
1378
+ # Timestamp of when the application passed the verification process. Only present
1379
+ # if `status` is `ACCEPTED`
1380
+ sig { returns(T.nilable(Time)) }
1381
+ attr_reader :ky_passed_at
1382
+
1383
+ sig { params(ky_passed_at: Time).void }
1384
+ attr_writer :ky_passed_at
1385
+
1385
1386
  # Information about the most recent identity verification attempt
1386
1387
  sig do
1387
1388
  params(
@@ -1392,7 +1393,8 @@ module Lithic
1392
1393
  T::Array[
1393
1394
  Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::StatusReason::OrSymbol
1394
1395
  ],
1395
- updated: Time
1396
+ updated: Time,
1397
+ ky_passed_at: Time
1396
1398
  ).returns(T.attached_class)
1397
1399
  end
1398
1400
  def self.new(
@@ -1406,7 +1408,10 @@ module Lithic
1406
1408
  # Reason for the evaluation status.
1407
1409
  status_reasons:,
1408
1410
  # Timestamp of when the application was last updated.
1409
- updated:
1411
+ updated:,
1412
+ # Timestamp of when the application passed the verification process. Only present
1413
+ # if `status` is `ACCEPTED`
1414
+ ky_passed_at: nil
1410
1415
  )
1411
1416
  end
1412
1417
 
@@ -1420,7 +1425,8 @@ module Lithic
1420
1425
  T::Array[
1421
1426
  Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::StatusReason::TaggedSymbol
1422
1427
  ],
1423
- updated: Time
1428
+ updated: Time,
1429
+ ky_passed_at: Time
1424
1430
  }
1425
1431
  )
1426
1432
  end