lithic 0.21.0 → 0.22.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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -10
  4. data/lib/lithic/internal/type/union.rb +21 -7
  5. data/lib/lithic/models/account_holder_create_params.rb +4 -2
  6. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +120 -66
  7. data/lib/lithic/models/account_holder_update_params.rb +6 -3
  8. data/lib/lithic/models/account_holder_update_response.rb +156 -86
  9. data/lib/lithic/models/account_holder_updated_webhook_event.rb +120 -66
  10. data/lib/lithic/models/account_holders/account_holder_entity.rb +35 -19
  11. data/lib/lithic/models/account_holders/entity_create_params.rb +39 -21
  12. data/lib/lithic/models/address.rb +33 -19
  13. data/lib/lithic/models/address_update.rb +27 -11
  14. data/lib/lithic/models/auth_rules/auth_rule.rb +55 -27
  15. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +189 -6
  16. data/lib/lithic/models/auth_rules/auth_rule_entities.rb +47 -0
  17. data/lib/lithic/models/auth_rules/auth_rule_entities_response.rb +31 -0
  18. data/lib/lithic/models/auth_rules/auth_rule_entity.rb +150 -0
  19. data/lib/lithic/models/auth_rules/auth_rule_version.rb +3 -6
  20. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +33 -6
  21. data/lib/lithic/models/auth_rules/conditional_attribute.rb +101 -5
  22. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +3 -439
  23. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +7 -0
  24. data/lib/lithic/models/auth_rules/merchant_lock_parameters.rb +11 -1
  25. data/lib/lithic/models/auth_rules/v2_create_params.rb +203 -45
  26. data/lib/lithic/models/auth_rules/v2_draft_params.rb +3 -6
  27. data/lib/lithic/models/auth_rules/v2_list_params.rb +5 -3
  28. data/lib/lithic/models/auth_rules/v2_update_entities_params.rb +39 -0
  29. data/lib/lithic/models/auth_rules/v2_update_params.rb +133 -12
  30. data/lib/lithic/models/card_authorization.rb +11 -1
  31. data/lib/lithic/models/card_create_params.rb +11 -1
  32. data/lib/lithic/models/card_update_params.rb +12 -1
  33. data/lib/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rb +279 -0
  34. data/lib/lithic/models/financial_accounts/installment_plans/statement_list_params.rb +106 -0
  35. data/lib/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rb +42 -0
  36. data/lib/lithic/models/financial_accounts/loan_tape.rb +62 -1
  37. data/lib/lithic/models/kyb.rb +4 -2
  38. data/lib/lithic/models/kyb_business_entity.rb +35 -19
  39. data/lib/lithic/models/kyc.rb +2 -1
  40. data/lib/lithic/models/non_pci_card.rb +11 -1
  41. data/lib/lithic/models/parsed_webhook_event.rb +120 -66
  42. data/lib/lithic/models/payment.rb +2 -1
  43. data/lib/lithic/models/transaction.rb +2 -1
  44. data/lib/lithic/models/transaction_simulate_authorization_params.rb +28 -4
  45. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +11 -1
  46. data/lib/lithic/models/transaction_simulate_return_params.rb +24 -1
  47. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -8
  48. data/lib/lithic/resources/auth_rules/v2.rb +44 -8
  49. data/lib/lithic/resources/cards.rb +6 -2
  50. data/lib/lithic/resources/financial_accounts/installment_plans/statements.rb +107 -0
  51. data/lib/lithic/resources/financial_accounts/installment_plans.rb +4 -0
  52. data/lib/lithic/resources/transactions.rb +17 -4
  53. data/lib/lithic/resources/webhooks.rb +18 -0
  54. data/lib/lithic/version.rb +1 -1
  55. data/lib/lithic.rb +8 -1
  56. data/rbi/lithic/models/account_holder_create_params.rbi +8 -4
  57. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +195 -90
  58. data/rbi/lithic/models/account_holder_update_params.rbi +12 -6
  59. data/rbi/lithic/models/account_holder_update_response.rbi +254 -117
  60. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +195 -90
  61. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +59 -27
  62. data/rbi/lithic/models/account_holders/entity_create_params.rbi +65 -30
  63. data/rbi/lithic/models/address.rbi +57 -29
  64. data/rbi/lithic/models/address_update.rbi +50 -24
  65. data/rbi/lithic/models/auth_rules/auth_rule.rbi +53 -19
  66. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +442 -13
  67. data/rbi/lithic/models/auth_rules/auth_rule_entities.rbi +163 -0
  68. data/rbi/lithic/models/auth_rules/auth_rule_entities_response.rbi +72 -0
  69. data/rbi/lithic/models/auth_rules/auth_rule_entity.rbi +199 -0
  70. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +0 -2
  71. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +67 -9
  72. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +193 -5
  73. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +3 -939
  74. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +14 -0
  75. data/rbi/lithic/models/auth_rules/merchant_lock_parameters.rbi +14 -3
  76. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +325 -50
  77. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +0 -4
  78. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +6 -3
  79. data/rbi/lithic/models/auth_rules/v2_update_entities_params.rbi +68 -0
  80. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +198 -5
  81. data/rbi/lithic/models/card_authorization.rbi +12 -0
  82. data/rbi/lithic/models/card_create_params.rbi +15 -0
  83. data/rbi/lithic/models/card_update_params.rbi +17 -0
  84. data/rbi/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbi +452 -0
  85. data/rbi/lithic/models/financial_accounts/installment_plans/statement_list_params.rbi +191 -0
  86. data/rbi/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbi +66 -0
  87. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +119 -0
  88. data/rbi/lithic/models/kyb.rbi +8 -4
  89. data/rbi/lithic/models/kyb_business_entity.rbi +59 -27
  90. data/rbi/lithic/models/kyc.rbi +4 -2
  91. data/rbi/lithic/models/non_pci_card.rbi +12 -0
  92. data/rbi/lithic/models/parsed_webhook_event.rbi +195 -90
  93. data/rbi/lithic/models/payment.rbi +4 -2
  94. data/rbi/lithic/models/transaction.rbi +4 -2
  95. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +42 -4
  96. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +15 -0
  97. data/rbi/lithic/models/transaction_simulate_return_params.rbi +30 -0
  98. data/rbi/lithic/resources/account_holders/entities.rbi +2 -1
  99. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -8
  100. data/rbi/lithic/resources/auth_rules/v2.rbi +43 -8
  101. data/rbi/lithic/resources/cards.rbi +11 -0
  102. data/rbi/lithic/resources/financial_accounts/installment_plans/statements.rbi +86 -0
  103. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +7 -0
  104. data/rbi/lithic/resources/transactions.rbi +31 -2
  105. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +39 -39
  106. data/sig/lithic/models/account_holder_update_response.rbs +52 -52
  107. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +39 -39
  108. data/sig/lithic/models/account_holders/account_holder_entity.rbs +13 -13
  109. data/sig/lithic/models/account_holders/entity_create_params.rbs +13 -13
  110. data/sig/lithic/models/address.rbs +13 -13
  111. data/sig/lithic/models/address_update.rbs +8 -12
  112. data/sig/lithic/models/auth_rules/auth_rule.rbs +8 -7
  113. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +89 -3
  114. data/sig/lithic/models/auth_rules/auth_rule_entities.rbs +37 -0
  115. data/sig/lithic/models/auth_rules/auth_rule_entities_response.rbs +29 -0
  116. data/sig/lithic/models/auth_rules/auth_rule_entity.rbs +80 -0
  117. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -2
  118. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -0
  119. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +46 -0
  120. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +4 -204
  121. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +2 -0
  122. data/sig/lithic/models/auth_rules/merchant_lock_parameters.rbs +10 -3
  123. data/sig/lithic/models/auth_rules/v2_create_params.rbs +86 -16
  124. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -2
  125. data/sig/lithic/models/auth_rules/v2_update_entities_params.rbs +46 -0
  126. data/sig/lithic/models/auth_rules/v2_update_params.rbs +47 -1
  127. data/sig/lithic/models/card_authorization.rbs +5 -0
  128. data/sig/lithic/models/card_create_params.rbs +7 -0
  129. data/sig/lithic/models/card_update_params.rbs +8 -1
  130. data/sig/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbs +191 -0
  131. data/sig/lithic/models/financial_accounts/installment_plans/statement_list_params.rbs +90 -0
  132. data/sig/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbs +40 -0
  133. data/sig/lithic/models/financial_accounts/loan_tape.rbs +47 -0
  134. data/sig/lithic/models/kyb_business_entity.rbs +13 -13
  135. data/sig/lithic/models/non_pci_card.rbs +5 -0
  136. data/sig/lithic/models/parsed_webhook_event.rbs +39 -39
  137. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +14 -0
  138. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +7 -0
  139. data/sig/lithic/models/transaction_simulate_return_params.rbs +19 -1
  140. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  141. data/sig/lithic/resources/cards.rbs +2 -0
  142. data/sig/lithic/resources/financial_accounts/installment_plans/statements.rbs +30 -0
  143. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +2 -0
  144. data/sig/lithic/resources/transactions.rbs +5 -0
  145. metadata +26 -5
  146. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +0 -20
  147. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +0 -37
  148. data/sig/lithic/models/auth_rules/conditional_block_parameters.rbs +0 -20
