lithic 0.20.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 (266) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +1 -10
  4. data/lib/lithic/internal/type/union.rb +21 -7
  5. data/lib/lithic/models/account_activity_list_params.rb +1 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +1 -0
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1 -0
  8. data/lib/lithic/models/account_holder_create_params.rb +4 -2
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +120 -66
  10. data/lib/lithic/models/account_holder_update_params.rb +6 -3
  11. data/lib/lithic/models/account_holder_update_response.rb +156 -86
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +120 -66
  13. data/lib/lithic/models/account_holders/account_holder_entity.rb +35 -19
  14. data/lib/lithic/models/account_holders/entity_create_params.rb +39 -21
  15. data/lib/lithic/models/address.rb +33 -19
  16. data/lib/lithic/models/address_update.rb +27 -11
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +60 -27
  18. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +189 -6
  19. data/lib/lithic/models/auth_rules/auth_rule_entities.rb +47 -0
  20. data/lib/lithic/models/auth_rules/auth_rule_entities_response.rb +31 -0
  21. data/lib/lithic/models/auth_rules/auth_rule_entity.rb +150 -0
  22. data/lib/lithic/models/auth_rules/auth_rule_version.rb +3 -6
  23. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +33 -6
  24. data/lib/lithic/models/auth_rules/conditional_attribute.rb +101 -5
  25. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +3 -439
  26. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +7 -0
  27. data/lib/lithic/models/auth_rules/merchant_lock_parameters.rb +11 -1
  28. data/lib/lithic/models/auth_rules/report_stats.rb +1 -0
  29. data/lib/lithic/models/auth_rules/v2_create_params.rb +218 -45
  30. data/lib/lithic/models/auth_rules/v2_draft_params.rb +3 -6
  31. data/lib/lithic/models/auth_rules/v2_list_params.rb +5 -3
  32. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +1 -0
  33. data/lib/lithic/models/auth_rules/v2_update_entities_params.rb +39 -0
  34. data/lib/lithic/models/auth_rules/v2_update_params.rb +133 -12
  35. data/lib/lithic/models/blockchain_recipient_retrieve_params.rb +20 -0
  36. data/lib/lithic/models/card_authorization.rb +11 -1
  37. data/lib/lithic/models/card_create_params.rb +11 -1
  38. data/lib/lithic/models/card_pin_updated_webhook_event.rb +87 -0
  39. data/lib/lithic/models/card_update_params.rb +12 -1
  40. data/lib/lithic/models/event.rb +5 -0
  41. data/lib/lithic/models/event_list_params.rb +3 -0
  42. data/lib/lithic/models/event_subscription.rb +3 -0
  43. data/lib/lithic/models/events/subscription_create_params.rb +3 -0
  44. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  45. data/lib/lithic/models/events/subscription_update_params.rb +3 -0
  46. data/lib/lithic/models/external_payment.rb +6 -0
  47. data/lib/lithic/models/external_payment_create_params.rb +1 -0
  48. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  49. data/lib/lithic/models/financial_accounts/installment_plan.rb +311 -0
  50. data/lib/lithic/models/financial_accounts/installment_plan_list_params.rb +75 -0
  51. data/lib/lithic/models/financial_accounts/installment_plan_retrieve_params.rb +32 -0
  52. data/lib/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rb +279 -0
  53. data/lib/lithic/models/financial_accounts/installment_plans/statement_list_params.rb +106 -0
  54. data/lib/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rb +42 -0
  55. data/lib/lithic/models/financial_accounts/loan_tape.rb +62 -1
  56. data/lib/lithic/models/financial_accounts/open_to_buy.rb +36 -0
  57. data/lib/lithic/models/financial_accounts/open_to_buy_retrieve_params.rb +22 -0
  58. data/lib/lithic/models/financial_accounts/open_to_buy_summary.rb +46 -0
  59. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +10 -0
  60. data/lib/lithic/models/financial_accounts/transaction_category_balances.rb +34 -0
  61. data/lib/lithic/models/financial_event.rb +9 -0
  62. data/lib/lithic/models/kyb.rb +4 -2
  63. data/lib/lithic/models/kyb_business_entity.rb +35 -19
  64. data/lib/lithic/models/kyc.rb +2 -1
  65. data/lib/lithic/models/management_operation_create_params.rb +4 -0
  66. data/lib/lithic/models/management_operation_transaction.rb +4 -0
  67. data/lib/lithic/models/non_pci_card.rb +11 -1
  68. data/lib/lithic/models/parsed_webhook_event.rb +123 -67
  69. data/lib/lithic/models/payment.rb +3 -1
  70. data/lib/lithic/models/payment_create_stablecoin_params.rb +99 -0
  71. data/lib/lithic/models/payment_create_stablecoin_response.rb +19 -0
  72. data/lib/lithic/models/payment_list_params.rb +1 -0
  73. data/lib/lithic/models/payment_retry_params.rb +28 -1
  74. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  75. data/lib/lithic/models/three_ds_authentication.rb +126 -1
  76. data/lib/lithic/models/transaction.rb +4 -1
  77. data/lib/lithic/models/transaction_simulate_authorization_params.rb +28 -4
  78. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +11 -1
  79. data/lib/lithic/models/transaction_simulate_return_params.rb +24 -1
  80. data/lib/lithic/models.rb +6 -0
  81. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -8
  82. data/lib/lithic/resources/auth_rules/v2.rb +44 -8
  83. data/lib/lithic/resources/blockchain_recipients.rb +23 -0
  84. data/lib/lithic/resources/cards.rb +10 -4
  85. data/lib/lithic/resources/financial_accounts/installment_plans/statements.rb +107 -0
  86. data/lib/lithic/resources/financial_accounts/installment_plans.rb +86 -0
  87. data/lib/lithic/resources/financial_accounts/open_to_buy.rb +48 -0
  88. data/lib/lithic/resources/financial_accounts.rb +8 -0
  89. data/lib/lithic/resources/payments.rb +71 -3
  90. data/lib/lithic/resources/transactions.rb +17 -4
  91. data/lib/lithic/resources/webhooks.rb +18 -0
  92. data/lib/lithic/version.rb +1 -1
  93. data/lib/lithic.rb +21 -1
  94. data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
  95. data/rbi/lithic/models/account_activity_list_response.rbi +5 -0
  96. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +5 -0
  97. data/rbi/lithic/models/account_holder_create_params.rbi +8 -4
  98. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +195 -90
  99. data/rbi/lithic/models/account_holder_update_params.rbi +12 -6
  100. data/rbi/lithic/models/account_holder_update_response.rbi +254 -117
  101. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +195 -90
  102. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +59 -27
  103. data/rbi/lithic/models/account_holders/entity_create_params.rbi +65 -30
  104. data/rbi/lithic/models/address.rbi +57 -29
  105. data/rbi/lithic/models/address_update.rbi +50 -24
  106. data/rbi/lithic/models/auth_rules/auth_rule.rbi +60 -19
  107. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +442 -13
  108. data/rbi/lithic/models/auth_rules/auth_rule_entities.rbi +163 -0
  109. data/rbi/lithic/models/auth_rules/auth_rule_entities_response.rbi +72 -0
  110. data/rbi/lithic/models/auth_rules/auth_rule_entity.rbi +199 -0
  111. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +0 -2
  112. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +67 -9
  113. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +193 -5
  114. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +3 -939
  115. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +14 -0
  116. data/rbi/lithic/models/auth_rules/merchant_lock_parameters.rbi +14 -3
  117. data/rbi/lithic/models/auth_rules/report_stats.rbi +5 -0
  118. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +358 -50
  119. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +0 -4
  120. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +6 -3
  121. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +5 -0
  122. data/rbi/lithic/models/auth_rules/v2_update_entities_params.rbi +68 -0
  123. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +198 -5
  124. data/rbi/lithic/models/blockchain_recipient_retrieve_params.rbi +41 -0
  125. data/rbi/lithic/models/card_authorization.rbi +12 -0
  126. data/rbi/lithic/models/card_create_params.rbi +15 -0
  127. data/rbi/lithic/models/card_pin_updated_webhook_event.rbi +166 -0
  128. data/rbi/lithic/models/card_update_params.rbi +17 -0
  129. data/rbi/lithic/models/event.rbi +8 -0
  130. data/rbi/lithic/models/event_list_params.rbi +7 -0
  131. data/rbi/lithic/models/event_subscription.rbi +7 -0
  132. data/rbi/lithic/models/events/subscription_create_params.rbi +7 -0
  133. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  134. data/rbi/lithic/models/events/subscription_update_params.rbi +7 -0
  135. data/rbi/lithic/models/external_payment.rbi +30 -0
  136. data/rbi/lithic/models/external_payment_create_params.rbi +5 -0
  137. data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
  138. data/rbi/lithic/models/financial_accounts/installment_plan.rbi +528 -0
  139. data/rbi/lithic/models/financial_accounts/installment_plan_list_params.rbi +155 -0
  140. data/rbi/lithic/models/financial_accounts/installment_plan_retrieve_params.rbi +56 -0
  141. data/rbi/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbi +452 -0
  142. data/rbi/lithic/models/financial_accounts/installment_plans/statement_list_params.rbi +191 -0
  143. data/rbi/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbi +66 -0
  144. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +119 -0
  145. data/rbi/lithic/models/financial_accounts/open_to_buy.rbi +64 -0
  146. data/rbi/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbi +43 -0
  147. data/rbi/lithic/models/financial_accounts/open_to_buy_summary.rbi +73 -0
  148. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +50 -0
  149. data/rbi/lithic/models/financial_accounts/transaction_category_balances.rbi +81 -0
  150. data/rbi/lithic/models/financial_event.rbi +35 -0
  151. data/rbi/lithic/models/kyb.rbi +8 -4
  152. data/rbi/lithic/models/kyb_business_entity.rbi +59 -27
  153. data/rbi/lithic/models/kyc.rbi +4 -2
  154. data/rbi/lithic/models/management_operation_create_params.rbi +20 -0
  155. data/rbi/lithic/models/management_operation_transaction.rbi +20 -0
  156. data/rbi/lithic/models/non_pci_card.rbi +12 -0
  157. data/rbi/lithic/models/parsed_webhook_event.rbi +196 -90
  158. data/rbi/lithic/models/payment.rbi +6 -2
  159. data/rbi/lithic/models/payment_create_stablecoin_params.rbi +162 -0
  160. data/rbi/lithic/models/payment_create_stablecoin_response.rbi +34 -0
  161. data/rbi/lithic/models/payment_list_params.rbi +2 -0
  162. data/rbi/lithic/models/payment_retry_params.rbi +47 -2
  163. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  164. data/rbi/lithic/models/three_ds_authentication.rbi +292 -0
  165. data/rbi/lithic/models/transaction.rbi +14 -2
  166. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +42 -4
  167. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +15 -0
  168. data/rbi/lithic/models/transaction_simulate_return_params.rbi +30 -0
  169. data/rbi/lithic/models.rbi +7 -0
  170. data/rbi/lithic/resources/account_holders/entities.rbi +2 -1
  171. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -8
  172. data/rbi/lithic/resources/auth_rules/v2.rbi +43 -8
  173. data/rbi/lithic/resources/blockchain_recipients.rbi +14 -0
  174. data/rbi/lithic/resources/cards.rbi +15 -2
  175. data/rbi/lithic/resources/financial_accounts/installment_plans/statements.rbi +86 -0
  176. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +73 -0
  177. data/rbi/lithic/resources/financial_accounts/open_to_buy.rbi +40 -0
  178. data/rbi/lithic/resources/financial_accounts.rbi +6 -0
  179. data/rbi/lithic/resources/payments.rbi +68 -2
  180. data/rbi/lithic/resources/transactions.rbi +31 -2
  181. data/rbi/lithic/resources/webhooks.rbi +1 -0
  182. data/sig/lithic/models/account_activity_list_params.rbs +2 -0
  183. data/sig/lithic/models/account_activity_list_response.rbs +2 -0
  184. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +2 -0
  185. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +39 -39
  186. data/sig/lithic/models/account_holder_update_response.rbs +52 -52
  187. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +39 -39
  188. data/sig/lithic/models/account_holders/account_holder_entity.rbs +13 -13
  189. data/sig/lithic/models/account_holders/entity_create_params.rbs +13 -13
  190. data/sig/lithic/models/address.rbs +13 -13
  191. data/sig/lithic/models/address_update.rbs +8 -12
  192. data/sig/lithic/models/auth_rules/auth_rule.rbs +10 -7
  193. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +89 -3
  194. data/sig/lithic/models/auth_rules/auth_rule_entities.rbs +37 -0
  195. data/sig/lithic/models/auth_rules/auth_rule_entities_response.rbs +29 -0
  196. data/sig/lithic/models/auth_rules/auth_rule_entity.rbs +80 -0
  197. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -2
  198. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -0
  199. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +46 -0
  200. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +4 -204
  201. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +2 -0
  202. data/sig/lithic/models/auth_rules/merchant_lock_parameters.rbs +10 -3
  203. data/sig/lithic/models/auth_rules/report_stats.rbs +2 -0
  204. data/sig/lithic/models/auth_rules/v2_create_params.rbs +92 -16
  205. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -2
  206. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +2 -0
  207. data/sig/lithic/models/auth_rules/v2_update_entities_params.rbs +46 -0
  208. data/sig/lithic/models/auth_rules/v2_update_params.rbs +47 -1
  209. data/sig/lithic/models/blockchain_recipient_retrieve_params.rbs +24 -0
  210. data/sig/lithic/models/card_authorization.rbs +5 -0
  211. data/sig/lithic/models/card_create_params.rbs +7 -0
  212. data/sig/lithic/models/card_pin_updated_webhook_event.rbs +60 -0
  213. data/sig/lithic/models/card_update_params.rbs +8 -1
  214. data/sig/lithic/models/event.rbs +2 -0
  215. data/sig/lithic/models/event_list_params.rbs +2 -0
  216. data/sig/lithic/models/event_subscription.rbs +2 -0
  217. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  218. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  219. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  220. data/sig/lithic/models/external_payment.rbs +12 -0
  221. data/sig/lithic/models/external_payment_create_params.rbs +2 -0
  222. data/sig/lithic/models/external_payment_list_params.rbs +2 -0
  223. data/sig/lithic/models/financial_accounts/installment_plan.rbs +227 -0
  224. data/sig/lithic/models/financial_accounts/installment_plan_list_params.rbs +69 -0
  225. data/sig/lithic/models/financial_accounts/installment_plan_retrieve_params.rbs +30 -0
  226. data/sig/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbs +191 -0
  227. data/sig/lithic/models/financial_accounts/installment_plans/statement_list_params.rbs +90 -0
  228. data/sig/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbs +40 -0
  229. data/sig/lithic/models/financial_accounts/loan_tape.rbs +47 -0
  230. data/sig/lithic/models/financial_accounts/open_to_buy.rbs +27 -0
  231. data/sig/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbs +26 -0
  232. data/sig/lithic/models/financial_accounts/open_to_buy_summary.rbs +32 -0
  233. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +20 -0
  234. data/sig/lithic/models/financial_accounts/transaction_category_balances.rbs +32 -0
  235. data/sig/lithic/models/financial_event.rbs +18 -0
  236. data/sig/lithic/models/kyb_business_entity.rbs +13 -13
  237. data/sig/lithic/models/management_operation_create_params.rbs +8 -0
  238. data/sig/lithic/models/management_operation_transaction.rbs +8 -0
  239. data/sig/lithic/models/non_pci_card.rbs +5 -0
  240. data/sig/lithic/models/parsed_webhook_event.rbs +40 -39
  241. data/sig/lithic/models/payment.rbs +2 -0
  242. data/sig/lithic/models/payment_create_stablecoin_params.rbs +84 -0
  243. data/sig/lithic/models/payment_create_stablecoin_response.rbs +15 -0
  244. data/sig/lithic/models/payment_list_params.rbs +2 -1
  245. data/sig/lithic/models/payment_retry_params.rbs +24 -1
  246. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  247. data/sig/lithic/models/three_ds_authentication.rbs +77 -0
  248. data/sig/lithic/models/transaction.rbs +4 -0
  249. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +14 -0
  250. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +7 -0
  251. data/sig/lithic/models/transaction_simulate_return_params.rbs +19 -1
  252. data/sig/lithic/models.rbs +6 -0
  253. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  254. data/sig/lithic/resources/blockchain_recipients.rbs +5 -0
  255. data/sig/lithic/resources/cards.rbs +2 -0
  256. data/sig/lithic/resources/financial_accounts/installment_plans/statements.rbs +30 -0
  257. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +26 -0
  258. data/sig/lithic/resources/financial_accounts/open_to_buy.rbs +14 -0
  259. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  260. data/sig/lithic/resources/payments.rbs +12 -0
  261. data/sig/lithic/resources/transactions.rbs +5 -0
  262. data/sig/lithic/resources/webhooks.rbs +1 -0
  263. metadata +65 -5
  264. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +0 -20
  265. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +0 -37
  266. data/sig/lithic/models/auth_rules/conditional_block_parameters.rbs +0 -20
