lithic 0.6.0 → 0.7.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 (463) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/util.rb +31 -0
  5. data/lib/lithic/models/account_activity_retrieve_transaction_params.rb +7 -1
  6. data/lib/lithic/models/account_holder.rb +1 -79
  7. data/lib/lithic/models/account_holder_create_params.rb +338 -549
  8. data/lib/lithic/models/account_holder_list_documents_params.rb +7 -1
  9. data/lib/lithic/models/account_holder_retrieve_document_params.rb +7 -1
  10. data/lib/lithic/models/account_holder_retrieve_params.rb +7 -1
  11. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +1 -9
  12. data/lib/lithic/models/account_holder_update_params.rb +501 -509
  13. data/lib/lithic/models/account_holder_update_response.rb +1 -9
  14. data/lib/lithic/models/account_holder_updated_webhook_event.rb +1 -11
  15. data/lib/lithic/models/account_holder_upload_document_params.rb +8 -1
  16. data/lib/lithic/models/account_holders/entity_create_params.rb +8 -1
  17. data/lib/lithic/models/account_holders/entity_delete_params.rb +7 -1
  18. data/lib/lithic/models/account_retrieve_params.rb +7 -1
  19. data/lib/lithic/models/account_retrieve_spend_limits_params.rb +7 -1
  20. data/lib/lithic/models/account_update_params.rb +8 -1
  21. data/lib/lithic/models/auth_rules/{rule_stats.rb → backtest_stats.rb} +16 -24
  22. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +9 -9
  23. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +13 -13
  24. data/lib/lithic/models/auth_rules/report_stats.rb +552 -0
  25. data/lib/lithic/models/auth_rules/v2/backtest_create_params.rb +8 -1
  26. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +6 -6
  27. data/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rb +7 -1
  28. data/lib/lithic/models/auth_rules/v2_create_params.rb +338 -113
  29. data/lib/lithic/models/auth_rules/v2_delete_params.rb +7 -1
  30. data/lib/lithic/models/auth_rules/v2_draft_params.rb +8 -1
  31. data/lib/lithic/models/auth_rules/v2_list_results_params.rb +19 -1
  32. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +163 -47
  33. data/lib/lithic/models/auth_rules/v2_promote_params.rb +7 -1
  34. data/lib/lithic/models/auth_rules/v2_retrieve_features_params.rb +7 -1
  35. data/lib/lithic/models/auth_rules/v2_retrieve_params.rb +7 -1
  36. data/lib/lithic/models/auth_rules/v2_retrieve_report_params.rb +8 -1
  37. data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +6 -6
  38. data/lib/lithic/models/auth_rules/v2_update_params.rb +183 -66
  39. data/lib/lithic/models/book_transfer_retrieve_params.rb +7 -1
  40. data/lib/lithic/models/book_transfer_retry_params.rb +8 -1
  41. data/lib/lithic/models/book_transfer_reverse_params.rb +8 -1
  42. data/lib/lithic/models/card_bulk_order_retrieve_params.rb +7 -1
  43. data/lib/lithic/models/card_bulk_order_update_params.rb +8 -1
  44. data/lib/lithic/models/card_convert_physical_params.rb +8 -1
  45. data/lib/lithic/models/card_program_retrieve_params.rb +7 -1
  46. data/lib/lithic/models/card_provision_params.rb +8 -1
  47. data/lib/lithic/models/card_reissue_params.rb +8 -1
  48. data/lib/lithic/models/card_renew_params.rb +8 -1
  49. data/lib/lithic/models/card_retrieve_params.rb +7 -1
  50. data/lib/lithic/models/card_retrieve_spend_limits_params.rb +7 -1
  51. data/lib/lithic/models/card_update_params.rb +8 -1
  52. data/lib/lithic/models/card_web_provision_params.rb +8 -1
  53. data/lib/lithic/models/cards/balance_list_params.rb +8 -1
  54. data/lib/lithic/models/cards/financial_transaction_list_params.rb +8 -1
  55. data/lib/lithic/models/cards/financial_transaction_retrieve_params.rb +7 -1
  56. data/lib/lithic/models/credit_products/extended_credit_retrieve_params.rb +7 -1
  57. data/lib/lithic/models/credit_products/prime_rate_create_params.rb +9 -1
  58. data/lib/lithic/models/credit_products/prime_rate_retrieve_params.rb +9 -1
  59. data/lib/lithic/models/digital_card_art_retrieve_params.rb +7 -1
  60. data/lib/lithic/models/dispute_delete_evidence_params.rb +7 -1
  61. data/lib/lithic/models/dispute_delete_params.rb +7 -1
  62. data/lib/lithic/models/dispute_initiate_evidence_upload_params.rb +8 -1
  63. data/lib/lithic/models/dispute_list_evidences_params.rb +8 -1
  64. data/lib/lithic/models/dispute_retrieve_evidence_params.rb +7 -1
  65. data/lib/lithic/models/dispute_retrieve_params.rb +7 -1
  66. data/lib/lithic/models/dispute_update_params.rb +8 -1
  67. data/lib/lithic/models/disputes_v2_retrieve_params.rb +7 -1
  68. data/lib/lithic/models/event_list_attempts_params.rb +8 -1
  69. data/lib/lithic/models/event_retrieve_params.rb +7 -1
  70. data/lib/lithic/models/events/event_subscription_resend_params.rb +7 -1
  71. data/lib/lithic/models/events/subscription_delete_params.rb +7 -1
  72. data/lib/lithic/models/events/subscription_list_attempts_params.rb +8 -1
  73. data/lib/lithic/models/events/subscription_recover_params.rb +8 -1
  74. data/lib/lithic/models/events/subscription_replay_missing_params.rb +8 -1
  75. data/lib/lithic/models/events/subscription_retrieve_params.rb +7 -1
  76. data/lib/lithic/models/events/subscription_retrieve_secret_params.rb +7 -1
  77. data/lib/lithic/models/events/subscription_rotate_secret_params.rb +7 -1
  78. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +8 -1
  79. data/lib/lithic/models/events/subscription_update_params.rb +8 -1
  80. data/lib/lithic/models/external_bank_account_create_params.rb +446 -140
  81. data/lib/lithic/models/external_bank_account_retrieve_params.rb +7 -1
  82. data/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rb +7 -1
  83. data/lib/lithic/models/external_bank_account_retry_prenote_params.rb +7 -1
  84. data/lib/lithic/models/external_bank_account_unpause_params.rb +7 -1
  85. data/lib/lithic/models/external_bank_account_update_params.rb +8 -1
  86. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rb +7 -1
  87. data/lib/lithic/models/external_payment_cancel_params.rb +7 -1
  88. data/lib/lithic/models/external_payment_release_params.rb +7 -1
  89. data/lib/lithic/models/external_payment_retrieve_params.rb +7 -1
  90. data/lib/lithic/models/external_payment_reverse_params.rb +7 -1
  91. data/lib/lithic/models/external_payment_settle_params.rb +7 -1
  92. data/lib/lithic/models/financial_account_register_account_number_params.rb +7 -1
  93. data/lib/lithic/models/financial_account_retrieve_params.rb +7 -1
  94. data/lib/lithic/models/financial_account_update_params.rb +7 -1
  95. data/lib/lithic/models/financial_account_update_status_params.rb +8 -1
  96. data/lib/lithic/models/financial_accounts/balance_list_params.rb +8 -1
  97. data/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rb +7 -1
  98. data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +8 -1
  99. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +8 -1
  100. data/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rb +7 -1
  101. data/lib/lithic/models/financial_accounts/interest_tier_schedule_create_params.rb +7 -1
  102. data/lib/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rb +7 -1
  103. data/lib/lithic/models/financial_accounts/interest_tier_schedule_list_params.rb +8 -1
  104. data/lib/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rb +7 -1
  105. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +8 -1
  106. data/lib/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rb +9 -1
  107. data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +9 -1
  108. data/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rb +9 -1
  109. data/lib/lithic/models/financial_accounts/statement_list_params.rb +9 -1
  110. data/lib/lithic/models/financial_accounts/statement_retrieve_params.rb +9 -1
  111. data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +9 -1
  112. data/lib/lithic/models/fraud/transaction_report_params.rb +8 -1
  113. data/lib/lithic/models/fraud/transaction_retrieve_params.rb +7 -1
  114. data/lib/lithic/models/funding_event_retrieve_details_params.rb +7 -1
  115. data/lib/lithic/models/funding_event_retrieve_params.rb +7 -1
  116. data/lib/lithic/models/kyb.rb +1 -71
  117. data/lib/lithic/models/management_operation_retrieve_params.rb +7 -1
  118. data/lib/lithic/models/management_operation_reverse_params.rb +7 -1
  119. data/lib/lithic/models/network_program_retrieve_params.rb +7 -1
  120. data/lib/lithic/models/parsed_webhook_event.rb +1 -11
  121. data/lib/lithic/models/payment_create_params.rb +22 -1
  122. data/lib/lithic/models/payment_retrieve_params.rb +7 -1
  123. data/lib/lithic/models/payment_retry_params.rb +7 -1
  124. data/lib/lithic/models/payment_return_params.rb +8 -1
  125. data/lib/lithic/models/payment_simulate_action_params.rb +8 -1
  126. data/lib/lithic/models/reports/settlement/network_total_retrieve_params.rb +7 -1
  127. data/lib/lithic/models/reports/settlement_list_details_params.rb +8 -1
  128. data/lib/lithic/models/reports/settlement_summary_params.rb +7 -1
  129. data/lib/lithic/models/three_ds/authentication_retrieve_params.rb +7 -1
  130. data/lib/lithic/models/tokenization_activate_params.rb +7 -1
  131. data/lib/lithic/models/tokenization_deactivate_params.rb +7 -1
  132. data/lib/lithic/models/tokenization_pause_params.rb +7 -1
  133. data/lib/lithic/models/tokenization_resend_activation_code_params.rb +8 -1
  134. data/lib/lithic/models/tokenization_retrieve_params.rb +7 -1
  135. data/lib/lithic/models/tokenization_unpause_params.rb +7 -1
  136. data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +8 -1
  137. data/lib/lithic/models/transaction_expire_authorization_params.rb +7 -1
  138. data/lib/lithic/models/transaction_retrieve_params.rb +7 -1
  139. data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rb +7 -1
  140. data/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rb +7 -1
  141. data/lib/lithic/resources/account_activity.rb +2 -1
  142. data/lib/lithic/resources/account_holders/entities.rb +4 -4
  143. data/lib/lithic/resources/account_holders.rb +9 -83
  144. data/lib/lithic/resources/accounts.rb +2 -1
  145. data/lib/lithic/resources/auth_rules/v2.rb +20 -49
  146. data/lib/lithic/resources/balances.rb +2 -1
  147. data/lib/lithic/resources/book_transfers.rb +2 -1
  148. data/lib/lithic/resources/card_bulk_orders.rb +2 -1
  149. data/lib/lithic/resources/card_programs.rb +2 -1
  150. data/lib/lithic/resources/cards/balances.rb +2 -1
  151. data/lib/lithic/resources/cards/financial_transactions.rb +2 -1
  152. data/lib/lithic/resources/cards.rb +4 -2
  153. data/lib/lithic/resources/credit_products/prime_rates.rb +2 -1
  154. data/lib/lithic/resources/digital_card_art.rb +2 -1
  155. data/lib/lithic/resources/disputes.rb +4 -2
  156. data/lib/lithic/resources/disputes_v2.rb +2 -1
  157. data/lib/lithic/resources/events/subscriptions.rb +8 -4
  158. data/lib/lithic/resources/events.rb +4 -2
  159. data/lib/lithic/resources/external_bank_accounts.rb +5 -40
  160. data/lib/lithic/resources/external_payments.rb +2 -1
  161. data/lib/lithic/resources/financial_accounts/balances.rb +2 -1
  162. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +2 -1
  163. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +2 -1
  164. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +2 -1
  165. data/lib/lithic/resources/financial_accounts/statements/line_items.rb +2 -1
  166. data/lib/lithic/resources/financial_accounts/statements.rb +2 -1
  167. data/lib/lithic/resources/financial_accounts.rb +2 -1
  168. data/lib/lithic/resources/funding_events.rb +2 -1
  169. data/lib/lithic/resources/management_operations.rb +2 -1
  170. data/lib/lithic/resources/network_programs.rb +2 -1
  171. data/lib/lithic/resources/payments.rb +5 -2
  172. data/lib/lithic/resources/reports/settlement/network_totals.rb +2 -1
  173. data/lib/lithic/resources/reports/settlement.rb +2 -1
  174. data/lib/lithic/resources/responder_endpoints.rb +4 -2
  175. data/lib/lithic/resources/tokenizations.rb +2 -1
  176. data/lib/lithic/resources/transactions.rb +2 -1
  177. data/lib/lithic/resources/transfer_limits.rb +2 -1
  178. data/lib/lithic/version.rb +1 -1
  179. data/lib/lithic.rb +2 -1
  180. data/rbi/lithic/internal/util.rbi +20 -0
  181. data/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi +13 -5
  182. data/rbi/lithic/models/account_holder.rbi +0 -121
  183. data/rbi/lithic/models/account_holder_create_params.rbi +567 -837
  184. data/rbi/lithic/models/account_holder_list_documents_params.rbi +16 -5
  185. data/rbi/lithic/models/account_holder_retrieve_document_params.rbi +6 -1
  186. data/rbi/lithic/models/account_holder_retrieve_params.rbi +16 -5
  187. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +0 -16
  188. data/rbi/lithic/models/account_holder_update_params.rbi +860 -831
  189. data/rbi/lithic/models/account_holder_update_response.rbi +0 -17
  190. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +0 -17
  191. data/rbi/lithic/models/account_holder_upload_document_params.rbi +6 -0
  192. data/rbi/lithic/models/account_holders/entity_create_params.rbi +6 -0
  193. data/rbi/lithic/models/account_holders/entity_delete_params.rbi +6 -1
  194. data/rbi/lithic/models/account_retrieve_params.rbi +13 -5
  195. data/rbi/lithic/models/account_retrieve_spend_limits_params.rbi +13 -5
  196. data/rbi/lithic/models/account_update_params.rbi +6 -0
  197. data/rbi/lithic/models/auth_rules/{rule_stats.rbi → backtest_stats.rbi} +29 -33
  198. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +12 -12
  199. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +31 -31
  200. data/rbi/lithic/models/auth_rules/report_stats.rbi +1754 -0
  201. data/rbi/lithic/models/auth_rules/v2/backtest_create_params.rbi +6 -0
  202. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +11 -8
  203. data/rbi/lithic/models/auth_rules/v2/backtest_retrieve_params.rbi +10 -1
  204. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +675 -181
  205. data/rbi/lithic/models/auth_rules/v2_delete_params.rbi +13 -5
  206. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +6 -0
  207. data/rbi/lithic/models/auth_rules/v2_list_results_params.rbi +26 -0
  208. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +520 -97
  209. data/rbi/lithic/models/auth_rules/v2_promote_params.rbi +13 -5
  210. data/rbi/lithic/models/auth_rules/v2_retrieve_features_params.rbi +11 -1
  211. data/rbi/lithic/models/auth_rules/v2_retrieve_params.rbi +13 -5
  212. data/rbi/lithic/models/auth_rules/v2_retrieve_report_params.rbi +6 -0
  213. data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +8 -8
  214. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +391 -101
  215. data/rbi/lithic/models/book_transfer_retrieve_params.rbi +16 -5
  216. data/rbi/lithic/models/book_transfer_retry_params.rbi +10 -1
  217. data/rbi/lithic/models/book_transfer_reverse_params.rbi +10 -1
  218. data/rbi/lithic/models/card_bulk_order_retrieve_params.rbi +13 -5
  219. data/rbi/lithic/models/card_bulk_order_update_params.rbi +6 -0
  220. data/rbi/lithic/models/card_convert_physical_params.rbi +6 -0
  221. data/rbi/lithic/models/card_program_retrieve_params.rbi +16 -5
  222. data/rbi/lithic/models/card_provision_params.rbi +6 -0
  223. data/rbi/lithic/models/card_reissue_params.rbi +6 -0
  224. data/rbi/lithic/models/card_renew_params.rbi +6 -0
  225. data/rbi/lithic/models/card_retrieve_params.rbi +13 -5
  226. data/rbi/lithic/models/card_retrieve_spend_limits_params.rbi +13 -5
  227. data/rbi/lithic/models/card_update_params.rbi +6 -0
  228. data/rbi/lithic/models/card_web_provision_params.rbi +6 -0
  229. data/rbi/lithic/models/cards/balance_list_params.rbi +6 -0
  230. data/rbi/lithic/models/cards/financial_transaction_list_params.rbi +6 -0
  231. data/rbi/lithic/models/cards/financial_transaction_retrieve_params.rbi +14 -2
  232. data/rbi/lithic/models/credit_products/extended_credit_retrieve_params.rbi +16 -5
  233. data/rbi/lithic/models/credit_products/prime_rate_create_params.rbi +8 -0
  234. data/rbi/lithic/models/credit_products/prime_rate_retrieve_params.rbi +8 -0
  235. data/rbi/lithic/models/digital_card_art_retrieve_params.rbi +16 -5
  236. data/rbi/lithic/models/dispute_delete_evidence_params.rbi +10 -2
  237. data/rbi/lithic/models/dispute_delete_params.rbi +13 -5
  238. data/rbi/lithic/models/dispute_initiate_evidence_upload_params.rbi +10 -1
  239. data/rbi/lithic/models/dispute_list_evidences_params.rbi +6 -0
  240. data/rbi/lithic/models/dispute_retrieve_evidence_params.rbi +10 -2
  241. data/rbi/lithic/models/dispute_retrieve_params.rbi +13 -5
  242. data/rbi/lithic/models/dispute_update_params.rbi +6 -0
  243. data/rbi/lithic/models/disputes_v2_retrieve_params.rbi +13 -5
  244. data/rbi/lithic/models/event_list_attempts_params.rbi +6 -0
  245. data/rbi/lithic/models/event_retrieve_params.rbi +13 -5
  246. data/rbi/lithic/models/events/event_subscription_resend_params.rbi +14 -2
  247. data/rbi/lithic/models/events/subscription_delete_params.rbi +16 -5
  248. data/rbi/lithic/models/events/subscription_list_attempts_params.rbi +6 -0
  249. data/rbi/lithic/models/events/subscription_recover_params.rbi +6 -0
  250. data/rbi/lithic/models/events/subscription_replay_missing_params.rbi +6 -0
  251. data/rbi/lithic/models/events/subscription_retrieve_params.rbi +16 -5
  252. data/rbi/lithic/models/events/subscription_retrieve_secret_params.rbi +16 -5
  253. data/rbi/lithic/models/events/subscription_rotate_secret_params.rbi +16 -5
  254. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +6 -0
  255. data/rbi/lithic/models/events/subscription_update_params.rbi +6 -0
  256. data/rbi/lithic/models/external_bank_account_create_params.rbi +693 -211
  257. data/rbi/lithic/models/external_bank_account_retrieve_params.rbi +16 -5
  258. data/rbi/lithic/models/external_bank_account_retry_micro_deposits_params.rbi +10 -1
  259. data/rbi/lithic/models/external_bank_account_retry_prenote_params.rbi +10 -1
  260. data/rbi/lithic/models/external_bank_account_unpause_params.rbi +16 -5
  261. data/rbi/lithic/models/external_bank_account_update_params.rbi +6 -0
  262. data/rbi/lithic/models/external_bank_accounts/micro_deposit_create_params.rbi +10 -1
  263. data/rbi/lithic/models/external_payment_cancel_params.rbi +11 -1
  264. data/rbi/lithic/models/external_payment_release_params.rbi +11 -1
  265. data/rbi/lithic/models/external_payment_retrieve_params.rbi +16 -5
  266. data/rbi/lithic/models/external_payment_reverse_params.rbi +11 -1
  267. data/rbi/lithic/models/external_payment_settle_params.rbi +6 -0
  268. data/rbi/lithic/models/financial_account_register_account_number_params.rbi +14 -2
  269. data/rbi/lithic/models/financial_account_retrieve_params.rbi +16 -5
  270. data/rbi/lithic/models/financial_account_update_params.rbi +10 -2
  271. data/rbi/lithic/models/financial_account_update_status_params.rbi +6 -0
  272. data/rbi/lithic/models/financial_accounts/balance_list_params.rbi +6 -0
  273. data/rbi/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbi +16 -5
  274. data/rbi/lithic/models/financial_accounts/credit_configuration_update_params.rbi +6 -0
  275. data/rbi/lithic/models/financial_accounts/financial_transaction_list_params.rbi +6 -0
  276. data/rbi/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbi +10 -1
  277. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbi +16 -5
  278. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbi +10 -1
  279. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbi +6 -0
  280. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbi +10 -1
  281. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +6 -0
  282. data/rbi/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbi +21 -5
  283. data/rbi/lithic/models/financial_accounts/loan_tape_list_params.rbi +8 -0
  284. data/rbi/lithic/models/financial_accounts/loan_tape_retrieve_params.rbi +8 -0
  285. data/rbi/lithic/models/financial_accounts/statement_list_params.rbi +8 -0
  286. data/rbi/lithic/models/financial_accounts/statement_retrieve_params.rbi +8 -0
  287. data/rbi/lithic/models/financial_accounts/statements/line_item_list_params.rbi +8 -0
  288. data/rbi/lithic/models/fraud/transaction_report_params.rbi +6 -0
  289. data/rbi/lithic/models/fraud/transaction_retrieve_params.rbi +16 -5
  290. data/rbi/lithic/models/funding_event_retrieve_details_params.rbi +16 -5
  291. data/rbi/lithic/models/funding_event_retrieve_params.rbi +16 -5
  292. data/rbi/lithic/models/kyb.rbi +0 -109
  293. data/rbi/lithic/models/management_operation_retrieve_params.rbi +16 -5
  294. data/rbi/lithic/models/management_operation_reverse_params.rbi +11 -1
  295. data/rbi/lithic/models/network_program_retrieve_params.rbi +16 -5
  296. data/rbi/lithic/models/parsed_webhook_event.rbi +0 -17
  297. data/rbi/lithic/models/payment_create_params.rbi +34 -0
  298. data/rbi/lithic/models/payment_retrieve_params.rbi +13 -5
  299. data/rbi/lithic/models/payment_retry_params.rbi +13 -5
  300. data/rbi/lithic/models/payment_return_params.rbi +6 -0
  301. data/rbi/lithic/models/payment_simulate_action_params.rbi +6 -0
  302. data/rbi/lithic/models/reports/settlement/network_total_retrieve_params.rbi +13 -5
  303. data/rbi/lithic/models/reports/settlement_list_details_params.rbi +6 -0
  304. data/rbi/lithic/models/reports/settlement_summary_params.rbi +13 -5
  305. data/rbi/lithic/models/three_ds/authentication_retrieve_params.rbi +16 -5
  306. data/rbi/lithic/models/tokenization_activate_params.rbi +16 -5
  307. data/rbi/lithic/models/tokenization_deactivate_params.rbi +16 -5
  308. data/rbi/lithic/models/tokenization_pause_params.rbi +16 -5
  309. data/rbi/lithic/models/tokenization_resend_activation_code_params.rbi +6 -0
  310. data/rbi/lithic/models/tokenization_retrieve_params.rbi +16 -5
  311. data/rbi/lithic/models/tokenization_unpause_params.rbi +16 -5
  312. data/rbi/lithic/models/tokenization_update_digital_card_art_params.rbi +6 -0
  313. data/rbi/lithic/models/transaction_expire_authorization_params.rbi +13 -5
  314. data/rbi/lithic/models/transaction_retrieve_params.rbi +13 -5
  315. data/rbi/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbi +16 -5
  316. data/rbi/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbi +13 -5
  317. data/rbi/lithic/resources/account_holders/entities.rbi +4 -4
  318. data/rbi/lithic/resources/account_holders.rbi +16 -177
  319. data/rbi/lithic/resources/auth_rules/v2.rbi +20 -76
  320. data/rbi/lithic/resources/external_bank_accounts.rbi +7 -58
  321. data/rbi/lithic/resources/payments.rbi +3 -0
  322. data/sig/lithic/internal/util.rbs +10 -0
  323. data/sig/lithic/models/account_activity_retrieve_transaction_params.rbs +11 -3
  324. data/sig/lithic/models/account_holder.rbs +0 -58
  325. data/sig/lithic/models/account_holder_create_params.rbs +217 -353
  326. data/sig/lithic/models/account_holder_list_documents_params.rbs +12 -3
  327. data/sig/lithic/models/account_holder_retrieve_document_params.rbs +5 -1
  328. data/sig/lithic/models/account_holder_retrieve_params.rbs +12 -3
  329. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +0 -9
  330. data/sig/lithic/models/account_holder_update_params.rbs +326 -330
  331. data/sig/lithic/models/account_holder_update_response.rbs +0 -9
  332. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +0 -9
  333. data/sig/lithic/models/account_holder_upload_document_params.rbs +5 -0
  334. data/sig/lithic/models/account_holders/entity_create_params.rbs +5 -0
  335. data/sig/lithic/models/account_holders/entity_delete_params.rbs +5 -1
  336. data/sig/lithic/models/account_retrieve_params.rbs +11 -3
  337. data/sig/lithic/models/account_retrieve_spend_limits_params.rbs +11 -3
  338. data/sig/lithic/models/account_update_params.rbs +5 -0
  339. data/sig/lithic/models/auth_rules/{rule_stats.rbs → backtest_stats.rbs} +15 -22
  340. data/sig/lithic/models/auth_rules/conditional_ach_action_parameters.rbs +8 -8
  341. data/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs +15 -15
  342. data/sig/lithic/models/auth_rules/report_stats.rbs +696 -0
  343. data/sig/lithic/models/auth_rules/v2/backtest_create_params.rbs +5 -1
  344. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +8 -8
  345. data/sig/lithic/models/auth_rules/v2/backtest_retrieve_params.rbs +5 -1
  346. data/sig/lithic/models/auth_rules/v2_create_params.rbs +236 -74
  347. data/sig/lithic/models/auth_rules/v2_delete_params.rbs +12 -3
  348. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +8 -1
  349. data/sig/lithic/models/auth_rules/v2_list_results_params.rbs +14 -0
  350. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +220 -49
  351. data/sig/lithic/models/auth_rules/v2_promote_params.rbs +12 -3
  352. data/sig/lithic/models/auth_rules/v2_retrieve_features_params.rbs +5 -1
  353. data/sig/lithic/models/auth_rules/v2_retrieve_params.rbs +11 -3
  354. data/sig/lithic/models/auth_rules/v2_retrieve_report_params.rbs +5 -1
  355. data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +8 -8
  356. data/sig/lithic/models/auth_rules/v2_update_params.rbs +152 -47
  357. data/sig/lithic/models/book_transfer_retrieve_params.rbs +12 -3
  358. data/sig/lithic/models/book_transfer_retry_params.rbs +6 -1
  359. data/sig/lithic/models/book_transfer_reverse_params.rbs +10 -2
  360. data/sig/lithic/models/card_bulk_order_retrieve_params.rbs +11 -3
  361. data/sig/lithic/models/card_bulk_order_update_params.rbs +8 -1
  362. data/sig/lithic/models/card_convert_physical_params.rbs +5 -0
  363. data/sig/lithic/models/card_program_retrieve_params.rbs +12 -3
  364. data/sig/lithic/models/card_provision_params.rbs +5 -0
  365. data/sig/lithic/models/card_reissue_params.rbs +5 -0
  366. data/sig/lithic/models/card_renew_params.rbs +5 -0
  367. data/sig/lithic/models/card_retrieve_params.rbs +11 -3
  368. data/sig/lithic/models/card_retrieve_spend_limits_params.rbs +11 -3
  369. data/sig/lithic/models/card_update_params.rbs +5 -0
  370. data/sig/lithic/models/card_web_provision_params.rbs +5 -0
  371. data/sig/lithic/models/cards/balance_list_params.rbs +9 -1
  372. data/sig/lithic/models/cards/financial_transaction_list_params.rbs +5 -0
  373. data/sig/lithic/models/cards/financial_transaction_retrieve_params.rbs +6 -1
  374. data/sig/lithic/models/credit_products/extended_credit_retrieve_params.rbs +12 -3
  375. data/sig/lithic/models/credit_products/prime_rate_create_params.rbs +5 -1
  376. data/sig/lithic/models/credit_products/prime_rate_retrieve_params.rbs +9 -1
  377. data/sig/lithic/models/digital_card_art_retrieve_params.rbs +12 -3
  378. data/sig/lithic/models/dispute_delete_evidence_params.rbs +6 -1
  379. data/sig/lithic/models/dispute_delete_params.rbs +11 -3
  380. data/sig/lithic/models/dispute_initiate_evidence_upload_params.rbs +6 -1
  381. data/sig/lithic/models/dispute_list_evidences_params.rbs +5 -0
  382. data/sig/lithic/models/dispute_retrieve_evidence_params.rbs +6 -1
  383. data/sig/lithic/models/dispute_retrieve_params.rbs +11 -3
  384. data/sig/lithic/models/dispute_update_params.rbs +5 -0
  385. data/sig/lithic/models/disputes_v2_retrieve_params.rbs +11 -3
  386. data/sig/lithic/models/event_list_attempts_params.rbs +5 -0
  387. data/sig/lithic/models/event_retrieve_params.rbs +11 -3
  388. data/sig/lithic/models/events/event_subscription_resend_params.rbs +6 -1
  389. data/sig/lithic/models/events/subscription_delete_params.rbs +12 -3
  390. data/sig/lithic/models/events/subscription_list_attempts_params.rbs +5 -0
  391. data/sig/lithic/models/events/subscription_recover_params.rbs +5 -1
  392. data/sig/lithic/models/events/subscription_replay_missing_params.rbs +5 -1
  393. data/sig/lithic/models/events/subscription_retrieve_params.rbs +12 -3
  394. data/sig/lithic/models/events/subscription_retrieve_secret_params.rbs +12 -3
  395. data/sig/lithic/models/events/subscription_rotate_secret_params.rbs +12 -3
  396. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +5 -0
  397. data/sig/lithic/models/events/subscription_update_params.rbs +5 -0
  398. data/sig/lithic/models/external_bank_account_create_params.rbs +342 -98
  399. data/sig/lithic/models/external_bank_account_retrieve_params.rbs +12 -3
  400. data/sig/lithic/models/external_bank_account_retry_micro_deposits_params.rbs +5 -1
  401. data/sig/lithic/models/external_bank_account_retry_prenote_params.rbs +5 -1
  402. data/sig/lithic/models/external_bank_account_unpause_params.rbs +12 -3
  403. data/sig/lithic/models/external_bank_account_update_params.rbs +5 -0
  404. data/sig/lithic/models/external_bank_accounts/micro_deposit_create_params.rbs +8 -1
  405. data/sig/lithic/models/external_payment_cancel_params.rbs +5 -1
  406. data/sig/lithic/models/external_payment_release_params.rbs +5 -1
  407. data/sig/lithic/models/external_payment_retrieve_params.rbs +12 -3
  408. data/sig/lithic/models/external_payment_reverse_params.rbs +5 -1
  409. data/sig/lithic/models/external_payment_settle_params.rbs +5 -0
  410. data/sig/lithic/models/financial_account_register_account_number_params.rbs +6 -1
  411. data/sig/lithic/models/financial_account_retrieve_params.rbs +12 -3
  412. data/sig/lithic/models/financial_account_update_params.rbs +6 -1
  413. data/sig/lithic/models/financial_account_update_status_params.rbs +5 -0
  414. data/sig/lithic/models/financial_accounts/balance_list_params.rbs +9 -1
  415. data/sig/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbs +12 -3
  416. data/sig/lithic/models/financial_accounts/credit_configuration_update_params.rbs +5 -0
  417. data/sig/lithic/models/financial_accounts/financial_transaction_list_params.rbs +5 -0
  418. data/sig/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbs +5 -1
  419. data/sig/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbs +14 -3
  420. data/sig/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbs +5 -1
  421. data/sig/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbs +10 -1
  422. data/sig/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbs +5 -1
  423. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +10 -1
  424. data/sig/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbs +12 -3
  425. data/sig/lithic/models/financial_accounts/loan_tape_list_params.rbs +5 -0
  426. data/sig/lithic/models/financial_accounts/loan_tape_retrieve_params.rbs +5 -1
  427. data/sig/lithic/models/financial_accounts/statement_list_params.rbs +5 -0
  428. data/sig/lithic/models/financial_accounts/statement_retrieve_params.rbs +5 -1
  429. data/sig/lithic/models/financial_accounts/statements/line_item_list_params.rbs +5 -0
  430. data/sig/lithic/models/fraud/transaction_report_params.rbs +5 -0
  431. data/sig/lithic/models/fraud/transaction_retrieve_params.rbs +12 -3
  432. data/sig/lithic/models/funding_event_retrieve_details_params.rbs +12 -3
  433. data/sig/lithic/models/funding_event_retrieve_params.rbs +12 -3
  434. data/sig/lithic/models/kyb.rbs +0 -55
  435. data/sig/lithic/models/management_operation_retrieve_params.rbs +12 -3
  436. data/sig/lithic/models/management_operation_reverse_params.rbs +5 -1
  437. data/sig/lithic/models/network_program_retrieve_params.rbs +12 -3
  438. data/sig/lithic/models/parsed_webhook_event.rbs +0 -9
  439. data/sig/lithic/models/payment_create_params.rbs +19 -0
  440. data/sig/lithic/models/payment_retrieve_params.rbs +11 -3
  441. data/sig/lithic/models/payment_retry_params.rbs +11 -3
  442. data/sig/lithic/models/payment_return_params.rbs +5 -0
  443. data/sig/lithic/models/payment_simulate_action_params.rbs +5 -0
  444. data/sig/lithic/models/reports/settlement/network_total_retrieve_params.rbs +11 -3
  445. data/sig/lithic/models/reports/settlement_list_details_params.rbs +10 -1
  446. data/sig/lithic/models/reports/settlement_summary_params.rbs +11 -3
  447. data/sig/lithic/models/three_ds/authentication_retrieve_params.rbs +12 -3
  448. data/sig/lithic/models/tokenization_activate_params.rbs +12 -3
  449. data/sig/lithic/models/tokenization_deactivate_params.rbs +12 -3
  450. data/sig/lithic/models/tokenization_pause_params.rbs +12 -3
  451. data/sig/lithic/models/tokenization_resend_activation_code_params.rbs +5 -0
  452. data/sig/lithic/models/tokenization_retrieve_params.rbs +12 -3
  453. data/sig/lithic/models/tokenization_unpause_params.rbs +12 -3
  454. data/sig/lithic/models/tokenization_update_digital_card_art_params.rbs +5 -1
  455. data/sig/lithic/models/transaction_expire_authorization_params.rbs +11 -3
  456. data/sig/lithic/models/transaction_retrieve_params.rbs +11 -3
  457. data/sig/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbs +12 -3
  458. data/sig/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbs +11 -3
  459. data/sig/lithic/resources/account_holders.rbs +2 -36
  460. data/sig/lithic/resources/auth_rules/v2.rbs +4 -16
  461. data/sig/lithic/resources/external_bank_accounts.rbs +1 -17
  462. data/sig/lithic/resources/payments.rbs +1 -0
  463. metadata +8 -5