@@ -120,6 +120,26 @@ module Lithic
120
120
  end
121
121
  attr_writer :payment_allocation
122
122
 
123
+ # Allocation of payments only, excluding credits
124
+ sig do
125
+ returns(
126
+ T.nilable(
127
+ Lithic::FinancialAccounts::LoanTape::PaymentOnlyAllocation
128
+ )
129
+ )
130
+ end
131
+ attr_reader :payment_only_allocation
132
+
133
+ sig do
134
+ params(
135
+ payment_only_allocation:
136
+ T.nilable(
137
+ Lithic::FinancialAccounts::LoanTape::PaymentOnlyAllocation::OrHash
138
+ )
139
+ ).void
140
+ end
141
+ attr_writer :payment_only_allocation
142
+
123
143
  sig { returns(Lithic::StatementTotals) }
124
144
  attr_reader :period_totals
125
145
 
@@ -188,6 +208,10 @@ module Lithic
188
208
  Lithic::FinancialAccounts::LoanTape::MinimumPaymentBalance::OrHash,
189
209
  payment_allocation:
190
210
  Lithic::FinancialAccounts::LoanTape::PaymentAllocation::OrHash,
211
+ payment_only_allocation:
212
+ T.nilable(
213
+ Lithic::FinancialAccounts::LoanTape::PaymentOnlyAllocation::OrHash
214
+ ),
191
215
  period_totals: Lithic::StatementTotals::OrHash,
