lithic 0.1.0 → 0.2.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +36 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/errors.rb +15 -0
  6. data/lib/lithic/models/account_holder_created_webhook_event.rb +75 -0
  7. data/lib/lithic/models/account_holder_document_updated_webhook_event.rb +191 -0
  8. data/lib/lithic/models/account_holder_updated_webhook_event.rb +702 -0
  9. data/lib/lithic/models/account_holder_verification_webhook_event.rb +69 -0
  10. data/lib/lithic/models/asa_request_webhook_event.rb +1010 -0
  11. data/lib/lithic/models/auth_rules_backtest_report_created_webhook_event.rb +16 -0
  12. data/lib/lithic/models/balance_updated_webhook_event.rb +23 -0
  13. data/lib/lithic/models/book_transfer_transaction_created_webhook_event.rb +18 -0
  14. data/lib/lithic/models/book_transfer_transaction_updated_webhook_event.rb +18 -0
  15. data/lib/lithic/models/card_converted_webhook_event.rb +24 -0
  16. data/lib/lithic/models/card_created_webhook_event.rb +32 -0
  17. data/lib/lithic/models/card_reissued_webhook_event.rb +24 -0
  18. data/lib/lithic/models/card_renewed_webhook_event.rb +56 -0
  19. data/lib/lithic/models/card_shipped_webhook_event.rb +70 -0
  20. data/lib/lithic/models/card_transaction_enhanced_data_created_webhook_event.rb +16 -0
  21. data/lib/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rb +16 -0
  22. data/lib/lithic/models/card_transaction_updated_webhook_event.rb +16 -0
  23. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +253 -0
  24. data/lib/lithic/models/digital_wallet_tokenization_result_webhook_event.rb +145 -0
  25. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  26. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  27. data/lib/lithic/models/digital_wallet_tokenization_updated_webhook_event.rb +47 -0
  28. data/lib/lithic/models/dispute_evidence_upload_failed_webhook_event.rb +18 -0
  29. data/lib/lithic/models/dispute_transaction_created_webhook_event.rb +18 -0
  30. data/lib/lithic/models/dispute_transaction_updated_webhook_event.rb +18 -0
  31. data/lib/lithic/models/dispute_updated_webhook_event.rb +18 -0
  32. data/lib/lithic/models/external_bank_account_created_webhook_event.rb +16 -0
  33. data/lib/lithic/models/external_bank_account_updated_webhook_event.rb +16 -0
  34. data/lib/lithic/models/external_payment_created_webhook_event.rb +16 -0
  35. data/lib/lithic/models/external_payment_updated_webhook_event.rb +16 -0
  36. data/lib/lithic/models/financial_account_created_webhook_event.rb +16 -0
  37. data/lib/lithic/models/financial_account_updated_webhook_event.rb +16 -0
  38. data/lib/lithic/models/funding_event_created_webhook_event.rb +16 -0
  39. data/lib/lithic/models/internal_transaction_created_webhook_event.rb +16 -0
  40. data/lib/lithic/models/internal_transaction_updated_webhook_event.rb +16 -0
  41. data/lib/lithic/models/loan_tape_created_webhook_event.rb +16 -0
  42. data/lib/lithic/models/loan_tape_updated_webhook_event.rb +16 -0
  43. data/lib/lithic/models/management_operation_created_webhook_event.rb +16 -0
  44. data/lib/lithic/models/management_operation_updated_webhook_event.rb +16 -0
  45. data/lib/lithic/models/network_total_created_webhook_event.rb +16 -0
  46. data/lib/lithic/models/network_total_updated_webhook_event.rb +16 -0
  47. data/lib/lithic/models/parsed_webhook_event.rb +818 -0
  48. data/lib/lithic/models/payment_transaction_created_webhook_event.rb +18 -0
  49. data/lib/lithic/models/payment_transaction_updated_webhook_event.rb +18 -0
  50. data/lib/lithic/models/settlement_report_updated_webhook_event.rb +16 -0
  51. data/lib/lithic/models/statements_created_webhook_event.rb +16 -0
  52. data/lib/lithic/models/three_ds_authentication_challenge_webhook_event.rb +89 -0
  53. data/lib/lithic/models/three_ds_authentication_created_webhook_event.rb +18 -0
  54. data/lib/lithic/models/three_ds_authentication_updated_webhook_event.rb +18 -0
  55. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +249 -0
  56. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +159 -0
  57. data/lib/lithic/models/tokenization_result_webhook_event.rb +141 -0
  58. data/lib/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  59. data/lib/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  60. data/lib/lithic/models/tokenization_updated_webhook_event.rb +47 -0
  61. data/lib/lithic/models/webhook_parsed_params.rb +14 -0
  62. data/lib/lithic/models.rb +120 -0
  63. data/lib/lithic/resources/webhooks.rb +87 -0
  64. data/lib/lithic/version.rb +1 -1
  65. data/lib/lithic.rb +74 -17
  66. data/rbi/lithic/client.rbi +3 -0
  67. data/rbi/lithic/models/account_holder_created_webhook_event.rbi +149 -0
  68. data/rbi/lithic/models/account_holder_document_updated_webhook_event.rbi +479 -0
  69. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +1274 -0
  70. data/rbi/lithic/models/account_holder_verification_webhook_event.rbi +143 -0
  71. data/rbi/lithic/models/asa_request_webhook_event.rbi +2229 -0
  72. data/rbi/lithic/models/auth_rules_backtest_report_created_webhook_event.rbi +30 -0
  73. data/rbi/lithic/models/balance_updated_webhook_event.rbi +43 -0
  74. data/rbi/lithic/models/book_transfer_transaction_created_webhook_event.rbi +31 -0
  75. data/rbi/lithic/models/book_transfer_transaction_updated_webhook_event.rbi +31 -0
  76. data/rbi/lithic/models/card_converted_webhook_event.rbi +35 -0
  77. data/rbi/lithic/models/card_created_webhook_event.rbi +53 -0
  78. data/rbi/lithic/models/card_reissued_webhook_event.rbi +38 -0
  79. data/rbi/lithic/models/card_renewed_webhook_event.rbi +92 -0
  80. data/rbi/lithic/models/card_shipped_webhook_event.rbi +150 -0
  81. data/rbi/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbi +30 -0
  82. data/rbi/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbi +30 -0
  83. data/rbi/lithic/models/card_transaction_updated_webhook_event.rbi +30 -0
  84. data/rbi/lithic/models/digital_wallet_token_metadata.rbi +2 -2
  85. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +548 -0
  86. data/rbi/lithic/models/digital_wallet_tokenization_result_webhook_event.rbi +295 -0
  87. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  88. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  89. data/rbi/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbi +73 -0
  90. data/rbi/lithic/models/dispute_evidence_upload_failed_webhook_event.rbi +31 -0
  91. data/rbi/lithic/models/dispute_transaction_created_webhook_event.rbi +31 -0
  92. data/rbi/lithic/models/dispute_transaction_updated_webhook_event.rbi +31 -0
  93. data/rbi/lithic/models/dispute_updated_webhook_event.rbi +28 -0
  94. data/rbi/lithic/models/external_bank_account_created_webhook_event.rbi +30 -0
  95. data/rbi/lithic/models/external_bank_account_updated_webhook_event.rbi +30 -0
  96. data/rbi/lithic/models/external_payment_created_webhook_event.rbi +30 -0
  97. data/rbi/lithic/models/external_payment_updated_webhook_event.rbi +30 -0
  98. data/rbi/lithic/models/financial_account_created_webhook_event.rbi +30 -0
  99. data/rbi/lithic/models/financial_account_updated_webhook_event.rbi +30 -0
  100. data/rbi/lithic/models/funding_event_created_webhook_event.rbi +30 -0
  101. data/rbi/lithic/models/internal_transaction.rbi +15 -10
  102. data/rbi/lithic/models/internal_transaction_created_webhook_event.rbi +30 -0
  103. data/rbi/lithic/models/internal_transaction_updated_webhook_event.rbi +30 -0
  104. data/rbi/lithic/models/loan_tape_created_webhook_event.rbi +27 -0
  105. data/rbi/lithic/models/loan_tape_updated_webhook_event.rbi +27 -0
  106. data/rbi/lithic/models/management_operation_created_webhook_event.rbi +30 -0
  107. data/rbi/lithic/models/management_operation_updated_webhook_event.rbi +30 -0
  108. data/rbi/lithic/models/network_total_created_webhook_event.rbi +30 -0
  109. data/rbi/lithic/models/network_total_updated_webhook_event.rbi +30 -0
  110. data/rbi/lithic/models/parsed_webhook_event.rbi +1310 -0
  111. data/rbi/lithic/models/payment_transaction_created_webhook_event.rbi +31 -0
  112. data/rbi/lithic/models/payment_transaction_updated_webhook_event.rbi +31 -0
  113. data/rbi/lithic/models/settlement_report_updated_webhook_event.rbi +30 -0
  114. data/rbi/lithic/models/statements_created_webhook_event.rbi +30 -0
  115. data/rbi/lithic/models/three_ds_authentication_challenge_webhook_event.rbi +175 -0
  116. data/rbi/lithic/models/three_ds_authentication_created_webhook_event.rbi +31 -0
  117. data/rbi/lithic/models/three_ds_authentication_updated_webhook_event.rbi +31 -0
  118. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +548 -0
  119. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +333 -0
  120. data/rbi/lithic/models/tokenization_result_webhook_event.rbi +295 -0
  121. data/rbi/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  122. data/rbi/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  123. data/rbi/lithic/models/tokenization_updated_webhook_event.rbi +73 -0
  124. data/rbi/lithic/models/webhook_parsed_params.rbi +27 -0
  125. data/rbi/lithic/models.rbi +155 -0
  126. data/rbi/lithic/resources/webhooks.rbi +158 -0
  127. data/sig/lithic/client.rbs +2 -0
  128. data/sig/lithic/models/account_holder_created_webhook_event.rbs +77 -0
  129. data/sig/lithic/models/account_holder_document_updated_webhook_event.rbs +219 -0
  130. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +587 -0
  131. data/sig/lithic/models/account_holder_verification_webhook_event.rbs +69 -0
  132. data/sig/lithic/models/asa_request_webhook_event.rbs +881 -0
  133. data/sig/lithic/models/auth_rules_backtest_report_created_webhook_event.rbs +20 -0
  134. data/sig/lithic/models/balance_updated_webhook_event.rbs +25 -0
  135. data/sig/lithic/models/book_transfer_transaction_created_webhook_event.rbs +20 -0
  136. data/sig/lithic/models/book_transfer_transaction_updated_webhook_event.rbs +20 -0
  137. data/sig/lithic/models/card_converted_webhook_event.rbs +19 -0
  138. data/sig/lithic/models/card_created_webhook_event.rbs +30 -0
  139. data/sig/lithic/models/card_reissued_webhook_event.rbs +21 -0
  140. data/sig/lithic/models/card_renewed_webhook_event.rbs +55 -0
  141. data/sig/lithic/models/card_shipped_webhook_event.rbs +71 -0
  142. data/sig/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbs +20 -0
  143. data/sig/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbs +20 -0
  144. data/sig/lithic/models/card_transaction_updated_webhook_event.rbs +18 -0
  145. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +223 -0
  146. data/sig/lithic/models/digital_wallet_tokenization_result_webhook_event.rbs +133 -0
  147. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  148. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  149. data/sig/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbs +40 -0
  150. data/sig/lithic/models/dispute_evidence_upload_failed_webhook_event.rbs +18 -0
  151. data/sig/lithic/models/dispute_transaction_created_webhook_event.rbs +18 -0
  152. data/sig/lithic/models/dispute_transaction_updated_webhook_event.rbs +18 -0
  153. data/sig/lithic/models/dispute_updated_webhook_event.rbs +15 -0
  154. data/sig/lithic/models/external_bank_account_created_webhook_event.rbs +18 -0
  155. data/sig/lithic/models/external_bank_account_updated_webhook_event.rbs +18 -0
  156. data/sig/lithic/models/external_payment_created_webhook_event.rbs +18 -0
  157. data/sig/lithic/models/external_payment_updated_webhook_event.rbs +18 -0
  158. data/sig/lithic/models/financial_account_created_webhook_event.rbs +18 -0
  159. data/sig/lithic/models/financial_account_updated_webhook_event.rbs +18 -0
  160. data/sig/lithic/models/funding_event_created_webhook_event.rbs +16 -0
  161. data/sig/lithic/models/internal_transaction_created_webhook_event.rbs +18 -0
  162. data/sig/lithic/models/internal_transaction_updated_webhook_event.rbs +18 -0
  163. data/sig/lithic/models/loan_tape_created_webhook_event.rbs +15 -0
  164. data/sig/lithic/models/loan_tape_updated_webhook_event.rbs +15 -0
  165. data/sig/lithic/models/management_operation_created_webhook_event.rbs +18 -0
  166. data/sig/lithic/models/management_operation_updated_webhook_event.rbs +18 -0
  167. data/sig/lithic/models/network_total_created_webhook_event.rbs +16 -0
  168. data/sig/lithic/models/network_total_updated_webhook_event.rbs +16 -0
  169. data/sig/lithic/models/parsed_webhook_event.rbs +641 -0
  170. data/sig/lithic/models/payment_transaction_created_webhook_event.rbs +18 -0
  171. data/sig/lithic/models/payment_transaction_updated_webhook_event.rbs +18 -0
  172. data/sig/lithic/models/settlement_report_updated_webhook_event.rbs +18 -0
  173. data/sig/lithic/models/statements_created_webhook_event.rbs +16 -0
  174. data/sig/lithic/models/three_ds_authentication_challenge_webhook_event.rbs +72 -0
  175. data/sig/lithic/models/three_ds_authentication_created_webhook_event.rbs +18 -0
  176. data/sig/lithic/models/three_ds_authentication_updated_webhook_event.rbs +18 -0
  177. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +223 -0
  178. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +134 -0
  179. data/sig/lithic/models/tokenization_result_webhook_event.rbs +133 -0
  180. data/sig/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  181. data/sig/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  182. data/sig/lithic/models/tokenization_updated_webhook_event.rbs +40 -0
  183. data/sig/lithic/models/webhook_parsed_params.rbs +15 -0
  184. data/sig/lithic/models.rbs +112 -0
  185. data/sig/lithic/resources/webhooks.rbs +135 -0
  186. metadata +173 -2