@@ -11,334 +11,43 @@ module Lithic
11
11
  T.any(Lithic::AccountHolderCreateParams, Lithic::Internal::AnyHash)
12
12
  end
13
13
 
14
- # You can submit a list of all direct and indirect individuals with 25% or more
15
- # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
16
- # no individual owns 25% of the company you do not need to send beneficial owner
17
- # information. See
18
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
19
- # (Section I) for more background on individuals that should be included.
20
14
  sig do
21
15
  returns(
22
- T.nilable(
23
- T::Array[
24
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual
25
- ]
16
+ T.any(
17
+ Lithic::KYB,
18
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated,
19
+ Lithic::KYC,
20
+ Lithic::KYCExempt
26
21
  )
27
22
  )
28
23
  end
29
- attr_reader :beneficial_owner_individuals
24
+ attr_accessor :body
30
25
 
31
26
  sig do
32
27
  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.
42
- sig { returns(Lithic::AccountHolderCreateParams::BusinessEntity) }
43
- attr_reader :business_entity
44
-
45
- sig do
46
- params(
47
- business_entity:
48
- Lithic::AccountHolderCreateParams::BusinessEntity::OrHash
49
- ).void
50
- end
51
- attr_writer :business_entity
52
-
53
- # An individual with significant responsibility for managing the legal entity
54
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
55
- # Officer, Managing Member, General Partner, President, Vice President, or
56
- # Treasurer). This can be an executive, or someone who will have program-wide
57
- # access to the cards that Lithic will provide. In some cases, this individual
58
- # could also be a beneficial owner listed above. See
59
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
60
- # (Section II) for more background.
61
- sig do
62
- returns(T.nilable(Lithic::AccountHolderCreateParams::ControlPerson))
63
- end
64
- attr_reader :control_person
65
-
66
- sig do
67
- params(
68
- control_person:
69
- Lithic::AccountHolderCreateParams::ControlPerson::OrHash
70
- ).void
71
- end
72
- attr_writer :control_person
73
-
74
- # Short description of the company's line of business (i.e., what does the company
75
- # do?).
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
81
-
82
- # An RFC 3339 timestamp indicating when the account holder accepted the applicable
83
- # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
84
- # implementation with Lithic.
85
- sig { returns(String) }
86
- attr_accessor :tos_timestamp
87
-
88
- # Specifies the workflow type. This must be 'KYC_EXEMPT'
89
- sig { returns(Lithic::AccountHolderCreateParams::Workflow::OrSymbol) }
90
- attr_accessor :workflow
91
-
92
- # Deprecated.
93
- sig do
94
- returns(
95
- T.nilable(
96
- T::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerEntity]
97
- )
98
- )
99
- end
100
- attr_reader :beneficial_owner_entities
101
-
102
- sig do
103
- params(
104
- beneficial_owner_entities:
105
- T::Array[
106
- Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash
107
- ]
108
- ).void
109
- end
110
- attr_writer :beneficial_owner_entities
111
-
112
- # A user provided id that can be used to link an account holder with an external
113
- # system
114
- sig { returns(T.nilable(String)) }
115
- attr_reader :external_id
116
-
117
- sig { params(external_id: String).void }
118
- attr_writer :external_id
119
-
120
- # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
121
- # business with a pass result.
122
- #
123
- # This field is required only if workflow type is `KYB_BYO`.
124
- sig { returns(T.nilable(String)) }
125
- attr_reader :kyb_passed_timestamp
126
-
127
- sig { params(kyb_passed_timestamp: String).void }
128
- attr_writer :kyb_passed_timestamp
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
-
138
- # Company website URL.
139
- sig { returns(T.nilable(String)) }
140
- attr_reader :website_url
141
-
142
- sig { params(website_url: String).void }
143
- attr_writer :website_url
144
-
145
- # Information on individual for whom the account is being opened and KYC is being
146
- # run.
147
- sig { returns(Lithic::AccountHolderCreateParams::Individual) }
148
- attr_reader :individual
149
-
150
- sig do
151
- params(
152
- individual: Lithic::AccountHolderCreateParams::Individual::OrHash
153
- ).void
154
- end
155
- attr_writer :individual
156
-
157
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
158
- # individual with a pass result.
159
- #
160
- # This field is required only if workflow type is `KYC_BYO`.
161
- sig { returns(T.nilable(String)) }
162
- attr_reader :kyc_passed_timestamp
163
-
164
- sig { params(kyc_passed_timestamp: String).void }
165
- attr_writer :kyc_passed_timestamp
166
-
167
- # KYC Exempt user's current address - PO boxes, UPS drops, and FedEx drops are not
168
- # acceptable; APO/FPO are acceptable.
169
- sig { returns(Lithic::Address) }
170
- attr_reader :address
171
-
172
- sig { params(address: Lithic::Address::OrHash).void }
173
- attr_writer :address
174
-
175
- # The KYC Exempt user's email
176
- sig { returns(String) }
177
- attr_accessor :email
178
-
179
- # The KYC Exempt user's first name
180
- sig { returns(String) }
181
- attr_accessor :first_name
182
-
183
- # Specifies the type of KYC Exempt user
184
- sig do
185
- returns(Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol)
186
- end
187
- attr_accessor :kyc_exemption_type
188
-
189
- # The KYC Exempt user's last name
190
- sig { returns(String) }
191
- attr_accessor :last_name
192
-
193
- # The KYC Exempt user's phone number, entered in E.164 format.
194
- sig { returns(String) }
195
- attr_accessor :phone_number
196
-
197
- # Only applicable for customers using the KYC-Exempt workflow to enroll authorized
198
- # users of businesses. Pass the account_token of the enrolled business associated
199
- # with the AUTHORIZED_USER in this field.
200
- sig { returns(T.nilable(String)) }
201
- attr_reader :business_account_token
202
-
203
- sig { params(business_account_token: String).void }
204
- attr_writer :business_account_token
205
-
206
- sig do
207
- params(
208
- business_entity:
209
- Lithic::AccountHolderCreateParams::BusinessEntity::OrHash,
210
- tos_timestamp: String,
211
- workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol,
212
- individual: Lithic::AccountHolderCreateParams::Individual::OrHash,
213
- address: Lithic::Address::OrHash,
214
- email: String,
215
- first_name: String,
216
- kyc_exemption_type:
217
- Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
218
- last_name: String,
219
- phone_number: String,
220
- beneficial_owner_individuals:
221
- T::Array[
222
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash
223
- ],
224
- control_person:
225
- Lithic::AccountHolderCreateParams::ControlPerson::OrHash,
226
- nature_of_business: String,
227
- beneficial_owner_entities:
228
- T::Array[
229
- Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash
230
- ],
231
- external_id: String,
232
- kyb_passed_timestamp: String,
233
- naics_code: String,
234
- website_url: String,
235
- kyc_passed_timestamp: String,
236
- business_account_token: String,
28
+ body:
29
+ T.any(
30
+ Lithic::KYB::OrHash,
31
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::OrHash,
32
+ Lithic::KYC::OrHash,
33
+ Lithic::KYCExempt::OrHash
34
+ ),
237
35
  request_options: Lithic::RequestOptions::OrHash
238
36
  ).returns(T.attached_class)
