lithic 0.15.0 → 0.16.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +4 -1
  6. data/lib/lithic/models/account.rb +2 -2
  7. data/lib/lithic/models/account_holders/account_holder_entity.rb +3 -16
  8. data/lib/lithic/models/account_holders/entity_create_params.rb +3 -14
  9. data/lib/lithic/models/auth_rules/auth_rule.rb +4 -2
  10. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  11. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  12. data/lib/lithic/models/auth_rules/rule_feature.rb +29 -6
  13. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  14. data/lib/lithic/models/auth_rules/v2_create_params.rb +12 -6
  15. data/lib/lithic/models/card.rb +1 -1
  16. data/lib/lithic/models/card_authorization.rb +117 -11
  17. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  18. data/lib/lithic/models/payment.rb +13 -1
  19. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  20. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  21. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  22. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  23. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  24. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  25. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  26. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  27. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  28. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  29. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  30. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  31. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  32. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  33. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  34. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  35. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  36. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  37. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  38. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  39. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  44. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  45. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  46. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  47. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  48. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  49. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  50. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  51. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  52. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  53. data/lib/lithic/models/transaction_route_params.rb +29 -0
  54. data/lib/lithic/models.rb +4 -0
  55. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  56. data/lib/lithic/resources/cards.rb +2 -2
  57. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  58. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  59. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  60. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  61. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  62. data/lib/lithic/resources/transactions.rb +25 -0
  63. data/lib/lithic/version.rb +1 -1
  64. data/lib/lithic.rb +40 -0
  65. data/rbi/lithic/client.rbi +3 -0
  66. data/rbi/lithic/models/account.rbi +3 -3
  67. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  68. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  71. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  72. data/rbi/lithic/models/auth_rules/rule_feature.rbi +41 -5
  73. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +3 -0
  74. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +18 -9
  75. data/rbi/lithic/models/card.rbi +2 -2
  76. data/rbi/lithic/models/card_authorization.rbi +246 -17
  77. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  78. data/rbi/lithic/models/payment.rbi +13 -0
  79. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  80. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  81. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  82. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  83. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  84. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  85. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  86. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  87. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  88. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  89. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  90. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  91. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  94. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  95. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  96. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  97. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  98. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  99. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  100. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  101. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  102. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  103. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  104. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  105. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  106. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  107. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  108. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  109. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  110. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  111. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  112. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  113. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  114. data/rbi/lithic/models.rbi +4 -0
  115. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  116. data/rbi/lithic/resources/cards.rbi +2 -2
  117. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  118. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  119. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  120. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  121. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  122. data/rbi/lithic/resources/transactions.rbi +18 -0
  123. data/sig/lithic/client.rbs +2 -0
  124. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  125. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  126. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  127. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  128. data/sig/lithic/models/auth_rules/rule_feature.rbs +16 -0
  129. data/sig/lithic/models/card_authorization.rbs +84 -10
  130. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  131. data/sig/lithic/models/payment.rbs +7 -0
  132. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  133. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  134. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  135. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  136. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  137. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  138. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  139. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  140. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  141. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  142. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  143. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  144. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  145. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  146. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  147. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  148. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  149. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  150. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  151. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  152. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  153. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  154. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  155. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  156. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  157. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  158. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  159. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  160. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  161. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  162. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  163. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  164. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  165. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  166. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  167. data/sig/lithic/models.rbs +4 -0
  168. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  169. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  170. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  171. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  172. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  173. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  174. data/sig/lithic/resources/transactions.rbs +6 -0
  175. metadata +122 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e10259688d627bb93eef2d363059f0e306c888a9a3220dd82efee18e717f1ba
4
- data.tar.gz: ba6a76715e31f336634d5fad97de74ff5f272aa196ec23912e0096ff742ffac6
3
+ metadata.gz: 2521a627b8e0bc1262b7300c0e7567cf10d809f5fef3a59363372d26fc8dd4db
4
+ data.tar.gz: 0bcd635fd904a64f358cf825bf7a8358d74b2f8038343ac00f8117b8d892ff4a
5
5
  SHA512:
6
- metadata.gz: a46972e61a38e973879e34b963d742fe12faa0394569ab7ba090dc9702962e19525c71cf54d8958fe44b3f68608777ffc0a6a83b4fb3f1a743367921abc01fde
7
- data.tar.gz: db062730b149f7841c0c8f7463a00219b4b15ad825f264f793ffb666f2b0bf0fea41b5ef94698fa4afd62f4f094aeac39ef65c989a817b60d64f8c72ae373014
6
+ metadata.gz: c843b9ad28fa2cf4b3928e65a921a1be9cd021aa27bca807801344a1b68befa080c3a0a5ec17e577d6b5d45802f86d378a27b3e34936338546c87c62939cc1c5
7
+ data.tar.gz: a4120e05b04319ced0525604f6728d5b67dfdaf5c24ec21cd1a526b0b08efb62812e4ad6d193003457ad1d9f669ef675961249db38e1cf2a55c5423649725bcf
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.16.0 (2026-06-16)
4
+
5
+ Full Changelog: [v0.15.0...v0.16.0](https://github.com/lithic-com/lithic-ruby/compare/v0.15.0...v0.16.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add CardTransactionFeature to auth_rules RuleFeature ([1071dc2](https://github.com/lithic-com/lithic-ruby/commit/1071dc23ec9899d915a1b6211ca2a876ab1b223d))
10
+ * **api:** add condition attributes, interval/unit/scope to auth_rules ([28a4b65](https://github.com/lithic-com/lithic-ruby/commit/28a4b658b44f1aff6e6902fa6c7b32b0e4d2e197))
11
+ * **api:** Add created field to Challenge object ([e442303](https://github.com/lithic-com/lithic-ruby/commit/e44230324af07930c8cc84b3035677df54bc031f))
12
+ * **api:** add day_of_period field to loan_tape ([71ab28b](https://github.com/lithic-com/lithic-ruby/commit/71ab28b5af8e6118b2133bc8ed190520b6be2396))
13
+ * **api:** add hold_adjustment_action variant to auth_rules action parameter ([bae640f](https://github.com/lithic-com/lithic-ruby/commit/bae640faf01eef0b956cb24eaa73f92c40536082))
14
+ * **api:** add NVS name_validation fields to ASA request and response ([5747fda](https://github.com/lithic-com/lithic-ruby/commit/5747fda7c1065d257bc60d03e770f66be8677d48))
15
+ * **api:** add route method to transactions ([74346e6](https://github.com/lithic-com/lithic-ruby/commit/74346e6f43f4c5153960d99954b7c120296c640f))
16
+ * **api:** add tags field to Payment model ([745a6cd](https://github.com/lithic-com/lithic-ruby/commit/745a6cd3d832409fdcbbd191f06de40f7a8f2ecb))
17
+ * **api:** add transaction_monitoring with cases/comments/files/queues, refactor entity_type ([37af713](https://github.com/lithic-com/lithic-ruby/commit/37af713a243f3380aea47019af34fe1d698bae35))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **client:** send content-type header for requests with an omitted optional body ([d5b5510](https://github.com/lithic-com/lithic-ruby/commit/d5b551022172beeeb6feccd1886a130ece8a9cc9))
23
+
24
+
25
+ ### Documentation
26
+
27
+ * **api:** update support contact from email to URL in account/card resources ([bd7f679](https://github.com/lithic-com/lithic-ruby/commit/bd7f67927187e7daa99059f5e9190c1df79424c3))
28
+
3
29
  ## 0.15.0 (2026-05-27)
4
30
 
5
31
  Full Changelog: [v0.14.0...v0.15.0](https://github.com/lithic-com/lithic-ruby/compare/v0.14.0...v0.15.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "lithic", "~> 0.15.0"
27
+ gem "lithic", "~> 0.16.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
data/lib/lithic/client.rb CHANGED
@@ -35,6 +35,9 @@ module Lithic
35
35
  # @return [Lithic::Resources::AuthRules]
36
36
  attr_reader :auth_rules
37
37
 
38
+ # @return [Lithic::Resources::TransactionMonitoring]
39
+ attr_reader :transaction_monitoring
40
+
38
41
  # @return [Lithic::Resources::AuthStreamEnrollment]
39
42
  attr_reader :auth_stream_enrollment
40
43
 
@@ -221,6 +224,7 @@ module Lithic
221
224
  @accounts = Lithic::Resources::Accounts.new(client: self)
222
225
  @account_holders = Lithic::Resources::AccountHolders.new(client: self)
223
226
  @auth_rules = Lithic::Resources::AuthRules.new(client: self)
227
+ @transaction_monitoring = Lithic::Resources::TransactionMonitoring.new(client: self)
224
228
  @auth_stream_enrollment = Lithic::Resources::AuthStreamEnrollment.new(client: self)
225
229
  @tokenization_decisioning = Lithic::Resources::TokenizationDecisioning.new(client: self)
226
230
  @tokenizations = Lithic::Resources::Tokenizations.new(client: self)
@@ -306,7 +306,10 @@ module Lithic
306
306
  Lithic::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
307
307
  end
308
308
 
309
- headers.delete("content-type") if body.nil?
309
+ # Generated methods always pass `req[:body]` for operations that define a
310
+ # request body, so only elide the content-type header when the operation
311
+ # has no body at all, not when an optional body param was omitted.
312
+ headers.delete("content-type") if body.nil? && !req.key?(:body)
310
313
 
311
314
  url = Lithic::Internal::Util.join_parsed_uri(
312
315
  @base_url_components,
@@ -38,7 +38,7 @@ module Lithic
38
38
  # accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
39
39
  # Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
40
40
  # failure to pass KYB/KYC or for risk/compliance reasons. Please contact
41
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was done
41
+ # [support.lithic.com](https://support.lithic.com/) if you believe this was done
42
42
  # by mistake.
43
43
  #
44
44
  # @return [Symbol, Lithic::Models::Account::State]
@@ -177,7 +177,7 @@ module Lithic
177
177
  # accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
178
178
  # Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
179
179
  # failure to pass KYB/KYC or for risk/compliance reasons. Please contact
180
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was done
180
+ # [support.lithic.com](https://support.lithic.com/) if you believe this was done
181
181
  # by mistake.
182
182
  #
183
183
  # @see Lithic::Models::Account#state
@@ -62,8 +62,8 @@ module Lithic
62
62
  # @!attribute type
63
63
  # The type of entity
64
64
  #
65
- # @return [Symbol, Lithic::Models::AccountHolders::AccountHolderEntity::Type]
66
- required :type, enum: -> { Lithic::AccountHolders::AccountHolderEntity::Type }
65
+ # @return [Symbol, Lithic::Models::TransactionMonitoring::EntityType]
66
+ required :type, enum: -> { Lithic::TransactionMonitoring::EntityType }
67
67
 
68
68
  # @!method initialize(token:, account_holder_token:, address:, dob:, email:, first_name:, last_name:, phone_number:, status:, type:)
69
69
  # Information about an entity associated with an account holder
@@ -86,7 +86,7 @@ module Lithic
86
86
  #
87
87
  # @param status [Symbol, Lithic::Models::AccountHolders::AccountHolderEntity::Status] The status of the entity
88
88
  #
89
- # @param type [Symbol, Lithic::Models::AccountHolders::AccountHolderEntity::Type] The type of entity
89
+ # @param type [Symbol, Lithic::Models::TransactionMonitoring::EntityType] The type of entity
90
90
 
91
91
  # @see Lithic::Models::AccountHolders::AccountHolderEntity#address
92
92
  class Address < Lithic::Internal::Type::BaseModel
@@ -162,19 +162,6 @@ module Lithic
162
162
  # @!method self.values
163
163
  # @return [Array<Symbol>]
164
164
  end
165
-
166
- # The type of entity
167
- #
168
- # @see Lithic::Models::AccountHolders::AccountHolderEntity#type
169
- module Type
170
- extend Lithic::Internal::Type::Enum
171
-
172
- BENEFICIAL_OWNER_INDIVIDUAL = :BENEFICIAL_OWNER_INDIVIDUAL
173
- CONTROL_PERSON = :CONTROL_PERSON
174
-
175
- # @!method self.values
176
- # @return [Array<Symbol>]
177
- end
178
165
  end
179
166
  end
180
167
 
@@ -63,8 +63,8 @@ module Lithic
63
63
  # @!attribute type
64
64
  # The type of entity to create on the account holder
65
65
  #
66
- # @return [Symbol, Lithic::Models::AccountHolders::EntityCreateParams::Type]
67
- required :type, enum: -> { Lithic::AccountHolders::EntityCreateParams::Type }
66
+ # @return [Symbol, Lithic::Models::TransactionMonitoring::EntityType]
67
+ required :type, enum: -> { Lithic::TransactionMonitoring::EntityType }
68
68
 
69
69
  # @!method initialize(account_holder_token:, address:, dob:, email:, first_name:, government_id:, last_name:, phone_number:, type:, request_options: {})
70
70
  # Some parameter documentations has been truncated, see
@@ -86,7 +86,7 @@ module Lithic
86
86
  #
87
87
  # @param phone_number [String] Individual's phone number, entered in E.164 format.
88
88
  #
89
- # @param type [Symbol, Lithic::Models::AccountHolders::EntityCreateParams::Type] The type of entity to create on the account holder
89
+ # @param type [Symbol, Lithic::Models::TransactionMonitoring::EntityType] The type of entity to create on the account holder
90
90
  #
91
91
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
92
92
 
@@ -149,17 +149,6 @@ module Lithic
149
149
  #
150
150
  # @param address2 [String] Unit or apartment number (if applicable).
151
151
  end
152
-
153
- # The type of entity to create on the account holder
154
- module Type
155
- extend Lithic::Internal::Type::Enum
156
-
157
- BENEFICIAL_OWNER_INDIVIDUAL = :BENEFICIAL_OWNER_INDIVIDUAL
158
- CONTROL_PERSON = :CONTROL_PERSON
159
-
160
- # @!method self.values
161
- # @return [Array<Symbol>]
162
- end
163
152
  end
164
153
  end
165
154
  end
@@ -84,7 +84,8 @@ module Lithic
84
84
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
85
85
  # stream.
86
86
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
87
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
87
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
88
+ # stream.
88
89
  #
89
90
  # @return [Symbol, Lithic::Models::AuthRules::AuthRule::Type]
90
91
  required :type, enum: -> { Lithic::AuthRules::AuthRule::Type }
@@ -332,7 +333,8 @@ module Lithic
332
333
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
333
334
  # stream.
334
335
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
335
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
336
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
337
+ # stream.
336
338
  #
337
339
  # @see Lithic::Models::AuthRules::AuthRule#type
338
340
  module Type
@@ -4,11 +4,11 @@ module Lithic
4
4
  module Models
5
5
  module AuthRules
6
6
  class ConditionalAuthorizationAdjustmentParameters < Lithic::Internal::Type::BaseModel
7
- # @!attribute adjustment
8
- # The hold adjustment to apply if the conditions are met
7
+ # @!attribute action
8
+ # The hold adjustment to apply if the conditions are met.
9
9
  #
10
- # @return [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment]
11
- required :adjustment, -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment }
10
+ # @return [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action]
11
+ required :action, -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action }
12
12
 
13
13
  # @!attribute conditions
14
14
  #
@@ -16,13 +16,13 @@ module Lithic
16
16
  required :conditions,
17
17
  -> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Condition] }
18
18
 
19
- # @!method initialize(adjustment:, conditions:)
20
- # @param adjustment [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment] The hold adjustment to apply if the conditions are met
19
+ # @!method initialize(action:, conditions:)
20
+ # @param action [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action] The hold adjustment to apply if the conditions are met.
21
21
  #
22
22
  # @param conditions [Array<Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Condition>]
23
23
 
24
- # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters#adjustment
25
- class Adjustment < Lithic::Internal::Type::BaseModel
24
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters#action
25
+ class Action < Lithic::Internal::Type::BaseModel
26
26
  # @!attribute mode
27
27
  # The mode of the hold adjustment, determining how the value is interpreted:
28
28
  #
@@ -31,16 +31,14 @@ module Lithic
31
31
  # represents a 10% increase, 0 represents no change.
32
32
  # - `ADD_AMOUNT`: The value is added to the hold amount in cents.
33
33
  #
34
- # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode]
35
- required :mode,
36
- enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode }
34
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode]
35
+ required :mode, enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode }
37
36
 
38
37
  # @!attribute type
39
38
  # The type of adjustment to apply
40
39
  #
41
- # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type]
42
- required :type,
43
- enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type }
40
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type]
41
+ required :type, enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type }
44
42
 
45
43
  # @!attribute value
46
44
  # The value used for the hold adjustment, interpreted based on the mode
@@ -50,14 +48,14 @@ module Lithic
50
48
 
51
49
  # @!method initialize(mode:, type:, value:)
52
50
  # Some parameter documentations has been truncated, see
53
- # {Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment}
51
+ # {Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action}
54
52
  # for more details.
55
53
  #
56
- # The hold adjustment to apply if the conditions are met
54
+ # The hold adjustment to apply if the conditions are met.
57
55
  #
58
- # @param mode [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode] The mode of the hold adjustment, determining how the value is interpreted:
56
+ # @param mode [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode] The mode of the hold adjustment, determining how the value is interpreted:
59
57
  #
60
- # @param type [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type] The type of adjustment to apply
58
+ # @param type [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type] The type of adjustment to apply
61
59
  #
62
60
  # @param value [Integer] The value used for the hold adjustment, interpreted based on the mode
63
61
 
@@ -68,7 +66,7 @@ module Lithic
68
66
  # represents a 10% increase, 0 represents no change.
69
67
  # - `ADD_AMOUNT`: The value is added to the hold amount in cents.
70
68
  #
71
- # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment#mode
69
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action#mode
72
70
  module Mode
73
71
  extend Lithic::Internal::Type::Enum
74
72
 
@@ -82,7 +80,7 @@ module Lithic
82
80
 
83
81
  # The type of adjustment to apply
84
82
  #
85
- # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment#type
83
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action#type
86
84
  module Type
87
85
  extend Lithic::Internal::Type::Enum
88
86
 
@@ -77,6 +77,52 @@ module Lithic
77
77
  # - `SPEND_VELOCITY_AMOUNT`: The total spend amount (in cents) of transactions
78
78
  # matching the specified filters within the given period. Requires `parameters`
79
79
  # with `scope`, `period`, and optional `filters`. Use an integer value.
80
+ # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
81
+ # entity's transaction history. Null if fewer than 30 approved transactions in
82
+ # the specified window. Requires `parameters.scope` and `parameters.interval`.
83
+ # Use a decimal value.
84
+ # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
85
+ # entity over the specified window, in cents. Requires `parameters.scope` and
86
+ # `parameters.interval`. Use a decimal value.
87
+ # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
88
+ # amounts for the entity over the specified window, in cents. Null if fewer than
89
+ # 30 approved transactions in the specified window. Requires `parameters.scope`
90
+ # and `parameters.interval`. Use a decimal value.
91
+ # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
92
+ # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
93
+ # Requires `parameters.scope`.
94
+ # - `IS_NEW_MCC`: Whether the transaction's MCC has not been seen in the entity's
95
+ # transaction history. Valid values are `TRUE`, `FALSE`. Requires
96
+ # `parameters.scope`.
97
+ # - `IS_FIRST_TRANSACTION`: Whether this is the first transaction for the entity.
98
+ # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
99
+ # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
100
+ # the entity over the last 30 days (rolling). Requires `parameters.scope`. Use
101
+ # an integer value.
102
+ # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
103
+ # transaction for the entity, rounded to the nearest whole day. Requires
104
+ # `parameters.scope`. Use an integer value.
105
+ # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
106
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
107
+ # value.
108
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
109
+ # card's approved transaction history (capped at the 1000 most recently seen
110
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
111
+ # `parameters` required.
112
+ # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
113
+ # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
114
+ # Use a decimal value.
115
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
116
+ # between the postal code centers of the last card-present transaction and the
117
+ # current transaction, divided by the elapsed time. Null if there is no prior
118
+ # card-present transaction, if either postal code cannot be geocoded, or if
119
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
120
+ # decimal value.
121
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
122
+ # code centers of the last card-present transaction and the current transaction.
123
+ # Null if there is no prior card-present transaction or if either postal code
124
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
125
+ # Use a decimal value.
80
126
  #
81
127
  # @return [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Attribute]
82
128
  required :attribute,
@@ -95,8 +141,14 @@ module Lithic
95
141
  required :value, union: -> { Lithic::AuthRules::ConditionalValue }
96
142
 
97
143
  # @!attribute parameters
98
- # Additional parameters for spend velocity attributes. Required when `attribute`
99
- # is `SPEND_VELOCITY_COUNT` or `SPEND_VELOCITY_AMOUNT`. Not used for other
144
+ # Additional parameters for certain attributes. Required when `attribute` is
145
+ # `SPEND_VELOCITY_COUNT` or `SPEND_VELOCITY_AMOUNT` (require `scope`, `period`,
146
+ # and optional `filters`); `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
147
+ # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
148
+ # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
149
+ # or `DISTINCT_COUNTRY_COUNT` (require `scope`, and additionally `interval` for
150
+ # the statistical attributes); or `TRAVEL_SPEED` or
151
+ # `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used for other
100
152
  # attributes.
101
153
  #
102
154
  # @return [Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters, nil]
@@ -114,7 +166,7 @@ module Lithic
114
166
  #
115
167
  # @param value [String, Integer, Float, Array<String>, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
116
168
  #
117
- # @param parameters [Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters] Additional parameters for spend velocity attributes. Required when `attribute` i
169
+ # @param parameters [Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters] Additional parameters for certain attributes. Required when `attribute` is
118
170
 
119
171
  # The attribute to target.
120
172
  #
@@ -170,6 +222,52 @@ module Lithic
170
222
  # - `SPEND_VELOCITY_AMOUNT`: The total spend amount (in cents) of transactions
171
223
  # matching the specified filters within the given period. Requires `parameters`
172
224
  # with `scope`, `period`, and optional `filters`. Use an integer value.
225
+ # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
226
+ # entity's transaction history. Null if fewer than 30 approved transactions in
227
+ # the specified window. Requires `parameters.scope` and `parameters.interval`.
228
+ # Use a decimal value.
229
+ # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
230
+ # entity over the specified window, in cents. Requires `parameters.scope` and
231
+ # `parameters.interval`. Use a decimal value.
232
+ # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
233
+ # amounts for the entity over the specified window, in cents. Null if fewer than
234
+ # 30 approved transactions in the specified window. Requires `parameters.scope`
235
+ # and `parameters.interval`. Use a decimal value.
236
+ # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
237
+ # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
238
+ # Requires `parameters.scope`.
239
+ # - `IS_NEW_MCC`: Whether the transaction's MCC has not been seen in the entity's
240
+ # transaction history. Valid values are `TRUE`, `FALSE`. Requires
241
+ # `parameters.scope`.
242
+ # - `IS_FIRST_TRANSACTION`: Whether this is the first transaction for the entity.
243
+ # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
244
+ # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
245
+ # the entity over the last 30 days (rolling). Requires `parameters.scope`. Use
246
+ # an integer value.
247
+ # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
248
+ # transaction for the entity, rounded to the nearest whole day. Requires
249
+ # `parameters.scope`. Use an integer value.
250
+ # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
251
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
252
+ # value.
253
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
254
+ # card's approved transaction history (capped at the 1000 most recently seen
255
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
256
+ # `parameters` required.
257
+ # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
258
+ # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
259
+ # Use a decimal value.
260
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
261
+ # between the postal code centers of the last card-present transaction and the
262
+ # current transaction, divided by the elapsed time. Null if there is no prior
263
+ # card-present transaction, if either postal code cannot be geocoded, or if
264
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
265
+ # decimal value.
266
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
267
+ # code centers of the last card-present transaction and the current transaction.
268
+ # Null if there is no prior card-present transaction or if either postal code
269
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
270
+ # Use a decimal value.
173
271
  #
174
272
  # @see Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition#attribute
175
273
  module Attribute
@@ -191,6 +289,19 @@ module Lithic
191
289
  ACCOUNT_AGE = :ACCOUNT_AGE
192
290
  SPEND_VELOCITY_COUNT = :SPEND_VELOCITY_COUNT
193
291
  SPEND_VELOCITY_AMOUNT = :SPEND_VELOCITY_AMOUNT
292
+ AMOUNT_Z_SCORE = :AMOUNT_Z_SCORE
293
+ AVG_TRANSACTION_AMOUNT = :AVG_TRANSACTION_AMOUNT
294
+ STDEV_TRANSACTION_AMOUNT = :STDEV_TRANSACTION_AMOUNT
295
+ IS_NEW_COUNTRY = :IS_NEW_COUNTRY
296
+ IS_NEW_MCC = :IS_NEW_MCC
297
+ IS_FIRST_TRANSACTION = :IS_FIRST_TRANSACTION
298
+ CONSECUTIVE_DECLINES = :CONSECUTIVE_DECLINES
299
+ TIME_SINCE_LAST_TRANSACTION = :TIME_SINCE_LAST_TRANSACTION
300
+ DISTINCT_COUNTRY_COUNT = :DISTINCT_COUNTRY_COUNT
301
+ IS_NEW_MERCHANT = :IS_NEW_MERCHANT
302
+ THREE_DS_SUCCESS_RATE = :THREE_DS_SUCCESS_RATE
303
+ TRAVEL_SPEED = :TRAVEL_SPEED
304
+ DISTANCE_FROM_LAST_TRANSACTION = :DISTANCE_FROM_LAST_TRANSACTION
194
305
 
195
306
  # @!method self.values
196
307
  # @return [Array<Symbol>]
@@ -203,6 +314,15 @@ module Lithic
203
314
  # @return [Lithic::Models::AuthRules::SpendVelocityFilters, nil]
204
315
  optional :filters, -> { Lithic::AuthRules::SpendVelocityFilters }
205
316
 
317
+ # @!attribute interval
318
+ # The time window for statistical attributes (`AMOUNT_Z_SCORE`,
319
+ # `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`). Use `LIFETIME` for
320
+ # all-time history or a specific window (`7D`, `30D`, `90D`).
321
+ #
322
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Interval, nil]
323
+ optional :interval,
324
+ enum: -> { Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Interval }
325
+
206
326
  # @!attribute period
207
327
  # The time period over which to calculate the spend velocity.
208
328
  #
@@ -210,24 +330,70 @@ module Lithic
210
330
  optional :period, union: -> { Lithic::AuthRules::VelocityLimitPeriod }
211
331
 
212
332
  # @!attribute scope
213
- # The entity scope to evaluate the attribute against.
333
+ # The entity scope to evaluate the attribute against. `GLOBAL` is only valid for
334
+ # spend velocity attributes.
214
335
  #
215
336
  # @return [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Scope, nil]
216
337
  optional :scope,
217
338
  enum: -> { Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Scope }
218
339
 
219
- # @!method initialize(filters: nil, period: nil, scope: nil)
220
- # Additional parameters for spend velocity attributes. Required when `attribute`
221
- # is `SPEND_VELOCITY_COUNT` or `SPEND_VELOCITY_AMOUNT`. Not used for other
340
+ # @!attribute unit
341
+ # The unit for impossible travel attributes. Required when `attribute` is
342
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
343
+ #
344
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
345
+ #
346
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
347
+ #
348
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Unit, nil]
349
+ optional :unit,
350
+ enum: -> { Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Unit }
351
+
352
+ # @!method initialize(filters: nil, interval: nil, period: nil, scope: nil, unit: nil)
353
+ # Some parameter documentations has been truncated, see
354
+ # {Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters}
355
+ # for more details.
356
+ #
357
+ # Additional parameters for certain attributes. Required when `attribute` is
358
+ # `SPEND_VELOCITY_COUNT` or `SPEND_VELOCITY_AMOUNT` (require `scope`, `period`,
359
+ # and optional `filters`); `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
360
+ # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
361
+ # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
362
+ # or `DISTINCT_COUNTRY_COUNT` (require `scope`, and additionally `interval` for
363
+ # the statistical attributes); or `TRAVEL_SPEED` or
364
+ # `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used for other
222
365
  # attributes.
223
366
  #
224
367
  # @param filters [Lithic::Models::AuthRules::SpendVelocityFilters]
225
368
  #
369
+ # @param interval [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Interval] The time window for statistical attributes (`AMOUNT_Z_SCORE`, `AVG_TRANSACTION_A
370
+ #
226
371
  # @param period [Lithic::Models::AuthRules::VelocityLimitPeriod::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowYear] The time period over which to calculate the spend velocity.
227
372
  #
228
- # @param scope [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Scope] The entity scope to evaluate the attribute against.
373
+ # @param scope [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Scope] The entity scope to evaluate the attribute against. `GLOBAL` is only valid for
374
+ #
375
+ # @param unit [Symbol, Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters::Unit] The unit for impossible travel attributes. Required when `attribute` is
376
+ # `TRAVEL\_
229
377
 
230
- # The entity scope to evaluate the attribute against.
378
+ # The time window for statistical attributes (`AMOUNT_Z_SCORE`,
379
+ # `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`). Use `LIFETIME` for
380
+ # all-time history or a specific window (`7D`, `30D`, `90D`).
381
+ #
382
+ # @see Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters#interval
383
+ module Interval
384
+ extend Lithic::Internal::Type::Enum
385
+
386
+ LIFETIME = :LIFETIME
387
+ INTERVAL_7_D = :"7D"
388
+ INTERVAL_30_D = :"30D"
389
+ INTERVAL_90_D = :"90D"
390
+
391
+ # @!method self.values
392
+ # @return [Array<Symbol>]
393
+ end
394
+
395
+ # The entity scope to evaluate the attribute against. `GLOBAL` is only valid for
396
+ # spend velocity attributes.
231
397
  #
232
398
  # @see Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters#scope
233
399
  module Scope
@@ -240,6 +406,26 @@ module Lithic
240
406
  # @!method self.values
241
407
  # @return [Array<Symbol>]
242
408
  end
409
+
410
+ # The unit for impossible travel attributes. Required when `attribute` is
411
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
412
+ #
413
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
414
+ #
415
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
416
+ #
417
+ # @see Lithic::Models::AuthRules::ConditionalCardTransactionUpdateActionParameters::Condition::Parameters#unit
418
+ module Unit
419
+ extend Lithic::Internal::Type::Enum
420
+
421
+ MPH = :MPH
422
+ KPH = :KPH
423
+ MILES = :MILES
424
+ KILOMETERS = :KILOMETERS
425
+
426
+ # @!method self.values
427
+ # @return [Array<Symbol>]
428
+ end
243
429
  end
244
430
  end
245
431
  end
@@ -15,10 +15,13 @@ module Lithic
15
15
  # TOKENIZATION event stream rules.
16
16
  # - `ACH_RECEIPT`: The ACH receipt being evaluated. Only available for
17
17
  # ACH_CREDIT_RECEIPT and ACH_DEBIT_RECEIPT event stream rules.
18
- # - `CARD`: The card associated with the event. Available for AUTHORIZATION and
19
- # THREE_DS_AUTHENTICATION event stream rules.
18
+ # - `CARD_TRANSACTION`: The card transaction being evaluated. Only available for
19
+ # CARD_TRANSACTION_UPDATE event stream rules.
20
+ # - `CARD`: The card associated with the event. Available for AUTHORIZATION,
21
+ # THREE_DS_AUTHENTICATION, and CARD_TRANSACTION_UPDATE event stream rules.
20
22
  # - `ACCOUNT_HOLDER`: The account holder associated with the card. Available for
21
- # AUTHORIZATION and THREE_DS_AUTHENTICATION event stream rules.
23
+ # AUTHORIZATION, THREE_DS_AUTHENTICATION, and CARD_TRANSACTION_UPDATE event
24
+ # stream rules.
22
25
  # - `IP_METADATA`: IP address metadata for the request. Available for
23
26
  # THREE_DS_AUTHENTICATION event stream rules.
24
27
  # - `SPEND_VELOCITY`: Spend velocity data for the card or account. Requires
@@ -26,8 +29,8 @@ module Lithic
26
29
  # calculation. Available for AUTHORIZATION event stream rules.
27
30
  # - `TRANSACTION_HISTORY_SIGNALS`: Behavioral feature state derived from the
28
31
  # entity's transaction history. Requires `scope` to specify whether to load
29
- # card, account, or business account history. Available for AUTHORIZATION event
30
- # stream rules.
32
+ # card, account, or business account history. Available for AUTHORIZATION and
33
+ # CARD_TRANSACTION_UPDATE event stream rules.
31
34
  module RuleFeature
32
35
  extend Lithic::Internal::Type::Union
33
36
 
@@ -39,6 +42,8 @@ module Lithic
39
42
 
40
43
  variant -> { Lithic::AuthRules::RuleFeature::ACHReceiptFeature }
41
44
 
45
+ variant -> { Lithic::AuthRules::RuleFeature::CardTransactionFeature }
46
+
42
47
  variant -> { Lithic::AuthRules::RuleFeature::CardFeature }
43
48
 
44
49
  variant -> { Lithic::AuthRules::RuleFeature::AccountHolderFeature }
@@ -121,6 +126,24 @@ module Lithic
121
126
  # @param type [Symbol, :ACH_RECEIPT]
122
127
  end
123
128
 
129
+ class CardTransactionFeature < Lithic::Internal::Type::BaseModel
130
+ # @!attribute type
131
+ #
132
+ # @return [Symbol, :CARD_TRANSACTION]
133
+ required :type, const: :CARD_TRANSACTION
134
+
135
+ # @!attribute name
136
+ # The variable name for this feature in the rule function signature
137
+ #
138
+ # @return [String, nil]
139
+ optional :name, String
140
+
141
+ # @!method initialize(name: nil, type: :CARD_TRANSACTION)
142
+ # @param name [String] The variable name for this feature in the rule function signature
143
+ #
144
+ # @param type [Symbol, :CARD_TRANSACTION]
145
+ end
146
+
124
147
  class CardFeature < Lithic::Internal::Type::BaseModel
125
148
  # @!attribute type
126
149
  #
@@ -270,7 +293,7 @@ module Lithic
270
293
  end
271
294
 
272
295
  # @!method self.variants
273
- # @return [Array(Lithic::Models::AuthRules::RuleFeature::AuthorizationFeature, Lithic::Models::AuthRules::RuleFeature::AuthenticationFeature, Lithic::Models::AuthRules::RuleFeature::TokenizationFeature, Lithic::Models::AuthRules::RuleFeature::ACHReceiptFeature, Lithic::Models::AuthRules::RuleFeature::CardFeature, Lithic::Models::AuthRules::RuleFeature::AccountHolderFeature, Lithic::Models::AuthRules::RuleFeature::IPMetadataFeature, Lithic::Models::AuthRules::RuleFeature::SpendVelocityFeature, Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature)]
296
+ # @return [Array(Lithic::Models::AuthRules::RuleFeature::AuthorizationFeature, Lithic::Models::AuthRules::RuleFeature::AuthenticationFeature, Lithic::Models::AuthRules::RuleFeature::TokenizationFeature, Lithic::Models::AuthRules::RuleFeature::ACHReceiptFeature, Lithic::Models::AuthRules::RuleFeature::CardTransactionFeature, Lithic::Models::AuthRules::RuleFeature::CardFeature, Lithic::Models::AuthRules::RuleFeature::AccountHolderFeature, Lithic::Models::AuthRules::RuleFeature::IPMetadataFeature, Lithic::Models::AuthRules::RuleFeature::SpendVelocityFeature, Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature)]
274
297
  end
275
298
  end
276
299
  end