@@ -12,19 +12,32 @@ module Lithic
12
12
  required :token, String
13
13
 
14
14
  # @!attribute account_tokens
15
+ # @deprecated
16
+ #
17
+ # Deprecated: Use `entities.include` with `ACCOUNT` entities instead.
18
+ #
15
19
  # Account tokens to which the Auth Rule applies.
16
20
  #
17
21
  # @return [Array<String>]
18
22
  required :account_tokens, Lithic::Internal::Type::ArrayOf[String]
19
23
 
20
24
  # @!attribute business_account_tokens
25
+ # @deprecated
26
+ #
27
+ # Deprecated: Use `entities.include` with `BUSINESS_ACCOUNT` entities instead.
28
+ #
21
29
  # Business Account tokens to which the Auth Rule applies.
22
30
  #
23
31
  # @return [Array<String>]
24
32
  required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String]
25
33
 
26
34
  # @!attribute card_tokens
27
- # Card tokens to which the Auth Rule applies.
35
+ # @deprecated
36
+ #
37
+ # Deprecated: Use `entities.include` with `CARD` entities instead.
38
+ #
39
+ # Card tokens to which the Auth Rule applies. Cards the rule applies to through a
40
+ # `CARD_TAG` entity are not listed.
28
41
  #
29
42
  # @return [Array<String>]