239
37
  end
240
- def self.new(
241
- # Information for business for which the account is being opened.
242
- business_entity:,
243
- # An RFC 3339 timestamp indicating when the account holder accepted the applicable
244
- # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
245
- # implementation with Lithic.
246
- tos_timestamp:,
247
- # Specifies the workflow type. This must be 'KYC_EXEMPT'
248
- workflow:,
249
- # Information on individual for whom the account is being opened and KYC is being
250
- # run.
251
- individual:,
252
- # KYC Exempt user's current address - PO boxes, UPS drops, and FedEx drops are not
253
- # acceptable; APO/FPO are acceptable.
254
- address:,
255
- # The KYC Exempt user's email
256
- email:,
257
- # The KYC Exempt user's first name
258
- first_name:,
259
- # Specifies the type of KYC Exempt user
260
- kyc_exemption_type:,
261
- # The KYC Exempt user's last name
262
- last_name:,
263
- # The KYC Exempt user's phone number, entered in E.164 format.
264
- phone_number:,
265
- # You can submit a list of all direct and indirect individuals with 25% or more
266
- # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
267
- # no individual owns 25% of the company you do not need to send beneficial owner
268
- # information. See
269
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
270
- # (Section I) for more background on individuals that should be included.
271
- beneficial_owner_individuals: nil,
272
- # An individual with significant responsibility for managing the legal entity
273
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
274
- # Officer, Managing Member, General Partner, President, Vice President, or
275
- # Treasurer). This can be an executive, or someone who will have program-wide
276
- # access to the cards that Lithic will provide. In some cases, this individual
277
- # could also be a beneficial owner listed above. See
278
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
279
- # (Section II) for more background.
280
- control_person: nil,
281
- # Short description of the company's line of business (i.e., what does the company
282
- # do?).
283
- nature_of_business: nil,
284
- # Deprecated.
285
- beneficial_owner_entities: nil,
286
- # A user provided id that can be used to link an account holder with an external
287
- # system
288
- external_id: nil,
289
- # An RFC 3339 timestamp indicating when precomputed KYB was completed on the
290
- # business with a pass result.
291
- #
292
- # This field is required only if workflow type is `KYB_BYO`.
293
- kyb_passed_timestamp: nil,
294
- # 6-digit North American Industry Classification System (NAICS) code for the
295
- # business.
296
- naics_code: nil,
297
- # Company website URL.
298
- website_url: nil,
299
- # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
300
- # individual with a pass result.
301
- #
302
- # This field is required only if workflow type is `KYC_BYO`.
303
- kyc_passed_timestamp: nil,
304
- # Only applicable for customers using the KYC-Exempt workflow to enroll authorized
305
- # users of businesses. Pass the account_token of the enrolled business associated
306
- # with the AUTHORIZED_USER in this field.
307
- business_account_token: nil,
308
- request_options: {}
309
- )
38
+ def self.new(body:, request_options: {})
310
39
  end