192
216
  previous_statement_balance:
193
217
  Lithic::FinancialAccounts::LoanTape::PreviousStatementBalance::OrHash,
@@ -228,6 +252,8 @@ module Lithic
228
252
  interest_details:,
229
253
  minimum_payment_balance:,
230
254
  payment_allocation:,
255
+ # Allocation of payments only, excluding credits
256
+ payment_only_allocation:,
231
257
  period_totals:,
232
258
  previous_statement_balance:,
233
259
  # Balance at the start of the day
@@ -266,6 +292,10 @@ module Lithic
266
292
  Lithic::FinancialAccounts::LoanTape::MinimumPaymentBalance,
267
293
  payment_allocation:
268
294
  Lithic::FinancialAccounts::LoanTape::PaymentAllocation,
295
+ payment_only_allocation:
296
+ T.nilable(
297
+ Lithic::FinancialAccounts::LoanTape::PaymentOnlyAllocation
298
+ ),
269
299
  period_totals: Lithic::StatementTotals,
270
300
  previous_statement_balance:
271
301
  Lithic::FinancialAccounts::LoanTape::PreviousStatementBalance,
@@ -926,6 +956,95 @@ module Lithic
926
956
  end
927
957
  end
928
958
 
959
+ class PaymentOnlyAllocation < Lithic::Internal::Type::BaseModel
960
+ OrHash =
961
+ T.type_alias do
962
+ T.any(
963
+ Lithic::FinancialAccounts::LoanTape::PaymentOnlyAllocation,
964
+ Lithic::Internal::AnyHash
965
+ )
966
+ end
967
+
968
+ sig { returns(T.nilable(Lithic::CategoryDetails)) }
969
+ attr_reader :fee_details
970
+
971
+ sig do
972
+ params(fee_details: T.nilable(Lithic::CategoryDetails::OrHash)).void
973
+ end
974
+ attr_writer :fee_details
975
+
976
+ # Amount allocated to fees in cents
977
+ sig { returns(Integer) }
978
+ attr_accessor :fees
979
+
980
+ # Amount allocated to interest in cents
981
+ sig { returns(Integer) }
982
+ attr_accessor :interest
983
+
984
+ sig { returns(T.nilable(Lithic::CategoryDetails)) }
985
+ attr_reader :interest_details
986
+
987
+ sig do
988
+ params(
989
+ interest_details: T.nilable(Lithic::CategoryDetails::OrHash)
990
+ ).void
991
+ end
992
+ attr_writer :interest_details
993
+
994
+ # Amount allocated to principal in cents
995
+ sig { returns(Integer) }
996
+ attr_accessor :principal
997
+
998
+ sig { returns(T.nilable(Lithic::CategoryDetails)) }
999
+ attr_reader :principal_details
1000
+
1001
+ sig do
1002
+ params(
1003
+ principal_details: T.nilable(Lithic::CategoryDetails::OrHash)
1004
+ ).void
1005
+ end
1006
+ attr_writer :principal_details
1007
+
1008
+ # Allocation of payments only, excluding credits
1009
+ sig do
1010
+ params(
1011
+ fee_details: T.nilable(Lithic::CategoryDetails::OrHash),
1012
+ fees: Integer,
1013
+ interest: Integer,
1014
+ interest_details: T.nilable(Lithic::CategoryDetails::OrHash),
1015
+ principal: Integer,
1016
+ principal_details: T.nilable(Lithic::CategoryDetails::OrHash)
1017
+ ).returns(T.attached_class)
1018
+ end
1019
+ def self.new(
1020
+ fee_details:,
1021
+ # Amount allocated to fees in cents
1022
+ fees:,
1023
+ # Amount allocated to interest in cents
1024
+ interest:,
1025
+ interest_details:,
1026
+ # Amount allocated to principal in cents
1027
+ principal:,
1028
+ principal_details:
1029
+ )
1030
+ end
1031
+
1032
+ sig do
1033
+ override.returns(
1034
+ {
1035
+ fee_details: T.nilable(Lithic::CategoryDetails),
1036
+ fees: Integer,
1037
+ interest: Integer,
1038
+ interest_details: T.nilable(Lithic::CategoryDetails),
1039
+ principal: Integer,
1040
+ principal_details: T.nilable(Lithic::CategoryDetails)
1041
+ }
1042
+ )
1043
+ end
1044
+ def to_hash
1045
+ end
1046
+ end
1047
+
929
1048
  class PreviousStatementBalance < Lithic::Internal::Type::BaseModel