30
43
  required :card_tokens, Lithic::Internal::Type::ArrayOf[String]
@@ -39,6 +52,13 @@ module Lithic
39
52
  # @return [Lithic::Models::AuthRules::AuthRule::DraftVersion, nil]
40
53
  required :draft_version, -> { Lithic::AuthRules::AuthRule::DraftVersion }, nil?: true
41
54
 
55
+ # @!attribute entities
56
+ # The entities the Auth Rule applies to (`include`) and does not apply to
57
+ # (`exclude`). An exclusion overrides an inclusion.
58
+ #
59
+ # @return [Lithic::Models::AuthRules::AuthRuleEntitiesResponse]
60
+ required :entities, -> { Lithic::AuthRules::AuthRuleEntitiesResponse }
61
+
42
62
  # @!attribute event_stream
43
63
  # The event stream during which the rule will be evaluated.
44
64
  #
@@ -59,6 +79,10 @@ module Lithic
59
79
  required :name, String, nil?: true
60
80
 
61
81
  # @!attribute program_level
82
+ # @deprecated
83
+ #
84
+ # Deprecated: Use `entities.include` with a `PROGRAM` entity instead.
85
+ #
62
86
  # Whether the Auth Rule applies to all authorizations on the card program.
63
87
  #
64
88
  # @return [Boolean]