@@ -0,0 +1,702 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # KYB payload for an updated account holder.
6
+ module AccountHolderUpdatedWebhookEvent
7
+ extend Lithic::Internal::Type::Union
8
+
9
+ # KYB payload for an updated account holder.
10
+ variant -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload }
11
+
12
+ # KYC payload for an updated account holder.
13
+ variant -> { Lithic::AccountHolderUpdatedWebhookEvent::KYCPayload }
14
+
15
+ # Legacy payload for an updated account holder.
16
+ variant -> { Lithic::AccountHolderUpdatedWebhookEvent::LegacyPayload }
17
+
18
+ class KYBPayload < Lithic::Internal::Type::BaseModel
19
+ # @!attribute token
20
+ # The token of the account_holder that was created.
21
+ #
22
+ # @return [String]
23
+ required :token, String
24
+
25
+ # @!attribute update_request
26
+ # Original request to update the account holder.
27
+ #
28
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest]
29
+ required :update_request, -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest }
30
+
31
+ # @!attribute event_type
32
+ # The type of event that occurred.
33
+ #
34
+ # @return [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::EventType, nil]
35
+ optional :event_type, enum: -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::EventType }
36
+
37
+ # @!attribute external_id
38
+ # A user provided id that can be used to link an account holder with an external
39
+ # system
40
+ #
41
+ # @return [String, nil]
42
+ optional :external_id, String
43
+
44
+ # @!attribute nature_of_business
45
+ # Short description of the company's line of business (i.e., what does the company
46
+ # do?).
47
+ #
48
+ # @return [String, nil]
49
+ optional :nature_of_business, String
50
+
51
+ # @!attribute website_url
52
+ # Company website URL.
53
+ #
54
+ # @return [String, nil]
55
+ optional :website_url, String
56
+
57
+ # @!method initialize(token:, update_request:, event_type: nil, external_id: nil, nature_of_business: nil, website_url: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload} for more details.
60
+ #
61
+ # KYB payload for an updated account holder.
62
+ #
63
+ # @param token [String] The token of the account_holder that was created.
64
+ #
65
+ # @param update_request [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest] Original request to update the account holder.
66
+ #
67
+ # @param event_type [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::EventType] The type of event that occurred.
68
+ #
69
+ # @param external_id [String] A user provided id that can be used to link an account holder with an external s
70
+ #
71
+ # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
72
+ #
73
+ # @param website_url [String] Company website URL.
74
+
75
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload#update_request
76
+ class UpdateRequest < Lithic::Internal::Type::BaseModel
77
+ # @!attribute beneficial_owner_entities
78
+ # @deprecated
79
+ #
80
+ # Deprecated.
81
+ #
82
+ # @return [Array<Lithic::Models::KYBBusinessEntity>, nil]
83
+ optional :beneficial_owner_entities, -> { Lithic::Internal::Type::ArrayOf[Lithic::KYBBusinessEntity] }
84
+
85
+ # @!attribute beneficial_owner_individuals
86
+ # You must submit a list of all direct and indirect individuals with 25% or more
87
+ # ownership in the company. A maximum of 4 beneficial owners can be submitted. If
88
+ # no individual owns 25% of the company you do not need to send beneficial owner
89
+ # information. See
90
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
91
+ # (Section I) for more background on individuals that should be included.
92
+ #
93
+ # @return [Array<Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual>, nil]
94
+ optional :beneficial_owner_individuals,
95
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual] }
96
+
97
+ # @!attribute business_entity
98
+ # Information for business for which the account is being opened and KYB is being
99
+ # run.
100
+ #
101
+ # @return [Lithic::Models::KYBBusinessEntity, nil]
102
+ optional :business_entity, -> { Lithic::KYBBusinessEntity }
103
+
104
+ # @!attribute control_person
105
+ # An individual with significant responsibility for managing the legal entity
106
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
107
+ # Officer, Managing Member, General Partner, President, Vice President, or
108
+ # Treasurer). This can be an executive, or someone who will have program-wide
109
+ # access to the cards that Lithic will provide. In some cases, this individual
110
+ # could also be a beneficial owner listed above. See
111
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
112
+ # (Section II) for more background.
113
+ #
114
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson, nil]
115
+ optional :control_person,
116
+ -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson }
117
+
118
+ # @!method initialize(beneficial_owner_entities: nil, beneficial_owner_individuals: nil, business_entity: nil, control_person: nil)
119
+ # Some parameter documentations has been truncated, see
120
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest}
121
+ # for more details.
122
+ #
123
+ # Original request to update the account holder.
124
+ #
125
+ # @param beneficial_owner_entities [Array<Lithic::Models::KYBBusinessEntity>] Deprecated.
126
+ #
127
+ # @param beneficial_owner_individuals [Array<Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual>] You must submit a list of all direct and indirect individuals with 25% or more o
128
+ #
129
+ # @param business_entity [Lithic::Models::KYBBusinessEntity] Information for business for which the account is being opened and KYB is being
130
+ #
131
+ # @param control_person [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g
132
+
133
+ class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
134
+ # @!attribute address
135
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
136
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
137
+ #
138
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual::Address, nil]
139
+ optional :address,
140
+ -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual::Address }
141
+
142
+ # @!attribute dob
143
+ # Individual's date of birth, as an RFC 3339 date.
144
+ #
145
+ # @return [String, nil]
146
+ optional :dob, String
147
+
148
+ # @!attribute email
149
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
150
+ # customer email address may be used to communicate dispute status and resolution.
151
+ #
152
+ # @return [String, nil]
153
+ optional :email, String
154
+
155
+ # @!attribute first_name
156
+ # Individual's first name, as it appears on government-issued identity documents.
157
+ #
158
+ # @return [String, nil]
159
+ optional :first_name, String
160
+
161
+ # @!attribute last_name
162
+ # Individual's last name, as it appears on government-issued identity documents.
163
+ #
164
+ # @return [String, nil]
165
+ optional :last_name, String
166
+
167
+ # @!attribute phone_number
168
+ # Individual's phone number, entered in E.164 format.
169
+ #
170
+ # @return [String, nil]
171
+ optional :phone_number, String
172
+
173
+ # @!method initialize(address: nil, dob: nil, email: nil, first_name: nil, last_name: nil, phone_number: nil)
174
+ # Some parameter documentations has been truncated, see
175
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual}
176
+ # for more details.
177
+ #
178
+ # @param address [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual::Address] Individual's current address - PO boxes, UPS drops, and FedEx drops are not acce
179
+ #
180
+ # @param dob [String] Individual's date of birth, as an RFC 3339 date.
181
+ #
182
+ # @param email [String] Individual's email address. If utilizing Lithic for chargeback processing, this
183
+ #
184
+ # @param first_name [String] Individual's first name, as it appears on government-issued identity documents.
185
+ #
186
+ # @param last_name [String] Individual's last name, as it appears on government-issued identity documents.
187
+ #
188
+ # @param phone_number [String] Individual's phone number, entered in E.164 format.
189
+
190
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual#address
191
+ class Address < Lithic::Internal::Type::BaseModel
192
+ # @!attribute address1
193
+ # Valid deliverable address (no PO boxes).
194
+ #
195
+ # @return [String]
196
+ required :address1, String
197
+
198
+ # @!attribute city
199
+ # Name of city.
200
+ #
201
+ # @return [String]
202
+ required :city, String
203
+
204
+ # @!attribute country
205
+ # Valid country code. Only USA is currently supported, entered in uppercase ISO
206
+ # 3166-1 alpha-3 three-character format.
207
+ #
208
+ # @return [String]
209
+ required :country, String
210
+
211
+ # @!attribute postal_code
212
+ # Valid postal code. Only USA ZIP codes are currently supported, entered as a
213
+ # five-digit ZIP or nine-digit ZIP+4.
214
+ #
215
+ # @return [String]
216
+ required :postal_code, String
217
+
218
+ # @!attribute state
219
+ # Valid state code. Only USA state codes are currently supported, entered in
220
+ # uppercase ISO 3166-2 two-character format.
221
+ #
222
+ # @return [String]
223
+ required :state, String
224
+
225
+ # @!attribute address2
226
+ # Unit or apartment number (if applicable).
227
+ #
228
+ # @return [String, nil]
229
+ optional :address2, String
230
+
231
+ # @!method initialize(address1:, city:, country:, postal_code:, state:, address2: nil)
232
+ # Some parameter documentations has been truncated, see
233
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::BeneficialOwnerIndividual::Address}
234
+ # for more details.
235
+ #
236
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
237
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
238
+ #
239
+ # @param address1 [String] Valid deliverable address (no PO boxes).
240
+ #
241
+ # @param city [String] Name of city.
242
+ #
243
+ # @param country [String] Valid country code. Only USA is currently supported, entered in uppercase ISO 31
244
+ #
245
+ # @param postal_code [String] Valid postal code. Only USA ZIP codes are currently supported, entered as a five
246
+ #
247
+ # @param state [String] Valid state code. Only USA state codes are currently supported, entered in upper
248
+ #
249
+ # @param address2 [String] Unit or apartment number (if applicable).
250
+ end
251
+ end
252
+
253
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest#control_person
254
+ class ControlPerson < Lithic::Internal::Type::BaseModel
255
+ # @!attribute address
256
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
257
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
258
+ #
259
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson::Address, nil]
260
+ optional :address,
261
+ -> { Lithic::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson::Address }
262
+
263
+ # @!attribute dob
264
+ # Individual's date of birth, as an RFC 3339 date.
265
+ #
266
+ # @return [String, nil]
267
+ optional :dob, String
268
+
269
+ # @!attribute email
270
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
271
+ # customer email address may be used to communicate dispute status and resolution.
272
+ #
273
+ # @return [String, nil]
274
+ optional :email, String
275
+
276
+ # @!attribute first_name
277
+ # Individual's first name, as it appears on government-issued identity documents.
278
+ #
279
+ # @return [String, nil]
280
+ optional :first_name, String
281
+
282
+ # @!attribute last_name
283
+ # Individual's last name, as it appears on government-issued identity documents.
284
+ #
285
+ # @return [String, nil]
286
+ optional :last_name, String
287
+
288
+ # @!attribute phone_number
289
+ # Individual's phone number, entered in E.164 format.
290
+ #
291
+ # @return [String, nil]
292
+ optional :phone_number, String
293
+
294
+ # @!method initialize(address: nil, dob: nil, email: nil, first_name: nil, last_name: nil, phone_number: nil)
295
+ # Some parameter documentations has been truncated, see
296
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson}
297
+ # for more details.
298
+ #
299
+ # An individual with significant responsibility for managing the legal entity
300
+ # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating
301
+ # Officer, Managing Member, General Partner, President, Vice President, or
302
+ # Treasurer). This can be an executive, or someone who will have program-wide
303
+ # access to the cards that Lithic will provide. In some cases, this individual
304
+ # could also be a beneficial owner listed above. See
305
+ # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
306
+ # (Section II) for more background.
307
+ #
308
+ # @param address [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson::Address] Individual's current address - PO boxes, UPS drops, and FedEx drops are not acce
309
+ #
310
+ # @param dob [String] Individual's date of birth, as an RFC 3339 date.
311
+ #
312
+ # @param email [String] Individual's email address. If utilizing Lithic for chargeback processing, this
313
+ #
314
+ # @param first_name [String] Individual's first name, as it appears on government-issued identity documents.
315
+ #
316
+ # @param last_name [String] Individual's last name, as it appears on government-issued identity documents.
317
+ #
318
+ # @param phone_number [String] Individual's phone number, entered in E.164 format.
319
+
320
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson#address
321
+ class Address < Lithic::Internal::Type::BaseModel
322
+ # @!attribute address1
323
+ # Valid deliverable address (no PO boxes).
324
+ #
325
+ # @return [String]
326
+ required :address1, String
327
+
328
+ # @!attribute city
329
+ # Name of city.
330
+ #
331
+ # @return [String]
332
+ required :city, String
333
+
334
+ # @!attribute country
335
+ # Valid country code. Only USA is currently supported, entered in uppercase ISO
336
+ # 3166-1 alpha-3 three-character format.
337
+ #
338
+ # @return [String]
339
+ required :country, String
340
+
341
+ # @!attribute postal_code
342
+ # Valid postal code. Only USA ZIP codes are currently supported, entered as a
343
+ # five-digit ZIP or nine-digit ZIP+4.
344
+ #
345
+ # @return [String]
346
+ required :postal_code, String
347
+
348
+ # @!attribute state
349
+ # Valid state code. Only USA state codes are currently supported, entered in
350
+ # uppercase ISO 3166-2 two-character format.
351
+ #
352
+ # @return [String]
353
+ required :state, String
354
+
355
+ # @!attribute address2
356
+ # Unit or apartment number (if applicable).
357
+ #
358
+ # @return [String, nil]
359
+ optional :address2, String
360
+
361
+ # @!method initialize(address1:, city:, country:, postal_code:, state:, address2: nil)
362
+ # Some parameter documentations has been truncated, see
363
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload::UpdateRequest::ControlPerson::Address}
364
+ # for more details.
365
+ #
366
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
367
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
368
+ #
369
+ # @param address1 [String] Valid deliverable address (no PO boxes).
370
+ #
371
+ # @param city [String] Name of city.
372
+ #
373
+ # @param country [String] Valid country code. Only USA is currently supported, entered in uppercase ISO 31
374
+ #
375
+ # @param postal_code [String] Valid postal code. Only USA ZIP codes are currently supported, entered as a five
376
+ #
377
+ # @param state [String] Valid state code. Only USA state codes are currently supported, entered in upper
378
+ #
379
+ # @param address2 [String] Unit or apartment number (if applicable).
380
+ end
381
+ end
382
+ end
383
+
384
+ # The type of event that occurred.
385
+ #
386
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload#event_type
387
+ module EventType
388
+ extend Lithic::Internal::Type::Enum
389
+
390
+ ACCOUNT_HOLDER_UPDATED = :"account_holder.updated"
391
+
392
+ # @!method self.values
393
+ # @return [Array<Symbol>]
394
+ end
395
+ end
396
+
397
+ class KYCPayload < Lithic::Internal::Type::BaseModel
398
+ # @!attribute token
399
+ # The token of the account_holder that was created.
400
+ #
401
+ # @return [String]
402
+ required :token, String
403
+
404
+ # @!attribute update_request
405
+ # Original request to update the account holder.
406
+ #
407
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest]
408
+ required :update_request, -> { Lithic::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest }
409
+
410
+ # @!attribute event_type
411
+ # The type of event that occurred.
412
+ #
413
+ # @return [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::EventType, nil]
414
+ optional :event_type, enum: -> { Lithic::AccountHolderUpdatedWebhookEvent::KYCPayload::EventType }
415
+
416
+ # @!attribute external_id
417
+ # A user provided id that can be used to link an account holder with an external
418
+ # system
419
+ #
420
+ # @return [String, nil]
421
+ optional :external_id, String
422
+
423
+ # @!method initialize(token:, update_request:, event_type: nil, external_id: nil)
424
+ # Some parameter documentations has been truncated, see
425
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload} for more details.
426
+ #
427
+ # KYC payload for an updated account holder.
428
+ #
429
+ # @param token [String] The token of the account_holder that was created.
430
+ #
431
+ # @param update_request [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest] Original request to update the account holder.
432
+ #
433
+ # @param event_type [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::EventType] The type of event that occurred.
434
+ #
435
+ # @param external_id [String] A user provided id that can be used to link an account holder with an external s
436
+
437
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload#update_request
438
+ class UpdateRequest < Lithic::Internal::Type::BaseModel
439
+ # @!attribute individual
440
+ # Information on the individual for whom the account is being opened and KYC is
441
+ # being run.
442
+ #
443
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual, nil]
444
+ optional :individual,
445
+ -> { Lithic::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual }
446
+
447
+ # @!method initialize(individual: nil)
448
+ # Some parameter documentations has been truncated, see
449
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest}
450
+ # for more details.
451
+ #
452
+ # Original request to update the account holder.
453
+ #
454
+ # @param individual [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual] Information on the individual for whom the account is being opened and KYC is be
455
+
456
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest#individual
457
+ class Individual < Lithic::Internal::Type::BaseModel
458
+ # @!attribute address
459
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
460
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
461
+ #
462
+ # @return [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual::Address, nil]
463
+ optional :address,
464
+ -> { Lithic::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual::Address }
465
+
466
+ # @!attribute dob
467
+ # Individual's date of birth, as an RFC 3339 date.
468
+ #
469
+ # @return [String, nil]
470
+ optional :dob, String
471
+
472
+ # @!attribute email
473
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
474
+ # customer email address may be used to communicate dispute status and resolution.
475
+ #
476
+ # @return [String, nil]
477
+ optional :email, String
478
+
479
+ # @!attribute first_name
480
+ # Individual's first name, as it appears on government-issued identity documents.
481
+ #
482
+ # @return [String, nil]
483
+ optional :first_name, String
484
+
485
+ # @!attribute last_name
486
+ # Individual's last name, as it appears on government-issued identity documents.
487
+ #
488
+ # @return [String, nil]
489
+ optional :last_name, String
490
+
491
+ # @!attribute phone_number
492
+ # Individual's phone number, entered in E.164 format.
493
+ #
494
+ # @return [String, nil]
495
+ optional :phone_number, String
496
+
497
+ # @!method initialize(address: nil, dob: nil, email: nil, first_name: nil, last_name: nil, phone_number: nil)
498
+ # Some parameter documentations has been truncated, see
499
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual}
500
+ # for more details.
501
+ #
502
+ # Information on the individual for whom the account is being opened and KYC is
503
+ # being run.
504
+ #
505
+ # @param address [Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual::Address] Individual's current address - PO boxes, UPS drops, and FedEx drops are not acce
506
+ #
507
+ # @param dob [String] Individual's date of birth, as an RFC 3339 date.
508
+ #
509
+ # @param email [String] Individual's email address. If utilizing Lithic for chargeback processing, this
510
+ #
511
+ # @param first_name [String] Individual's first name, as it appears on government-issued identity documents.
512
+ #
513
+ # @param last_name [String] Individual's last name, as it appears on government-issued identity documents.
514
+ #
515
+ # @param phone_number [String] Individual's phone number, entered in E.164 format.
516
+
517
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual#address
518
+ class Address < Lithic::Internal::Type::BaseModel
519
+ # @!attribute address1
520
+ # Valid deliverable address (no PO boxes).
521
+ #
522
+ # @return [String]
523
+ required :address1, String
524
+
525
+ # @!attribute city
526
+ # Name of city.
527
+ #
528
+ # @return [String]
529
+ required :city, String
530
+
531
+ # @!attribute country
532
+ # Valid country code. Only USA is currently supported, entered in uppercase ISO
533
+ # 3166-1 alpha-3 three-character format.
534
+ #
535
+ # @return [String]
536
+ required :country, String
537
+
538
+ # @!attribute postal_code
539
+ # Valid postal code. Only USA ZIP codes are currently supported, entered as a
540
+ # five-digit ZIP or nine-digit ZIP+4.
541
+ #
542
+ # @return [String]
543
+ required :postal_code, String
544
+
545
+ # @!attribute state
546
+ # Valid state code. Only USA state codes are currently supported, entered in
547
+ # uppercase ISO 3166-2 two-character format.
548
+ #
549
+ # @return [String]
550
+ required :state, String
551
+
552
+ # @!attribute address2
553
+ # Unit or apartment number (if applicable).
554
+ #
555
+ # @return [String, nil]
556
+ optional :address2, String
557
+
558
+ # @!method initialize(address1:, city:, country:, postal_code:, state:, address2: nil)
559
+ # Some parameter documentations has been truncated, see
560
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload::UpdateRequest::Individual::Address}
561
+ # for more details.
562
+ #
563
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
564
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
565
+ #
566
+ # @param address1 [String] Valid deliverable address (no PO boxes).
567
+ #
568
+ # @param city [String] Name of city.
569
+ #
570
+ # @param country [String] Valid country code. Only USA is currently supported, entered in uppercase ISO 31
571
+ #
572
+ # @param postal_code [String] Valid postal code. Only USA ZIP codes are currently supported, entered as a five
573
+ #
574
+ # @param state [String] Valid state code. Only USA state codes are currently supported, entered in upper
575
+ #
576
+ # @param address2 [String] Unit or apartment number (if applicable).
577
+ end
578
+ end
579
+ end
580
+
581
+ # The type of event that occurred.
582
+ #
583
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload#event_type
584
+ module EventType
585
+ extend Lithic::Internal::Type::Enum
586
+
587
+ ACCOUNT_HOLDER_UPDATED = :"account_holder.updated"
588
+
589
+ # @!method self.values
590
+ # @return [Array<Symbol>]
591
+ end
592
+ end
593
+
594
+ class LegacyPayload < Lithic::Internal::Type::BaseModel
595
+ # @!attribute token
596
+ # The token of the account_holder that was created.
597
+ #
598
+ # @return [String]
599
+ required :token, String
600
+
601
+ # @!attribute business_account_token
602
+ # If applicable, represents the business account token associated with the
603
+ # account_holder.
604
+ #
605
+ # @return [String, nil]
606
+ optional :business_account_token, String, nil?: true
607
+
608
+ # @!attribute created
609
+ # When the account_holder updated event was created
610
+ #
611
+ # @return [Time, nil]
612
+ optional :created, Time
613
+
614
+ # @!attribute email
615
+ # If updated, the newly updated email associated with the account_holder otherwise
616
+ # the existing email is provided.
617
+ #
618
+ # @return [String, nil]
619
+ optional :email, String
620
+
621
+ # @!attribute event_type
622
+ # The type of event that occurred.
623
+ #
624
+ # @return [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::LegacyPayload::EventType, nil]
625
+ optional :event_type, enum: -> { Lithic::AccountHolderUpdatedWebhookEvent::LegacyPayload::EventType }
626
+
627
+ # @!attribute external_id
628
+ # If applicable, represents the external_id associated with the account_holder.
629
+ #
630
+ # @return [String, nil]
631
+ optional :external_id, String, nil?: true
632
+
633
+ # @!attribute first_name
634
+ # If applicable, represents the account_holder's first name.
635
+ #
636
+ # @return [String, nil]
637
+ optional :first_name, String
638
+
639
+ # @!attribute last_name
640
+ # If applicable, represents the account_holder's last name.
641
+ #
642
+ # @return [String, nil]
643
+ optional :last_name, String
644
+
645
+ # @!attribute legal_business_name
646
+ # If applicable, represents the account_holder's business name.
647
+ #
648
+ # @return [String, nil]
649
+ optional :legal_business_name, String
650
+
651
+ # @!attribute phone_number
652
+ # If updated, the newly updated phone_number associated with the account_holder
653
+ # otherwise the existing phone_number is provided.
654
+ #
655
+ # @return [String, nil]
656
+ optional :phone_number, String
657
+
658
+ # @!method initialize(token:, business_account_token: nil, created: nil, email: nil, event_type: nil, external_id: nil, first_name: nil, last_name: nil, legal_business_name: nil, phone_number: nil)
659
+ # Some parameter documentations has been truncated, see
660
+ # {Lithic::Models::AccountHolderUpdatedWebhookEvent::LegacyPayload} for more
661
+ # details.
662
+ #
663
+ # Legacy payload for an updated account holder.
664
+ #
665
+ # @param token [String] The token of the account_holder that was created.
666
+ #
667
+ # @param business_account_token [String, nil] If applicable, represents the business account token associated with the account
668
+ #
669
+ # @param created [Time] When the account_holder updated event was created
670
+ #
671
+ # @param email [String] If updated, the newly updated email associated with the account_holder otherwise
672
+ #
673
+ # @param event_type [Symbol, Lithic::Models::AccountHolderUpdatedWebhookEvent::LegacyPayload::EventType] The type of event that occurred.
674
+ #
675
+ # @param external_id [String, nil] If applicable, represents the external_id associated with the account_holder.
676
+ #
677
+ # @param first_name [String] If applicable, represents the account_holder's first name.
678
+ #
679
+ # @param last_name [String] If applicable, represents the account_holder's last name.
680
+ #
681
+ # @param legal_business_name [String] If applicable, represents the account_holder's business name.
682
+ #
683
+ # @param phone_number [String] If updated, the newly updated phone_number associated with the account_holder ot
684
+
685
+ # The type of event that occurred.
686
+ #
687
+ # @see Lithic::Models::AccountHolderUpdatedWebhookEvent::LegacyPayload#event_type
688
+ module EventType
689
+ extend Lithic::Internal::Type::Enum
690
+
691
+ ACCOUNT_HOLDER_UPDATED = :"account_holder.updated"
692
+
693
+ # @!method self.values
694
+ # @return [Array<Symbol>]
695
+ end
696
+ end
697
+
698
+ # @!method self.variants
699
+ # @return [Array(Lithic::Models::AccountHolderUpdatedWebhookEvent::KYBPayload, Lithic::Models::AccountHolderUpdatedWebhookEvent::KYCPayload, Lithic::Models::AccountHolderUpdatedWebhookEvent::LegacyPayload)]
700
+ end
701
+ end
702
+ end