930
1049
  OrHash =
931
1050
  T.type_alias do
@@ -176,7 +176,8 @@ module Lithic
176
176
  end
177
177
 
178
178
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
179
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
179
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
180
+ # and KYC workflows.
180
181
  sig { returns(Lithic::Address) }
181
182
  attr_reader :address
182
183
 
@@ -228,7 +229,8 @@ module Lithic
228
229
  end
229
230
  def self.new(
230
231
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
231
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
232
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
233
+ # and KYC workflows.
232
234
  address:,
233
235
  # Individual's date of birth, as an RFC 3339 date.
234
236
  dob:,
@@ -366,7 +368,8 @@ module Lithic
366
368
  end
367
369
 
368
370
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
369
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
371
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
372
+ # and KYC workflows.
370
373
  sig { returns(Lithic::Address) }
371
374
  attr_reader :address
372
375
 
@@ -425,7 +428,8 @@ module Lithic
425
428
  end
426
429
  def self.new(
427
430
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
428
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
431
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
432
+ # and KYC workflows.
429
433
  address:,
430
434
  # Individual's date of birth, as an RFC 3339 date.
431
435
  dob:,
@@ -103,21 +103,12 @@ module Lithic
103
103
  sig { returns(String) }
104
104
  attr_accessor :city
105
105
 
106
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
107
- # 3166-1 alpha-3 three-character format.
106
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
107
+ # format. Supported countries depend on the onboarding workflow used for the
108
+ # account holder.
108
109
  sig { returns(String) }
109
110
  attr_accessor :country
110
111
 
111
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
112
- # five-digit ZIP or nine-digit ZIP+4.
113
- sig { returns(String) }
114
- attr_accessor :postal_code
115
-
116
- # Valid state code. Only USA state codes are currently supported, entered in
117
- # uppercase ISO 3166-2 two-character format.
118
- sig { returns(String) }
119
- attr_accessor :state
120
-
121
112
  # Unit or apartment number (if applicable).
122
113
  sig { returns(T.nilable(String)) }
123
114
  attr_reader :address2
@@ -125,6 +116,31 @@ module Lithic
125
116
  sig { params(address2: String).void }
126
117
  attr_writer :address2
127
118
 
119
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
120
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
121
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
122
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
123
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
124
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
125
+ sig { returns(T.nilable(String)) }
126
+ attr_accessor :postal_code
127
+
128
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
129
+ # code for the country without the country prefix. For example, `CA` for
130
+ # California. Optional unless the address is in one of the following countries,
131
+ # where it is required:
132
+ #
133
+ # - `USA`
134
+ # - `CAN`
135
+ # - `AUS`
136
+ # - `CHN`
137
+ # - `KOR`
138
+ # - `MEX`
139
+ # - `MYS`
140
+ # - `NZL`
141
+ sig { returns(T.nilable(String)) }
142
+ attr_accessor :state
143
+
128
144
  # Business''s physical address - PO boxes, UPS drops, and FedEx drops are not
129
145
  # acceptable; APO/FPO are acceptable.
130
146
  sig do
@@ -132,9 +148,9 @@ module Lithic
132
148
  address1: String,
133
149
  city: String,
134
150
  country: String,
135
- postal_code: String,
136
- state: String,
137
- address2: String
151
+ address2: String,
152
+ postal_code: T.nilable(String),
153
+ state: T.nilable(String)
138
154
  ).returns(T.attached_class)
139
155
  end
140
156
  def self.new(
@@ -142,17 +158,33 @@ module Lithic
142
158
  address1:,
143
159
  # Name of city.
144
160
  city:,
145
- # Valid country code. Only USA is currently supported, entered in uppercase ISO
146
- # 3166-1 alpha-3 three-character format.
161
+ # Valid country code, entered in uppercase ISO 3166-1 alpha-3 three-character
162
+ # format. Supported countries depend on the onboarding workflow used for the
163
+ # account holder.
147
164
  country:,
148
- # Valid postal code. Only USA ZIP codes are currently supported, entered as a
149
- # five-digit ZIP or nine-digit ZIP+4.
150
- postal_code:,
151
- # Valid state code. Only USA state codes are currently supported, entered in
152
- # uppercase ISO 3166-2 two-character format.
153
- state:,
154
165
  # Unit or apartment number (if applicable).
155
- address2: nil
166
+ address2: nil,
167
+ # Valid postal code. For USA addresses, enter either a five-digit postal code or a
168
+ # nine-digit postal code (ZIP+4) using the format 12345-1234. Required for all
169
+ # countries except the following, which do not use postal codes: ABW, AGO, ARE,
170
+ # ATG, BDI, BEN, BFA, BHS, BLZ, BOL, BWA, CIV, CMR, COD, COG, COK, COM, DJI, DMA,
171
+ # ERI, FJI, GAB, GMB, GNQ, GRD, GUY, HKG, KIR, MAC, MLI, MRT, NIU, NRU, QAT, RWA,
172
+ # SLB, SLE, SSD, SUR, SXM, SYC, TGO, TKL, TLS, TON, TUV, UGA, VUT, YEM, ZWE
173
+ postal_code: nil,
174
+ # Valid state, province, or subdivision code, entered as the uppercase ISO 3166-2
175
+ # code for the country without the country prefix. For example, `CA` for
176
+ # California. Optional unless the address is in one of the following countries,
177
+ # where it is required:
178
+ #
179
+ # - `USA`
180
+ # - `CAN`
181
+ # - `AUS`
182
+ # - `CHN`
183
+ # - `KOR`
184
+ # - `MEX`
185
+ # - `MYS`
186
+ # - `NZL`
187
+ state: nil
156
188
  )
157
189
  end
158
190
 
@@ -162,9 +194,9 @@ module Lithic
162
194
  address1: String,
163
195
  city: String,
164
196
  country: String,
165
- postal_code: String,
166
- state: String,
167
- address2: String
197
+ address2: String,
198
+ postal_code: T.nilable(String),
199
+ state: T.nilable(String)
168
200
  }