@@ -76,8 +100,6 @@ module Lithic
76
100
  # several event streams, the effective one is defined by the separate
77
101
  # `event_stream` field.
78
102
  #
79
- # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
80
- # AUTHORIZATION event stream.
81
103
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
82
104
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
83
105
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -86,68 +108,85 @@ module Lithic
86
108
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
87
109
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, CARD_TRANSACTION_UPDATE, or
88
110
  # ACH_PAYMENT_UPDATE event stream.
111
+ # - `OTHER`: A rule whose type is not exposed through this API. Rules of this type
112
+ # are read-only; `OTHER` cannot be used when creating a rule.
89
113
  #
90
114
  # @return [Symbol, Lithic::Models::AuthRules::AuthRule::Type]
91
115
  required :type, enum: -> { Lithic::AuthRules::AuthRule::Type }
92
116
 
93
117
  # @!attribute excluded_account_tokens
118
+ # @deprecated
119
+ #
120
+ # Deprecated: Use `entities.exclude` with `ACCOUNT` entities instead.
121
+ #
94
122
  # Account tokens to which the Auth Rule does not apply.
95
123
  #
96
124
  # @return [Array<String>, nil]
97
125
  optional :excluded_account_tokens, Lithic::Internal::Type::ArrayOf[String]
98
126
 
99
127
  # @!attribute excluded_business_account_tokens
128
+ # @deprecated
129
+ #
130
+ # Deprecated: Use `entities.exclude` with `BUSINESS_ACCOUNT` entities instead.
131
+ #
100
132
  # Business account tokens to which the Auth Rule does not apply.
101
133
  #
102
134
  # @return [Array<String>, nil]
103
135
  optional :excluded_business_account_tokens, Lithic::Internal::Type::ArrayOf[String]
104
136
 
105
137
  # @!attribute excluded_card_tokens
106
- # Card tokens to which the Auth Rule does not apply.
138
+ # @deprecated
139
+ #
140
+ # Deprecated: Use `entities.exclude` with `CARD` entities instead.
141
+ #
142
+ # Card tokens to which the Auth Rule does not apply. Cards excluded through a
143
+ # `CARD_TAG` entity are not listed.
107
144
  #