311
40
 
312
41
  sig do
313
42
  override.returns(
314
43
  {
315
- beneficial_owner_individuals:
316
- T::Array[
317
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual
318
- ],
319
- business_entity: Lithic::AccountHolderCreateParams::BusinessEntity,
320
- control_person: Lithic::AccountHolderCreateParams::ControlPerson,
321
- nature_of_business: String,
322
- tos_timestamp: String,
323
- workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol,
324
- beneficial_owner_entities:
325
- T::Array[
326
- Lithic::AccountHolderCreateParams::BeneficialOwnerEntity
327
- ],
328
- external_id: String,
329
- kyb_passed_timestamp: String,
330
- naics_code: String,
331
- website_url: String,
332
- individual: Lithic::AccountHolderCreateParams::Individual,
333
- kyc_passed_timestamp: String,
334
- address: Lithic::Address,
335
- email: String,
336
- first_name: String,
337
- kyc_exemption_type:
338
- Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol,
339
- last_name: String,
340
- phone_number: String,
341
- business_account_token: String,
44
+ body:
45
+ T.any(
46
+ Lithic::KYB,
47
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated,
48
+ Lithic::KYC,
49
+ Lithic::KYCExempt
50
+ ),
342
51
  request_options: Lithic::RequestOptions
343
52
  }
344
53
  )