169
201
  )
170
202
  end
@@ -92,7 +92,8 @@ module Lithic
92
92
  end
93
93
 
94
94
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
95
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
95
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
96
+ # and KYC workflows.
96
97
  sig { returns(Lithic::Address) }
97
98
  attr_reader :address
98
99
 
@@ -142,7 +143,8 @@ module Lithic
142
143
  end
143
144
  def self.new(
144
145
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
145
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
146
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
147
+ # and KYC workflows.
146
148
  address:,
147
149
  # Individual's date of birth, as an RFC 3339 date.
148
150
  dob:,
@@ -78,6 +78,12 @@ module Lithic
78
78
  sig { returns(Lithic::NonPCICard::State::TaggedSymbol) }
79
79
  attr_accessor :state
80
80
 
81
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
82
+ # metadata with a resource for your own purposes. A resource can have at most 50
83
+ # tags, with keys up to 40 characters and values up to 500 characters
84
+ sig { returns(T::Hash[Symbol, String]) }
85
+ attr_accessor :tags
86
+
81
87
  # Card types: _ `VIRTUAL` - Card will authorize at any merchant and can be added
82
88
  # to a digital wallet like Apple Pay or Google Pay (if the card program is digital
83
89
  # wallet-enabled). _ `PHYSICAL` - Manufactured and sent to the cardholder. We
@@ -215,6 +221,7 @@ module Lithic
215
221
  spend_limit: Integer,
216
222
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
217
223
  state: Lithic::NonPCICard::State::OrSymbol,
224
+ tags: T::Hash[Symbol, String],
218
225
  type: Lithic::NonPCICard::Type::OrSymbol,
219
226
  auth_rule_tokens: T::Array[String],
220
227
  bulk_order_token: T.nilable(String),
@@ -280,6 +287,10 @@ module Lithic
280
287
  # In sandbox, the same daily batch fulfillment occurs, but no cards are actually
281
288
  # manufactured.
282
289
  state:,
290
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
291
+ # metadata with a resource for your own purposes. A resource can have at most 50
292
+ # tags, with keys up to 40 characters and values up to 500 characters
293
+ tags:,
283
294
  # Card types: _ `VIRTUAL` - Card will authorize at any merchant and can be added
284
295
  # to a digital wallet like Apple Pay or Google Pay (if the card program is digital
285
296
  # wallet-enabled). _ `PHYSICAL` - Manufactured and sent to the cardholder. We
@@ -366,6 +377,7 @@ module Lithic
366
377
  spend_limit: Integer,
367
378
  spend_limit_duration: Lithic::SpendLimitDuration::TaggedSymbol,
368
379
  state: Lithic::NonPCICard::State::TaggedSymbol,
380
+ tags: T::Hash[Symbol, String],
369
381
  type: Lithic::NonPCICard::Type::TaggedSymbol,
370
382
  auth_rule_tokens: T::Array[String],
371
383
  bulk_order_token: T.nilable(String),