108
145
  # @return [Array<String>, nil]
109
146
  optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String]
110
147
 
111
- # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_account_tokens: nil, excluded_business_account_tokens: nil, excluded_card_tokens: nil)
148
+ # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, entities:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_account_tokens: nil, excluded_business_account_tokens: nil, excluded_card_tokens: nil)
112
149
  # Some parameter documentations has been truncated, see
113
150
  # {Lithic::Models::AuthRules::AuthRule} for more details.
114
151
  #
115
152
  # @param token [String] Auth Rule Token
116
153
  #
117
- # @param account_tokens [Array<String>] Account tokens to which the Auth Rule applies.
154
+ # @param account_tokens [Array<String>] Deprecated: Use `entities.include` with `ACCOUNT` entities instead.
118
155
  #
119
- # @param business_account_tokens [Array<String>] Business Account tokens to which the Auth Rule applies.
156
+ # @param business_account_tokens [Array<String>] Deprecated: Use `entities.include` with `BUSINESS_ACCOUNT` entities instead.
120
157
  #
121
- # @param card_tokens [Array<String>] Card tokens to which the Auth Rule applies.
158
+ # @param card_tokens [Array<String>] Deprecated: Use `entities.include` with `CARD` entities instead.
122
159
  #
123
160
  # @param current_version [Lithic::Models::AuthRules::AuthRule::CurrentVersion, nil]
124
161
  #
125
162
  # @param draft_version [Lithic::Models::AuthRules::AuthRule::DraftVersion, nil]
126
163
  #
164
+ # @param entities [Lithic::Models::AuthRules::AuthRuleEntitiesResponse] The entities the Auth Rule applies to (`include`) and does not apply to (`exclud
165
+ #
127
166
  # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] The event stream during which the rule will be evaluated.
128
167
  #
129
168
  # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot
130
169
  #
131
170
  # @param name [String, nil] Auth Rule Name
132
171
  #
133
- # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program.
172
+ # @param program_level [Boolean] Deprecated: Use `entities.include` with a `PROGRAM` entity instead.
134
173
  #
135
174
  # @param state [Symbol, Lithic::Models::AuthRules::AuthRule::State] The state of the Auth Rule
136
175
  #
137
176
  # @param type [Symbol, Lithic::Models::AuthRules::AuthRule::Type] The type of Auth Rule. For certain rule types, this determines the event stream
138
177
  #
139
- # @param excluded_account_tokens [Array<String>] Account tokens to which the Auth Rule does not apply.
178
+ # @param excluded_account_tokens [Array<String>] Deprecated: Use `entities.exclude` with `ACCOUNT` entities instead.
140
179
  #
141
- # @param excluded_business_account_tokens [Array<String>] Business account tokens to which the Auth Rule does not apply.
180
+ # @param excluded_business_account_tokens [Array<String>] Deprecated: Use `entities.exclude` with `BUSINESS_ACCOUNT` entities instead.
142
181
  #
143
- # @param excluded_card_tokens [Array<String>] Card tokens to which the Auth Rule does not apply.
182
+ # @param excluded_card_tokens [Array<String>] Deprecated: Use `entities.exclude` with `CARD` entities instead.
144
183
 
145
184
  # @see Lithic::Models::AuthRules::AuthRule#current_version
146
185
  class CurrentVersion < Lithic::Internal::Type::BaseModel
147
186
  # @!attribute parameters
148
187
  # Parameters for the Auth Rule
149
188
  #
150
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters]
189
+ # @return [Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters]
151
190
  required :parameters, union: -> { Lithic::AuthRules::AuthRule::CurrentVersion::Parameters }
152
191
 
153
192
  response_only do
@@ -163,7 +202,7 @@ module Lithic
163
202
  # Some parameter documentations has been truncated, see
164
203
  # {Lithic::Models::AuthRules::AuthRule::CurrentVersion} for more details.
165
204
  #
166
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters] Parameters for the Auth Rule
205
+ # @param parameters [Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters] Parameters for the Auth Rule
167
206
  #
168
207
  # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
169
208
 
@@ -173,9 +212,6 @@ module Lithic
173
212
  module Parameters
174
213
  extend Lithic::Internal::Type::Union
175
214
 
176
- # Deprecated: Use CONDITIONAL_ACTION instead.
177
- variant -> { Lithic::AuthRules::ConditionalBlockParameters }
178
-
179
215
  variant -> { Lithic::AuthRules::VelocityLimitParams }
180
216
 
181
217
  variant -> { Lithic::AuthRules::MerchantLockParameters }
@@ -198,7 +234,7 @@ module Lithic
198
234
  variant -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters }
199
235
 
200
236
  # @!method self.variants
201
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters)]
237
+ # @return [Array(Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters)]
202
238
  end
203
239
  end
204
240
 
@@ -214,7 +250,7 @@ module Lithic
214
250
  # @!attribute parameters
215
251
  # Parameters for the Auth Rule
216
252
  #
217
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters]
253
+ # @return [Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters]
218
254
  required :parameters, union: -> { Lithic::AuthRules::AuthRule::DraftVersion::Parameters }
219
255
 
220
256
  # @!attribute state
@@ -247,7 +283,7 @@ module Lithic
247
283
  #
248
284
  # @param error [String, nil] An error message if the draft version failed compilation. Populated when `state`
249
285
  #
250
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters] Parameters for the Auth Rule
286
+ # @param parameters [Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters] Parameters for the Auth Rule
251
287
  #