@@ -346,560 +55,581 @@ module Lithic
346
55
  def to_hash
347
56
  end
348
57
 
349
- class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
350
- OrHash =
58
+ module Body
59
+ extend Lithic::Internal::Type::Union
60
+
61
+ Variants =
351
62
  T.type_alias do
352
63
  T.any(
353
- Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual,
354
- Lithic::Internal::AnyHash
64
+ Lithic::KYB,
65
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated,
66
+ Lithic::KYC,
67
+ Lithic::KYCExempt
355
68
  )
356
69
  end
357
70
 
358
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
359
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
360
- sig { returns(Lithic::Address) }
361
- attr_reader :address
362
-
363
- sig { params(address: Lithic::Address::OrHash).void }
364
- attr_writer :address
365
-
366
- # Individual's date of birth, as an RFC 3339 date.
367
- sig { returns(String) }
368
- attr_accessor :dob
369
-
370
- # Individual's email address. If utilizing Lithic for chargeback processing, this
371
- # customer email address may be used to communicate dispute status and resolution.
372
- sig { returns(String) }
373
- attr_accessor :email
374
-
375
- # Individual's first name, as it appears on government-issued identity documents.
376
- sig { returns(String) }
377
- attr_accessor :first_name
378
-
379
- # Government-issued identification number (required for identity verification and
380
- # compliance with banking regulations). Social Security Numbers (SSN) and
381
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
382
- # entered as full nine-digits, with or without hyphens
383
- sig { returns(String) }
384
- attr_accessor :government_id
385
-
386
- # Individual's last name, as it appears on government-issued identity documents.
387
- sig { returns(String) }
388
- attr_accessor :last_name
389
-
390
- # Individual's phone number, entered in E.164 format.
391
- sig { returns(T.nilable(String)) }
392
- attr_reader :phone_number
393
-
394
- sig { params(phone_number: String).void }
395
- attr_writer :phone_number
396
-
397
- # Individuals associated with a KYB application. Phone number is optional.
398
- sig do
399
- params(
400
- address: Lithic::Address::OrHash,
401
- dob: String,
402
- email: String,
403
- first_name: String,
404
- government_id: String,
405
- last_name: String,
406
- phone_number: String
407
- ).returns(T.attached_class)
408
- end
409
- def self.new(
410
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
411
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
412
- address:,
413
- # Individual's date of birth, as an RFC 3339 date.
414
- dob:,
415
- # Individual's email address. If utilizing Lithic for chargeback processing, this
416
- # customer email address may be used to communicate dispute status and resolution.
417
- email:,
418
- # Individual's first name, as it appears on government-issued identity documents.
419
- first_name:,
420
- # Government-issued identification number (required for identity verification and
421
- # compliance with banking regulations). Social Security Numbers (SSN) and
422
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
423
- # entered as full nine-digits, with or without hyphens
424
- government_id:,
425
- # Individual's last name, as it appears on government-issued identity documents.
426
- last_name:,
427
- # Individual's phone number, entered in E.164 format.
428
- phone_number: nil
429
- )
430
- end
431
-
432
- sig do
433
- override.returns(
434
- {
435
- address: Lithic::Address,
436
- dob: String,
437
- email: String,
438
- first_name: String,
439
- government_id: String,
440
- last_name: String,
441
- phone_number: String
442
- }
443
- )
444
- end
445
- def to_hash
446
- end
447
- end
448
-
449
- class BusinessEntity < Lithic::Internal::Type::BaseModel
450
- OrHash =
451
- T.type_alias do
452
- T.any(
453
- Lithic::AccountHolderCreateParams::BusinessEntity,
454
- Lithic::Internal::AnyHash
71
+ class KYBDelegated < Lithic::Internal::Type::BaseModel
72
+ OrHash =
73
+ T.type_alias do
74
+ T.any(
75
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated,
76
+ Lithic::Internal::AnyHash
77
+ )
78
+ end
79
+
80
+ # Information for business for which the account is being opened.
81
+ sig do
82
+ returns(
83
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BusinessEntity
455
84
  )
456
85
  end
86
+ attr_reader :business_entity
457
87
 
458
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
459
- # acceptable; APO/FPO are acceptable.
460
- sig { returns(Lithic::Address) }
461
- attr_reader :address
462
-
463
- sig { params(address: Lithic::Address::OrHash).void }
464
- attr_writer :address
465
-
466
- # Legal (formal) business name.
467
- sig { returns(String) }
468
- attr_accessor :legal_business_name
469
-
470
- # Any name that the business operates under that is not its legal business name
471
- # (if applicable).
472
- sig { returns(T.nilable(String)) }
473
- attr_reader :dba_business_name
474
-
475
- sig { params(dba_business_name: String).void }
476
- attr_writer :dba_business_name
477
-
478
- # Government-issued identification number. US Federal Employer Identification
479
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
480
- # without hyphens.
481
- sig { returns(T.nilable(String)) }
482
- attr_reader :government_id
483
-
484
- sig { params(government_id: String).void }
485
- attr_writer :government_id
486
-
487
- # Parent company name (if applicable).
488
- sig { returns(T.nilable(String)) }
489
- attr_reader :parent_company
490
-
491
- sig { params(parent_company: String).void }
492
- attr_writer :parent_company
493
-
494
- # One or more of the business's phone number(s), entered as a list in E.164
495
- # format.
496
- sig { returns(T.nilable(T::Array[String])) }
497
- attr_reader :phone_numbers
498
-
499
- sig { params(phone_numbers: T::Array[String]).void }
500
- attr_writer :phone_numbers
501
-
502
- # Information for business for which the account is being opened.
503
- sig do
504
- params(
505
- address: Lithic::Address::OrHash,
506
- legal_business_name: String,
507
- dba_business_name: String,
508
- government_id: String,
509
- parent_company: String,
510
- phone_numbers: T::Array[String]
511
- ).returns(T.attached_class)
512
- end
513
- def self.new(
514
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
515
- # acceptable; APO/FPO are acceptable.
516
- address:,
517
- # Legal (formal) business name.
518
- legal_business_name:,
519
- # Any name that the business operates under that is not its legal business name
520
- # (if applicable).
521
- dba_business_name: nil,
522
- # Government-issued identification number. US Federal Employer Identification
523
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
524
- # without hyphens.
525
- government_id: nil,
526
- # Parent company name (if applicable).
527
- parent_company: nil,
528
- # One or more of the business's phone number(s), entered as a list in E.164
529
- # format.
530
- phone_numbers: nil
531
- )
532
- end
533
-
534
- sig do
535
- override.returns(
536
- {
537
- address: Lithic::Address,
538
- legal_business_name: String,
539
- dba_business_name: String,
540
- government_id: String,
541
- parent_company: String,
542
- phone_numbers: T::Array[String]
543
- }
544
- )
545
- end
546
- def to_hash
547
- end
548
- end
549
-
550
- class ControlPerson < Lithic::Internal::Type::BaseModel
551
- OrHash =
552
- T.type_alias do
553
- T.any(
554
- Lithic::AccountHolderCreateParams::ControlPerson,
555
- Lithic::Internal::AnyHash
88
+ sig do
89
+ params(
90
+ business_entity:
91
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BusinessEntity::OrHash
92
+ ).void
93
+ end
94
+ attr_writer :business_entity
95
+
96
+ # You can submit a list of all direct and indirect individuals with 25% or more
97
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
98
+ # no individual owns 25% of the company you do not need to send beneficial owner
99
+ # information. See
100
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
101
+ # (Section I) for more background on individuals that should be included.
102
+ sig do
103
+ returns(
104
+ T.nilable(
105
+ T::Array[
106
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BeneficialOwnerIndividual
107
+ ]
108
+ )
556
109
  )
557
110
  end
558
-
559
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
560
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
561
- sig { returns(Lithic::Address) }
562
- attr_reader :address
563
-
564
- sig { params(address: Lithic::Address::OrHash).void }
565
- attr_writer :address
566
-
567
- # Individual's date of birth, as an RFC 3339 date.
568
- sig { returns(String) }
569
- attr_accessor :dob
570
-
571
- # Individual's email address. If utilizing Lithic for chargeback processing, this
572
- # customer email address may be used to communicate dispute status and resolution.
573
- sig { returns(String) }
574
- attr_accessor :email
575
-
576
- # Individual's first name, as it appears on government-issued identity documents.
577
- sig { returns(String) }
578
- attr_accessor :first_name
579
-
580
- # Government-issued identification number (required for identity verification and
581
- # compliance with banking regulations). Social Security Numbers (SSN) and
582
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
583
- # entered as full nine-digits, with or without hyphens
584
- sig { returns(String) }
585
- attr_accessor :government_id
586
-
587
- # Individual's last name, as it appears on government-issued identity documents.
588
- sig { returns(String) }
589
- attr_accessor :last_name
590
-
591
- # Individual's phone number, entered in E.164 format.
592
- sig { returns(T.nilable(String)) }
593
- attr_reader :phone_number
594
-
595
- sig { params(phone_number: String).void }
596
- attr_writer :phone_number
597
-
598
- # An individual with significant responsibility for managing the legal entity
599
- # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
600
- # Officer, Managing Member, General Partner, President, Vice President, or
601
- # Treasurer). This can be an executive, or someone who will have program-wide
602
- # access to the cards that Lithic will provide. In some cases, this individual
603
- # could also be a beneficial owner listed above. See
604
- # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
605
- # (Section II) for more background.
606
- sig do
607
- params(
608
- address: Lithic::Address::OrHash,
609
- dob: String,
610
- email: String,
611
- first_name: String,
612
- government_id: String,
613
- last_name: String,
614
- phone_number: String
615
- ).returns(T.attached_class)
616
- end
617
- def self.new(
618
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
619
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
620
- address:,
621
- # Individual's date of birth, as an RFC 3339 date.
622
- dob:,
623
- # Individual's email address. If utilizing Lithic for chargeback processing, this
624
- # customer email address may be used to communicate dispute status and resolution.
625
- email:,
626
- # Individual's first name, as it appears on government-issued identity documents.
627
- first_name:,
628
- # Government-issued identification number (required for identity verification and
629
- # compliance with banking regulations). Social Security Numbers (SSN) and
630
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
631
- # entered as full nine-digits, with or without hyphens
632
- government_id:,
633
- # Individual's last name, as it appears on government-issued identity documents.
634
- last_name:,
635
- # Individual's phone number, entered in E.164 format.
636
- phone_number: nil
637
- )
638
- end
639
-
640
- sig do
641
- override.returns(
642
- {
643
- address: Lithic::Address,
644
- dob: String,
645
- email: String,
646
- first_name: String,
647
- government_id: String,
648
- last_name: String,
649
- phone_number: String
650
- }
651
- )
652
- end
653
- def to_hash
654
- end
655
- end
656
-
657
- # Specifies the workflow type. This must be 'KYC_EXEMPT'
658
- module Workflow
659
- extend Lithic::Internal::Type::Enum
660
-
661
- TaggedSymbol =
662
- T.type_alias do
663
- T.all(Symbol, Lithic::AccountHolderCreateParams::Workflow)
111
+ attr_reader :beneficial_owner_individuals
112
+
113
+ sig do
114
+ params(
115
+ beneficial_owner_individuals:
116
+ T::Array[
117
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BeneficialOwnerIndividual::OrHash
118
+ ]
119
+ ).void
664
120
  end
665
- OrSymbol = T.type_alias { T.any(Symbol, String) }
666
-
667
- KYC_EXEMPT =
668
- T.let(
669
- :KYC_EXEMPT,
670
- Lithic::AccountHolderCreateParams::Workflow::TaggedSymbol
671
- )
672
-
673
- sig do
674
- override.returns(
675
- T::Array[Lithic::AccountHolderCreateParams::Workflow::TaggedSymbol]
676
- )
677
- end
678
- def self.values
679
- end
680
- end
681
-
682
- class BeneficialOwnerEntity < Lithic::Internal::Type::BaseModel
683
- OrHash =
684
- T.type_alias do
685
- T.any(
686
- Lithic::AccountHolderCreateParams::BeneficialOwnerEntity,
687
- Lithic::Internal::AnyHash
121
+ attr_writer :beneficial_owner_individuals
122
+
123
+ # An individual with significant responsibility for managing the legal entity
124
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
125
+ # Officer, Managing Member, General Partner, President, Vice President, or
126
+ # Treasurer). This can be an executive, or someone who will have program-wide
127
+ # access to the cards that Lithic will provide. In some cases, this individual
128
+ # could also be a beneficial owner listed above. See
129
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
130
+ # (Section II) for more background.
131
+ sig do
132
+ returns(
133
+ T.nilable(
134
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::ControlPerson
135
+ )
688
136
  )
689
137
  end
138
+ attr_reader :control_person
690
139
 
691
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
692
- # acceptable; APO/FPO are acceptable.
693
- sig { returns(Lithic::Address) }
694
- attr_reader :address
695
-
696
- sig { params(address: Lithic::Address::OrHash).void }
697
- attr_writer :address
698
-
699
- # Government-issued identification number. US Federal Employer Identification
700
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
701
- # without hyphens.
702
- sig { returns(String) }
703
- attr_accessor :government_id
704
-
705
- # Legal (formal) business name.
706
- sig { returns(String) }
707
- attr_accessor :legal_business_name
708
-
709
- # One or more of the business's phone number(s), entered as a list in E.164
710
- # format.
711
- sig { returns(T::Array[String]) }
712
- attr_accessor :phone_numbers
713
-
714
- # Any name that the business operates under that is not its legal business name
715
- # (if applicable).
716
- sig { returns(T.nilable(String)) }
717
- attr_reader :dba_business_name
718
-
719
- sig { params(dba_business_name: String).void }
720
- attr_writer :dba_business_name
721
-
722
- # Parent company name (if applicable).
723
- sig { returns(T.nilable(String)) }
724
- attr_reader :parent_company
725
-
726
- sig { params(parent_company: String).void }
727
- attr_writer :parent_company
728
-
729
- sig do
730
- params(
731
- address: Lithic::Address::OrHash,
732
- government_id: String,
733
- legal_business_name: String,
734
- phone_numbers: T::Array[String],
735
- dba_business_name: String,
736
- parent_company: String
737
- ).returns(T.attached_class)
738
- end
739
- def self.new(
740
- # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
741
- # acceptable; APO/FPO are acceptable.
742
- address:,
743
- # Government-issued identification number. US Federal Employer Identification
744
- # Numbers (EIN) are currently supported, entered as full nine-digits, with or
745
- # without hyphens.
746
- government_id:,
747
- # Legal (formal) business name.
748
- legal_business_name:,
749
- # One or more of the business's phone number(s), entered as a list in E.164
750
- # format.
751
- phone_numbers:,
752
- # Any name that the business operates under that is not its legal business name
753
- # (if applicable).
754
- dba_business_name: nil,
755
- # Parent company name (if applicable).
756
- parent_company: nil
757
- )
758
- end
140
+ sig do
141
+ params(
142
+ control_person:
143
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::ControlPerson::OrHash
144
+ ).void
145
+ end
146
+ attr_writer :control_person
147
+
148
+ # A user provided id that can be used to link an account holder with an external
149
+ # system
150
+ sig { returns(T.nilable(String)) }
151
+ attr_reader :external_id
152
+
153
+ sig { params(external_id: String).void }
154
+ attr_writer :external_id
155
+
156
+ # 6-digit North American Industry Classification System (NAICS) code for the
157
+ # business.
158
+ sig { returns(T.nilable(String)) }
159
+ attr_reader :naics_code
160
+
161
+ sig { params(naics_code: String).void }
162
+ attr_writer :naics_code
163
+
164
+ # Short description of the company's line of business (i.e., what does the company
165
+ # do?).
166
+ sig { returns(T.nilable(String)) }
167
+ attr_reader :nature_of_business
168
+
169
+ sig { params(nature_of_business: String).void }
170
+ attr_writer :nature_of_business
171
+
172
+ # An RFC 3339 timestamp indicating when the account holder accepted the applicable
173
+ # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
174
+ # implementation with Lithic.
175
+ sig { returns(T.nilable(String)) }
176
+ attr_reader :tos_timestamp
177
+
178
+ sig { params(tos_timestamp: String).void }
179
+ attr_writer :tos_timestamp
180
+
181
+ # Company website URL.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_reader :website_url
184
+
185
+ sig { params(website_url: String).void }
186
+ attr_writer :website_url
187
+
188
+ # Specifies the type of KYB workflow to run.
189
+ sig do
190
+ returns(
191
+ T.nilable(
192
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::OrSymbol
193
+ )
194
+ )
195
+ end
196
+ attr_reader :workflow
759
197
 
760
- sig do
761
- override.returns(
762
- {
763
- address: Lithic::Address,
764
- government_id: String,
765
- legal_business_name: String,
766
- phone_numbers: T::Array[String],
767
- dba_business_name: String,
768
- parent_company: String
769
- }
198
+ sig do
199
+ params(
200
+ workflow:
201
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::OrSymbol
202
+ ).void
203
+ end
204
+ attr_writer :workflow
205
+
206
+ sig do
207
+ params(
208
+ business_entity:
209
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BusinessEntity::OrHash,
210
+ beneficial_owner_individuals:
211
+ T::Array[
212
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BeneficialOwnerIndividual::OrHash
213
+ ],
214
+ control_person:
215
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::ControlPerson::OrHash,
216
+ external_id: String,
217
+ naics_code: String,
218
+ nature_of_business: String,
219
+ tos_timestamp: String,
220
+ website_url: String,
221
+ workflow:
222
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::OrSymbol
223
+ ).returns(T.attached_class)
224
+ end
225
+ def self.new(
226
+ # Information for business for which the account is being opened.
227
+ business_entity:,
228
+ # You can submit a list of all direct and indirect individuals with 25% or more
229
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
230
+ # no individual owns 25% of the company you do not need to send beneficial owner
231
+ # information. See
232
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
233
+ # (Section I) for more background on individuals that should be included.
234
+ beneficial_owner_individuals: nil,
235
+ # An individual with significant responsibility for managing the legal entity
236
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
237
+ # Officer, Managing Member, General Partner, President, Vice President, or
238
+ # Treasurer). This can be an executive, or someone who will have program-wide
239
+ # access to the cards that Lithic will provide. In some cases, this individual
240
+ # could also be a beneficial owner listed above. See
241
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
242
+ # (Section II) for more background.
243
+ control_person: nil,
244
+ # A user provided id that can be used to link an account holder with an external
245
+ # system
246
+ external_id: nil,
247
+ # 6-digit North American Industry Classification System (NAICS) code for the
248
+ # business.
249
+ naics_code: nil,
250
+ # Short description of the company's line of business (i.e., what does the company
251
+ # do?).
252
+ nature_of_business: nil,
253
+ # An RFC 3339 timestamp indicating when the account holder accepted the applicable
254
+ # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
255
+ # implementation with Lithic.
256
+ tos_timestamp: nil,
257
+ # Company website URL.
258
+ website_url: nil,
259
+ # Specifies the type of KYB workflow to run.
260
+ workflow: nil
770
261
  )
771
- end
772
- def to_hash
773
- end
774
- end
262
+ end
775
263
 
776
- class Individual < Lithic::Internal::Type::BaseModel
777
- OrHash =
778
- T.type_alias do
779
- T.any(
780
- Lithic::AccountHolderCreateParams::Individual,
781
- Lithic::Internal::AnyHash
264
+ sig do
265
+ override.returns(
266
+ {
267
+ business_entity:
268
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BusinessEntity,
269
+ beneficial_owner_individuals:
270
+ T::Array[
271
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BeneficialOwnerIndividual
272
+ ],
273
+ control_person:
274
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::ControlPerson,
275
+ external_id: String,
276
+ naics_code: String,
277
+ nature_of_business: String,
278
+ tos_timestamp: String,
279
+ website_url: String,
280
+ workflow:
281
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::OrSymbol
282
+ }
782
283
  )
783
284
  end
285
+ def to_hash
286
+ end
784
287
 
785
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
786
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
787
- sig { returns(Lithic::Address) }
788
- attr_reader :address
789
-
790
- sig { params(address: Lithic::Address::OrHash).void }
791
- attr_writer :address
792
-
793
- # Individual's date of birth, as an RFC 3339 date.
794
- sig { returns(String) }
795
- attr_accessor :dob
796
-
797
- # Individual's email address. If utilizing Lithic for chargeback processing, this
798
- # customer email address may be used to communicate dispute status and resolution.
799
- sig { returns(String) }
800
- attr_accessor :email
801
-
802
- # Individual's first name, as it appears on government-issued identity documents.
803
- sig { returns(String) }
804
- attr_accessor :first_name
805
-
806
- # Government-issued identification number (required for identity verification and
807
- # compliance with banking regulations). Social Security Numbers (SSN) and
808
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
809
- # entered as full nine-digits, with or without hyphens
810
- sig { returns(String) }
811
- attr_accessor :government_id
812
-
813
- # Individual's last name, as it appears on government-issued identity documents.
814
- sig { returns(String) }
815
- attr_accessor :last_name
816
-
817
- # Individual's phone number, entered in E.164 format.
818
- sig { returns(String) }
819
- attr_accessor :phone_number
820
-
821
- # Information on individual for whom the account is being opened and KYC is being
822
- # run.
823
- sig do
824
- params(
825
- address: Lithic::Address::OrHash,
826
- dob: String,
827
- email: String,
828
- first_name: String,
829
- government_id: String,
830
- last_name: String,
831
- phone_number: String
832
- ).returns(T.attached_class)
833
- end
834
- def self.new(
835
- # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
836
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
837
- address:,
838
- # Individual's date of birth, as an RFC 3339 date.
839
- dob:,
840
- # Individual's email address. If utilizing Lithic for chargeback processing, this
841
- # customer email address may be used to communicate dispute status and resolution.
842
- email:,
843
- # Individual's first name, as it appears on government-issued identity documents.
844
- first_name:,
845
- # Government-issued identification number (required for identity verification and
846
- # compliance with banking regulations). Social Security Numbers (SSN) and
847
- # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
848
- # entered as full nine-digits, with or without hyphens
849
- government_id:,
850
- # Individual's last name, as it appears on government-issued identity documents.
851
- last_name:,
852
- # Individual's phone number, entered in E.164 format.
853
- phone_number:
854
- )
855
- end
856
-
857
- sig do
858
- override.returns(
859
- {
860
- address: Lithic::Address,
861
- dob: String,
862
- email: String,
863
- first_name: String,
864
- government_id: String,
865
- last_name: String,
866
- phone_number: String
867
- }
868
- )
869
- end
870
- def to_hash
871
- end
872
- end
288
+ class BusinessEntity < Lithic::Internal::Type::BaseModel
289
+ OrHash =
290
+ T.type_alias do
291
+ T.any(
292
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BusinessEntity,
293
+ Lithic::Internal::AnyHash
294
+ )
295
+ end
296
+
297
+ # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
298
+ # acceptable; APO/FPO are acceptable.
299
+ sig { returns(Lithic::Address) }
300
+ attr_reader :address
301
+
302
+ sig { params(address: Lithic::Address::OrHash).void }
303
+ attr_writer :address
304
+
305
+ # Legal (formal) business name.
306
+ sig { returns(String) }
307
+ attr_accessor :legal_business_name
308
+
309
+ # Any name that the business operates under that is not its legal business name
310
+ # (if applicable).
311
+ sig { returns(T.nilable(String)) }
312
+ attr_reader :dba_business_name
313
+
314
+ sig { params(dba_business_name: String).void }
315
+ attr_writer :dba_business_name
316
+
317
+ # Government-issued identification number. US Federal Employer Identification
318
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
319
+ # without hyphens.
320
+ sig { returns(T.nilable(String)) }
321
+ attr_reader :government_id
322
+
323
+ sig { params(government_id: String).void }
324
+ attr_writer :government_id
325
+
326
+ # Parent company name (if applicable).
327
+ sig { returns(T.nilable(String)) }
328
+ attr_reader :parent_company
329
+
330
+ sig { params(parent_company: String).void }
331
+ attr_writer :parent_company
332
+
333
+ # One or more of the business's phone number(s), entered as a list in E.164
334
+ # format.
335
+ sig { returns(T.nilable(T::Array[String])) }
336
+ attr_reader :phone_numbers
337
+
338
+ sig { params(phone_numbers: T::Array[String]).void }
339
+ attr_writer :phone_numbers
340
+
341
+ # Information for business for which the account is being opened.
342
+ sig do
343
+ params(
344
+ address: Lithic::Address::OrHash,
345
+ legal_business_name: String,
346
+ dba_business_name: String,
347
+ government_id: String,
348
+ parent_company: String,
349
+ phone_numbers: T::Array[String]
350
+ ).returns(T.attached_class)
351
+ end
352
+ def self.new(
353
+ # Business's physical address - PO boxes, UPS drops, and FedEx drops are not
354
+ # acceptable; APO/FPO are acceptable.
355
+ address:,
356
+ # Legal (formal) business name.
357
+ legal_business_name:,
358
+ # Any name that the business operates under that is not its legal business name
359
+ # (if applicable).
360
+ dba_business_name: nil,
361
+ # Government-issued identification number. US Federal Employer Identification
362
+ # Numbers (EIN) are currently supported, entered as full nine-digits, with or
363
+ # without hyphens.
364
+ government_id: nil,
365
+ # Parent company name (if applicable).
366
+ parent_company: nil,
367
+ # One or more of the business's phone number(s), entered as a list in E.164
368
+ # format.
369
+ phone_numbers: nil
370
+ )
371
+ end
372
+
373
+ sig do
374
+ override.returns(
375
+ {
376
+ address: Lithic::Address,
377
+ legal_business_name: String,
378
+ dba_business_name: String,
379
+ government_id: String,
380
+ parent_company: String,
381
+ phone_numbers: T::Array[String]
382
+ }
383
+ )
384
+ end
385
+ def to_hash
386
+ end
387
+ end
873
388
 
874
- # Specifies the type of KYC Exempt user
875
- module KYCExemptionType
876
- extend Lithic::Internal::Type::Enum
389
+ class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
390
+ OrHash =
391
+ T.type_alias do
392
+ T.any(
393
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::BeneficialOwnerIndividual,
394
+ Lithic::Internal::AnyHash
395
+ )
396
+ end
397
+
398
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
399
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
400
+ sig { returns(Lithic::Address) }
401
+ attr_reader :address
402
+
403
+ sig { params(address: Lithic::Address::OrHash).void }
404
+ attr_writer :address
405
+
406
+ # Individual's date of birth, as an RFC 3339 date.
407
+ sig { returns(String) }
408
+ attr_accessor :dob
409
+
410
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
411
+ # customer email address may be used to communicate dispute status and resolution.
412
+ sig { returns(String) }
413
+ attr_accessor :email
414
+
415
+ # Individual's first name, as it appears on government-issued identity documents.
416
+ sig { returns(String) }
417
+ attr_accessor :first_name
418
+
419
+ # Government-issued identification number (required for identity verification and
420
+ # compliance with banking regulations). Social Security Numbers (SSN) and
421
+ # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
422
+ # entered as full nine-digits, with or without hyphens
423
+ sig { returns(String) }
424
+ attr_accessor :government_id
425
+
426
+ # Individual's last name, as it appears on government-issued identity documents.
427
+ sig { returns(String) }
428
+ attr_accessor :last_name
429
+
430
+ # Individual's phone number, entered in E.164 format.
431
+ sig { returns(T.nilable(String)) }
432
+ attr_reader :phone_number
433
+
434
+ sig { params(phone_number: String).void }
435
+ attr_writer :phone_number
436
+
437
+ # Individuals associated with a KYB application. Phone number is optional.
438
+ sig do
439
+ params(
440
+ address: Lithic::Address::OrHash,
441
+ dob: String,
442
+ email: String,
443
+ first_name: String,
444
+ government_id: String,
445
+ last_name: String,
446
+ phone_number: String
447
+ ).returns(T.attached_class)
448
+ end
449
+ def self.new(
450
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
451
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
452
+ address:,
453
+ # Individual's date of birth, as an RFC 3339 date.
454
+ dob:,
455
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
456
+ # customer email address may be used to communicate dispute status and resolution.
457
+ email:,
458
+ # Individual's first name, as it appears on government-issued identity documents.
459
+ first_name:,
460
+ # Government-issued identification number (required for identity verification and
461
+ # compliance with banking regulations). Social Security Numbers (SSN) and
462
+ # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
463
+ # entered as full nine-digits, with or without hyphens
464
+ government_id:,
465
+ # Individual's last name, as it appears on government-issued identity documents.
466
+ last_name:,
467
+ # Individual's phone number, entered in E.164 format.
468
+ phone_number: nil
469
+ )
470
+ end
471
+
472
+ sig do
473
+ override.returns(
474
+ {
475
+ address: Lithic::Address,
476
+ dob: String,
477
+ email: String,
478
+ first_name: String,
479
+ government_id: String,
480
+ last_name: String,
481
+ phone_number: String
482
+ }
483
+ )
484
+ end
485
+ def to_hash
486
+ end
487
+ end
877
488
 
878
- TaggedSymbol =
879
- T.type_alias do
880
- T.all(Symbol, Lithic::AccountHolderCreateParams::KYCExemptionType)
489
+ class ControlPerson < Lithic::Internal::Type::BaseModel
490
+ OrHash =
491
+ T.type_alias do
492
+ T.any(
493
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::ControlPerson,
494
+ Lithic::Internal::AnyHash
495
+ )
496
+ end
497
+
498
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
499
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
500
+ sig { returns(Lithic::Address) }
501
+ attr_reader :address
502
+
503
+ sig { params(address: Lithic::Address::OrHash).void }
504
+ attr_writer :address
505
+
506
+ # Individual's date of birth, as an RFC 3339 date.
507
+ sig { returns(String) }
508
+ attr_accessor :dob
509
+
510
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
511
+ # customer email address may be used to communicate dispute status and resolution.
512
+ sig { returns(String) }
513
+ attr_accessor :email
514
+
515
+ # Individual's first name, as it appears on government-issued identity documents.
516
+ sig { returns(String) }
517
+ attr_accessor :first_name
518
+
519
+ # Government-issued identification number (required for identity verification and
520
+ # compliance with banking regulations). Social Security Numbers (SSN) and
521
+ # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
522
+ # entered as full nine-digits, with or without hyphens
523
+ sig { returns(String) }
524
+ attr_accessor :government_id
525
+
526
+ # Individual's last name, as it appears on government-issued identity documents.
527
+ sig { returns(String) }
528
+ attr_accessor :last_name
529
+
530
+ # Individual's phone number, entered in E.164 format.
531
+ sig { returns(T.nilable(String)) }
532
+ attr_reader :phone_number
533
+
534
+ sig { params(phone_number: String).void }
535
+ attr_writer :phone_number
536
+
537
+ # An individual with significant responsibility for managing the legal entity
538
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
539
+ # Officer, Managing Member, General Partner, President, Vice President, or
540
+ # Treasurer). This can be an executive, or someone who will have program-wide
541
+ # access to the cards that Lithic will provide. In some cases, this individual
542
+ # could also be a beneficial owner listed above. See
543
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
544
+ # (Section II) for more background.
545
+ sig do
546
+ params(
547
+ address: Lithic::Address::OrHash,
548
+ dob: String,
549
+ email: String,
550
+ first_name: String,
551
+ government_id: String,
552
+ last_name: String,
553
+ phone_number: String
554
+ ).returns(T.attached_class)
555
+ end
556
+ def self.new(
557
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
558
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
559
+ address:,
560
+ # Individual's date of birth, as an RFC 3339 date.
561
+ dob:,
562
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
563
+ # customer email address may be used to communicate dispute status and resolution.
564
+ email:,
565
+ # Individual's first name, as it appears on government-issued identity documents.
566
+ first_name:,
567
+ # Government-issued identification number (required for identity verification and
568
+ # compliance with banking regulations). Social Security Numbers (SSN) and
569
+ # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
570
+ # entered as full nine-digits, with or without hyphens
571
+ government_id:,
572
+ # Individual's last name, as it appears on government-issued identity documents.
573
+ last_name:,
574
+ # Individual's phone number, entered in E.164 format.
575
+ phone_number: nil
576
+ )
577
+ end
578
+
579
+ sig do
580
+ override.returns(
581
+ {
582
+ address: Lithic::Address,
583
+ dob: String,
584
+ email: String,
585
+ first_name: String,
586
+ government_id: String,
587
+ last_name: String,
588
+ phone_number: String
589
+ }
590
+ )
591
+ end
592
+ def to_hash
593
+ end
881
594
  end
882
- OrSymbol = T.type_alias { T.any(Symbol, String) }
883
595
 
884
- AUTHORIZED_USER =
885
- T.let(
886
- :AUTHORIZED_USER,
887
- Lithic::AccountHolderCreateParams::KYCExemptionType::TaggedSymbol
888
- )
889
- PREPAID_CARD_USER =
890
- T.let(
891
- :PREPAID_CARD_USER,
892
- Lithic::AccountHolderCreateParams::KYCExemptionType::TaggedSymbol
893
- )
596
+ # Specifies the type of KYB workflow to run.
597
+ module Workflow
598
+ extend Lithic::Internal::Type::Enum
599
+
600
+ TaggedSymbol =
601
+ T.type_alias do
602
+ T.all(
603
+ Symbol,
604
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow
605
+ )
606
+ end
607
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
608
+
609
+ KYB_DELEGATED =
610
+ T.let(
611
+ :KYB_DELEGATED,
612
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::TaggedSymbol
613
+ )
614
+
615
+ sig do
616
+ override.returns(
617
+ T::Array[
618
+ Lithic::AccountHolderCreateParams::Body::KYBDelegated::Workflow::TaggedSymbol
619
+ ]
620
+ )
621
+ end
622
+ def self.values
623
+ end
624
+ end
625
+ end
894
626
 
895
627
  sig do
896
628
  override.returns(
897
- T::Array[
898
- Lithic::AccountHolderCreateParams::KYCExemptionType::TaggedSymbol
899
- ]
629
+ T::Array[Lithic::AccountHolderCreateParams::Body::Variants]
900
630
  )
901
631
  end
902
- def self.values
632
+ def self.variants
903
633
  end
904
634
  end
905
635
  end