252
288
  # @param state [Symbol, Lithic::Models::AuthRules::AuthRule::DraftVersion::State] The state of the draft version. Most rules are created synchronously and the sta
253
289
  #
@@ -259,9 +295,6 @@ module Lithic
259
295
  module Parameters
260
296
  extend Lithic::Internal::Type::Union
261
297
 
262
- # Deprecated: Use CONDITIONAL_ACTION instead.
263
- variant -> { Lithic::AuthRules::ConditionalBlockParameters }
264
-
265
298
  variant -> { Lithic::AuthRules::VelocityLimitParams }
266
299
 
267
300
  variant -> { Lithic::AuthRules::MerchantLockParameters }
@@ -284,7 +317,7 @@ module Lithic
284
317
  variant -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters }
285
318
 
286
319
  # @!method self.variants
287
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters)]
320
+ # @return [Array(Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters, Lithic::Models::AuthRules::ConditionalACHPaymentUpdateActionParameters, Lithic::Models::AuthRules::TypescriptCodeParameters, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters)]
288
321
  end
289
322
 
290
323
  # The state of the draft version. Most rules are created synchronously and the
@@ -329,8 +362,6 @@ module Lithic
329
362
  # several event streams, the effective one is defined by the separate
330
363
  # `event_stream` field.
331
364
  #
332
- # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
333
- # AUTHORIZATION event stream.
334
365
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
335
366
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
336
367
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -339,16 +370,18 @@ module Lithic
339
370
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
340
371
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, CARD_TRANSACTION_UPDATE, or
341
372
  # ACH_PAYMENT_UPDATE event stream.
373
+ # - `OTHER`: A rule whose type is not exposed through this API. Rules of this type
374
+ # are read-only; `OTHER` cannot be used when creating a rule.
342
375
  #
343
376
  # @see Lithic::Models::AuthRules::AuthRule#type
344
377
  module Type
345
378
  extend Lithic::Internal::Type::Enum
346
379
 
347
- CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK
348
380
  VELOCITY_LIMIT = :VELOCITY_LIMIT
349
381
  MERCHANT_LOCK = :MERCHANT_LOCK
350
382
  CONDITIONAL_ACTION = :CONDITIONAL_ACTION
351
383
  TYPESCRIPT_CODE = :TYPESCRIPT_CODE
384
+ OTHER = :OTHER
352
385
 
353
386
  # @!method self.values
354
387
  # @return [Array<Symbol>]
@@ -30,18 +30,27 @@ module Lithic
30
30
  # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
31
31
  # fee field in the settlement/cardholder billing currency. This is the amount
32
32
  # the issuer should authorize against unless the issuer is paying the acquirer
33
- # fee on behalf of the cardholder.
33
+ # fee on behalf of the cardholder. Use an integer value.
34
+ # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
35
+ # represents the amount of cash being withdrawn or advanced. Use an integer
36
+ # value.
34
37
  # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
35
38
  # given authorization. Scores are on a range of 0-999, with 0 representing the
36
39
  # lowest risk and 999 representing the highest risk. For Visa transactions,
37
40
  # where the raw score has a range of 0-99, Lithic will normalize the score by
38
- # multiplying the raw score by 10x.
41
+ # multiplying the raw score by 10x. Use an integer value.
39
42
  # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
40
- # trailing 15 minutes before the authorization.
43
+ # trailing 15 minutes before the authorization. Use an integer value.
41
44
  # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
42
- # trailing hour up and until the authorization.
45
+ # trailing hour up and until the authorization. Use an integer value.
43
46
  # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
44
- # trailing 24 hours up and until the authorization.
47
+ # trailing 24 hours up and until the authorization. Use an integer value.
48
+ # - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in
49
+ # the trailing 15 minutes before the authorization. Use an integer value.
50
+ # - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in
51
+ # the trailing hour up and until the authorization. Use an integer value.
52
+ # - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in
53
+ # the trailing 24 hours up and until the authorization. Use an integer value.
45
54
  # - `CARD_STATE`: The current state of the card associated with the transaction.
46
55
  # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
47
56
  # `PENDING_FULFILLMENT`.
@@ -52,9 +61,73 @@ module Lithic
52
61
  # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
53
62
  # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
54
63
  # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
64
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
65
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
55
66
  # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
56
67
  # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
57
68
  # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
69
+ # - `SERVICE_LOCATION_STATE`: The state/province code (ISO 3166-2) where the
70
+ # cardholder received the service, e.g. "NY". When a service location is present
71
+ # in the network data, the service location state is used. Otherwise, falls back
72
+ # to the card acceptor state.
73
+ # - `SERVICE_LOCATION_POSTAL_CODE`: The postal code where the cardholder received
74
+ # the service, e.g. "10001". When a service location is present in the network
75
+ # data, the service location postal code is used. Otherwise, falls back to the
76
+ # card acceptor postal code.
77
+ # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
78
+ # Use an integer value.
79
+ # - `IS_DOMESTIC`: Whether the merchant's country matches the card program's
80
+ # issuing country. Valid values are `TRUE`, `FALSE`. For programs with no
81
+ # issuing country configured, this attribute does not evaluate.
82
+ # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
83
+ # of the authorization. Use an integer value. For programs where Lithic does not
84
+ # manage or retain account holder data, this attribute does not evaluate.
85
+ # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
86
+ # entity's transaction history. Null if fewer than 30 approved transactions in
87
+ # the specified window. Requires `parameters.scope` and `parameters.interval`.
88
+ # Use a decimal value.
89
+ # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
90
+ # entity over the specified window, in cents. Requires `parameters.scope` and
91
+ # `parameters.interval`. Use a decimal value.
92
+ # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
93
+ # amounts for the entity over the specified window, in cents. Null if fewer than
94
+ # 30 approved transactions in the specified window. Requires `parameters.scope`
95
+ # and `parameters.interval`. Use a decimal value.
96
+ # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
97
+ # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
98
+ # Requires `parameters.scope`.
99
+ # - `IS_NEW_MCC`: Whether the transaction's MCC has not been seen in the entity's
100
+ # transaction history. Valid values are `TRUE`, `FALSE`. Requires
101
+ # `parameters.scope`.
102
+ # - `IS_FIRST_TRANSACTION`: Whether this is the first transaction for the entity.
103
+ # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
104
+ # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
105
+ # the entity over the last 30 days (rolling). Requires `parameters.scope`. Not
106
+ # supported for `BUSINESS_ACCOUNT` scope. Use an integer value.
107
+ # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
108
+ # transaction for the entity, rounded to the nearest whole day. Requires
109
+ # `parameters.scope`. Use an integer value.
110
+ # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
111
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
112
+ # value.
113
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
114
+ # card's approved transaction history (capped at the 1000 most recently seen
115
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
116
+ # `parameters` required.
117
+ # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
118
+ # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
119
+ # Use a decimal value.
120
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
121
+ # between the postal code centers of the last card-present transaction and the
122
+ # current transaction, divided by the elapsed time. Null if there is no prior
123
+ # card-present transaction, if either postal code cannot be geocoded, or if
124
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
125
+ # decimal value.
126
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
127
+ # code centers of the last card-present transaction and the current transaction.
128
+ # Null if there is no prior card-present transaction or if either postal code
129
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
130
+ # Use a decimal value.
58
131
  #
59
132
  # @return [Symbol, Lithic::Models::AuthRules::ConditionalAttribute]
60
133
  required :attribute, enum: -> { Lithic::AuthRules::ConditionalAttribute }
@@ -71,7 +144,18 @@ module Lithic
71
144
  # @return [String, Integer, Float, Array<String>, Time]
72
145
  required :value, union: -> { Lithic::AuthRules::ConditionalValue }
73
146
 
74
- # @!method initialize(attribute:, operation:, value:)
147
+ # @!attribute parameters
148
+ # Additional parameters for certain attributes. Required when `attribute` is one
149
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
150
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
151
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
152
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
153
+ # for other attributes.
154
+ #
155
+ # @return [Lithic::Models::AuthRules::AuthRuleCondition::Parameters, nil]
156
+ optional :parameters, -> { Lithic::AuthRules::AuthRuleCondition::Parameters }
157
+
158
+ # @!method initialize(attribute:, operation:, value:, parameters: nil)
75
159
  # Some parameter documentations has been truncated, see
76
160
  # {Lithic::Models::AuthRules::AuthRuleCondition} for more details.
77
161
  #
@@ -80,6 +164,105 @@ module Lithic
80
164
  # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute
81
165
  #
82
166
  # @param value [String, Integer, Float, Array<String>, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
167
+ #
168
+ # @param parameters [Lithic::Models::AuthRules::AuthRuleCondition::Parameters] Additional parameters for certain attributes. Required when `attribute` is one o
169
+
170
+ # @see Lithic::Models::AuthRules::AuthRuleCondition#parameters
171
+ class Parameters < Lithic::Internal::Type::BaseModel
172
+ # @!attribute interval
173
+ # The time window for statistical attributes (`AMOUNT_Z_SCORE`,
174
+ # `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`). Use `LIFETIME` for
175
+ # all-time history or a specific window (`7D`, `30D`, `90D`).
176
+ #
177
+ # @return [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Interval, nil]
178
+ optional :interval, enum: -> { Lithic::AuthRules::AuthRuleCondition::Parameters::Interval }
179
+
180
+ # @!attribute scope
181
+ # The entity scope to evaluate the attribute against.
182
+ #
183
+ # @return [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Scope, nil]
184
+ optional :scope, enum: -> { Lithic::AuthRules::AuthRuleCondition::Parameters::Scope }
185
+
186
+ # @!attribute unit
187
+ # The unit for impossible travel attributes. Required when `attribute` is
188
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
189
+ #
190
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
191
+ #
192
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
193
+ #
194
+ # @return [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Unit, nil]
195
+ optional :unit, enum: -> { Lithic::AuthRules::AuthRuleCondition::Parameters::Unit }
196
+
197
+ # @!method initialize(interval: nil, scope: nil, unit: nil)
198
+ # Some parameter documentations has been truncated, see
199
+ # {Lithic::Models::AuthRules::AuthRuleCondition::Parameters} for more details.
200
+ #
201
+ # Additional parameters for certain attributes. Required when `attribute` is one
202
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
203
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
204
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
205
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
206
+ # for other attributes.
207
+ #
208
+ # @param interval [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Interval] The time window for statistical attributes (`AMOUNT_Z_SCORE`, `AVG_TRANSACTION_A
209
+ #
210
+ # @param scope [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Scope] The entity scope to evaluate the attribute against.
211
+ #
212
+ # @param unit [Symbol, Lithic::Models::AuthRules::AuthRuleCondition::Parameters::Unit] The unit for impossible travel attributes. Required when `attribute` is
213
+ # `TRAVEL\_
214
+
215
+ # The time window for statistical attributes (`AMOUNT_Z_SCORE`,
216
+ # `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`). Use `LIFETIME` for
217
+ # all-time history or a specific window (`7D`, `30D`, `90D`).
218
+ #
219
+ # @see Lithic::Models::AuthRules::AuthRuleCondition::Parameters#interval
220
+ module Interval
221
+ extend Lithic::Internal::Type::Enum
222
+
223
+ LIFETIME = :LIFETIME
224
+ INTERVAL_7_D = :"7D"
225
+ INTERVAL_30_D = :"30D"
226
+ INTERVAL_90_D = :"90D"
227
+
228
+ # @!method self.values
229
+ # @return [Array<Symbol>]
230
+ end
231
+
232
+ # The entity scope to evaluate the attribute against.
233
+ #
234
+ # @see Lithic::Models::AuthRules::AuthRuleCondition::Parameters#scope
235
+ module Scope
236
+ extend Lithic::Internal::Type::Enum
237
+
238
+ CARD = :CARD
239
+ ACCOUNT = :ACCOUNT
240
+ BUSINESS_ACCOUNT = :BUSINESS_ACCOUNT
241
+
242
+ # @!method self.values
243
+ # @return [Array<Symbol>]
244
+ end
245
+
246
+ # The unit for impossible travel attributes. Required when `attribute` is
247
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
248
+ #
249
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
250
+ #
251
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
252
+ #
253
+ # @see Lithic::Models::AuthRules::AuthRuleCondition::Parameters#unit
254
+ module Unit
255
+ extend Lithic::Internal::Type::Enum
256
+
257
+ MPH = :MPH
258
+ KPH = :KPH
259
+ MILES = :MILES
260
+ KILOMETERS = :KILOMETERS
261
+
262
+ # @!method self.values
263
+ # @return [Array<Symbol>]
264
+ end
265
+ end
83
266
  end
84
267
  end
85
268
 
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class AuthRuleEntities < Lithic::Internal::Type::BaseModel
7
+ # @!attribute exclude
8
+ # Entities the Auth Rule does not apply to. Defaults to an empty list in requests.
9
+ #
10
+ # @return [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>, nil]
11
+ optional :exclude, -> { Lithic::Internal::Type::ArrayOf[union: Lithic::AuthRules::AuthRuleEntity] }
12
+
13
+ # @!attribute include
14
+ # Entities the Auth Rule applies to. Defaults to an empty list in requests.
15
+ #
16
+ # @return [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>, nil]
17
+ optional :include, -> { Lithic::Internal::Type::ArrayOf[union: Lithic::AuthRules::AuthRuleEntity] }
18
+
19
+ # @!method initialize(exclude: nil, include: nil)
20
+ # Some parameter documentations has been truncated, see
21
+ # {Lithic::Models::AuthRules::AuthRuleEntities} for more details.
22
+ #
23
+ # The entities an Auth Rule applies to (`include`) and does not apply to
24
+ # (`exclude`). An exclusion overrides an inclusion, so a card excluded here is
25
+ # skipped even when the program, its account or one of its tags is included.
26
+ #
27
+ # The rule's resulting entities must satisfy these constraints after any write:
28
+ #
29
+ # - `include` must contain at least one entity.
30
+ # - If `PROGRAM` is included, it must be the only included entity.
31
+ # - `PROGRAM` cannot be excluded.
32
+ # - An entity cannot appear in both `include` and `exclude`, or twice in the same
33
+ # list.
34
+ # - A rule can have at most 1,000 entities across `include` and `exclude`, not
35
+ # counting `PROGRAM`.
36
+ # - Entity types must be valid for the rule's event stream.
37
+ # - `CARD`, `ACCOUNT` and `BUSINESS_ACCOUNT` tokens must belong to your program.
38
+ #
39
+ # @param exclude [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>] Entities the Auth Rule does not apply to. Defaults to an empty list in requests.
40
+ #
41
+ # @param include [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>] Entities the Auth Rule applies to. Defaults to an empty list in requests.
42
+ end
43
+ end
44
+
45
+ AuthRuleEntities = AuthRules::AuthRuleEntities
46
+ end
47
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class AuthRuleEntitiesResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute exclude
8
+ # Entities the Auth Rule does not apply to
9
+ #
10
+ # @return [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>]
11
+ required :exclude, -> { Lithic::Internal::Type::ArrayOf[union: Lithic::AuthRules::AuthRuleEntity] }
12
+
13
+ # @!attribute include
14
+ # Entities the Auth Rule applies to
15
+ #
16
+ # @return [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>]
17
+ required :include, -> { Lithic::Internal::Type::ArrayOf[union: Lithic::AuthRules::AuthRuleEntity] }
18
+
19
+ # @!method initialize(exclude:, include:)
20
+ # The entities the Auth Rule applies to (`include`) and does not apply to
21
+ # (`exclude`). An exclusion overrides an inclusion.
22
+ #
23
+ # @param exclude [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>] Entities the Auth Rule does not apply to
24
+ #
25
+ # @param include [Array<Lithic::Models::AuthRules::AuthRuleEntity::Program, Lithic::Models::AuthRules::AuthRuleEntity::Card, Lithic::Models::AuthRules::AuthRuleEntity::Account, Lithic::Models::AuthRules::AuthRuleEntity::BusinessAccount, Lithic::Models::AuthRules::AuthRuleEntity::CardTag>] Entities the Auth Rule applies to
26
+ end
27
+ end
28
+
29
+ AuthRuleEntitiesResponse = AuthRules::AuthRuleEntitiesResponse
30
+ end
31
+ end