lithic 0.18.0 → 0.19.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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/type/union.rb +7 -21
  5. data/lib/lithic/models/account_activity_list_params.rb +2 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +2 -0
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +2 -0
  8. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -0
  9. data/lib/lithic/models/auth_rules/velocity_limit_period.rb +1 -1
  10. data/lib/lithic/models/book_transfer_create_params.rb +4 -0
  11. data/lib/lithic/models/book_transfer_list_params.rb +1 -0
  12. data/lib/lithic/models/book_transfer_response.rb +4 -0
  13. data/lib/lithic/models/card_authorization.rb +7 -6
  14. data/lib/lithic/models/embed_session_generated_webhook_event.rb +83 -0
  15. data/lib/lithic/models/embed_viewed_webhook_event.rb +85 -0
  16. data/lib/lithic/models/event.rb +44 -12
  17. data/lib/lithic/models/event_list_params.rb +23 -6
  18. data/lib/lithic/models/event_subscription.rb +23 -6
  19. data/lib/lithic/models/events/subscription_create_params.rb +23 -6
  20. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  21. data/lib/lithic/models/events/subscription_update_params.rb +23 -6
  22. data/lib/lithic/models/external_payment_list_params.rb +3 -3
  23. data/lib/lithic/models/financial_accounts/balance_list_params.rb +4 -3
  24. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +7 -0
  25. data/lib/lithic/models/financial_event.rb +5 -0
  26. data/lib/lithic/models/fraud/transaction_report_response.rb +8 -8
  27. data/lib/lithic/models/fraud/transaction_retrieve_response.rb +10 -8
  28. data/lib/lithic/models/parsed_webhook_event.rb +5 -1
  29. data/lib/lithic/models/payment.rb +28 -1
  30. data/lib/lithic/models/payment_list_params.rb +1 -0
  31. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +120 -43
  32. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +5 -11
  33. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +5 -11
  34. data/lib/lithic/models/transaction_monitoring/queue.rb +10 -1
  35. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +14 -1
  36. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +15 -1
  37. data/lib/lithic/models/transaction_simulate_clearing_params.rb +4 -3
  38. data/lib/lithic/models.rb +4 -0
  39. data/lib/lithic/resources/card_authorizations.rb +1 -1
  40. data/lib/lithic/resources/cards.rb +5 -0
  41. data/lib/lithic/resources/external_payments.rb +1 -1
  42. data/lib/lithic/resources/three_ds/decisioning.rb +1 -1
  43. data/lib/lithic/resources/transaction_monitoring/cases.rb +2 -2
  44. data/lib/lithic/resources/transaction_monitoring/queues.rb +12 -2
  45. data/lib/lithic/resources/transactions.rb +4 -3
  46. data/lib/lithic/resources/webhooks.rb +1 -1
  47. data/lib/lithic/version.rb +1 -1
  48. data/lib/lithic.rb +2 -1
  49. data/rbi/lithic/models/account_activity_list_params.rbi +10 -0
  50. data/rbi/lithic/models/account_activity_list_response.rbi +10 -0
  51. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +10 -0
  52. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +8 -0
  53. data/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +2 -2
  54. data/rbi/lithic/models/book_transfer_create_params.rbi +20 -0
  55. data/rbi/lithic/models/book_transfer_list_params.rbi +5 -0
  56. data/rbi/lithic/models/book_transfer_response.rbi +20 -0
  57. data/rbi/lithic/models/card_authorization.rbi +12 -10
  58. data/rbi/lithic/models/embed_session_generated_webhook_event.rbi +157 -0
  59. data/rbi/lithic/models/embed_viewed_webhook_event.rbi +146 -0
  60. data/rbi/lithic/models/event.rbi +70 -18
  61. data/rbi/lithic/models/event_list_params.rbi +31 -6
  62. data/rbi/lithic/models/event_subscription.rbi +31 -6
  63. data/rbi/lithic/models/events/subscription_create_params.rbi +31 -6
  64. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  65. data/rbi/lithic/models/events/subscription_update_params.rbi +31 -6
  66. data/rbi/lithic/models/external_payment_list_params.rbi +3 -3
  67. data/rbi/lithic/models/financial_accounts/balance_list_params.rbi +8 -6
  68. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +35 -0
  69. data/rbi/lithic/models/financial_event.rbi +22 -0
  70. data/rbi/lithic/models/fraud/transaction_report_response.rbi +16 -29
  71. data/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +16 -29
  72. data/rbi/lithic/models/parsed_webhook_event.rbi +2 -0
  73. data/rbi/lithic/models/payment.rbi +47 -0
  74. data/rbi/lithic/models/payment_list_params.rbi +2 -0
  75. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +151 -46
  76. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +8 -33
  77. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +7 -31
  78. data/rbi/lithic/models/transaction_monitoring/queue.rbi +10 -0
  79. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +12 -0
  80. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +14 -0
  81. data/rbi/lithic/models/transaction_simulate_clearing_params.rbi +8 -6
  82. data/rbi/lithic/models.rbi +5 -0
  83. data/rbi/lithic/resources/card_authorizations.rbi +1 -1
  84. data/rbi/lithic/resources/cards.rbi +3 -0
  85. data/rbi/lithic/resources/external_payments.rbi +1 -1
  86. data/rbi/lithic/resources/financial_accounts/balances.rbi +4 -3
  87. data/rbi/lithic/resources/three_ds/decisioning.rbi +1 -1
  88. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +4 -11
  89. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +11 -0
  90. data/rbi/lithic/resources/transactions.rbi +8 -6
  91. data/rbi/lithic/resources/webhooks.rbi +2 -0
  92. data/sig/lithic/models/account_activity_list_params.rbs +4 -0
  93. data/sig/lithic/models/account_activity_list_response.rbs +4 -0
  94. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +4 -0
  95. data/sig/lithic/models/auth_rules/conditional_ach_action_parameters.rbs +2 -0
  96. data/sig/lithic/models/book_transfer_create_params.rbs +8 -0
  97. data/sig/lithic/models/book_transfer_list_params.rbs +2 -0
  98. data/sig/lithic/models/book_transfer_response.rbs +8 -0
  99. data/sig/lithic/models/embed_session_generated_webhook_event.rbs +66 -0
  100. data/sig/lithic/models/embed_viewed_webhook_event.rbs +68 -0
  101. data/sig/lithic/models/event.rbs +4 -0
  102. data/sig/lithic/models/event_list_params.rbs +4 -0
  103. data/sig/lithic/models/event_subscription.rbs +4 -0
  104. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  105. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  106. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  107. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +14 -0
  108. data/sig/lithic/models/financial_event.rbs +10 -0
  109. data/sig/lithic/models/fraud/transaction_report_response.rbs +16 -26
  110. data/sig/lithic/models/fraud/transaction_retrieve_response.rbs +16 -26
  111. data/sig/lithic/models/parsed_webhook_event.rbs +2 -0
  112. data/sig/lithic/models/payment.rbs +15 -0
  113. data/sig/lithic/models/payment_list_params.rbs +2 -1
  114. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +93 -34
  115. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +5 -7
  116. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +4 -4
  117. data/sig/lithic/models/transaction_monitoring/queue.rbs +5 -0
  118. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +9 -1
  119. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +10 -1
  120. data/sig/lithic/models.rbs +4 -0
  121. data/sig/lithic/resources/transaction_monitoring/cases.rbs +2 -2
  122. data/sig/lithic/resources/transaction_monitoring/queues.rbs +2 -0
  123. data/sig/lithic/resources/webhooks.rbs +2 -0
  124. metadata +8 -5
  125. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +0 -28
  126. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +0 -61
  127. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +0 -24
@@ -240,6 +240,7 @@ module Lithic
240
240
 
241
241
  ACH = T.let(:ACH, Lithic::Payment::Category::TaggedSymbol)
242
242
  WIRE = T.let(:WIRE, Lithic::Payment::Category::TaggedSymbol)
243
+ STABLECOIN = T.let(:STABLECOIN, Lithic::Payment::Category::TaggedSymbol)
243
244
  BALANCE_OR_FUNDING =
244
245
  T.let(:BALANCE_OR_FUNDING, Lithic::Payment::Category::TaggedSymbol)
245
246
  FEE = T.let(:FEE, Lithic::Payment::Category::TaggedSymbol)
@@ -277,6 +278,8 @@ module Lithic
277
278
  HOLD = T.let(:HOLD, Lithic::Payment::Category::TaggedSymbol)
278
279
  PROGRAM_FUNDING =
279
280
  T.let(:PROGRAM_FUNDING, Lithic::Payment::Category::TaggedSymbol)
281
+ PROGRAM_TRANSFER =
282
+ T.let(:PROGRAM_TRANSFER, Lithic::Payment::Category::TaggedSymbol)
280
283
 
281
284
  sig do
282
285
  override.returns(T::Array[Lithic::Payment::Category::TaggedSymbol])
@@ -379,6 +382,13 @@ module Lithic
379
382
  # Reserve and funds returned to sender.
380
383
  # - `WIRE_RETURN_OUTBOUND_REJECTED` - Outbound wire return rejected by the Federal
381
384
  # Reserve.
385
+ #
386
+ # Stablecoin events:
387
+ #
388
+ # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
389
+ # release to available balance.
390
+ # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
391
+ # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
382
392
  sig { returns(Lithic::Payment::Event::Type::TaggedSymbol) }
383
393
  attr_accessor :type
384
394
 
@@ -486,6 +496,13 @@ module Lithic
486
496
  # Reserve and funds returned to sender.
487
497
  # - `WIRE_RETURN_OUTBOUND_REJECTED` - Outbound wire return rejected by the Federal
488
498
  # Reserve.
499
+ #
500
+ # Stablecoin events:
501
+ #
502
+ # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
503
+ # release to available balance.
504
+ # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
505
+ # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
489
506
  type:,
490
507
  # More detailed reasons for the event
491
508
  detailed_results: nil,
@@ -588,6 +605,13 @@ module Lithic
588
605
  # Reserve and funds returned to sender.
589
606
  # - `WIRE_RETURN_OUTBOUND_REJECTED` - Outbound wire return rejected by the Federal
590
607
  # Reserve.
608
+ #
609
+ # Stablecoin events:
610
+ #
611
+ # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
612
+ # release to available balance.
613
+ # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
614
+ # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
591
615
  module Type
592
616
  extend Lithic::Internal::Type::Enum
593
617
 
@@ -705,6 +729,21 @@ module Lithic
705
729
  :WIRE_RETURN_OUTBOUND_REJECTED,
706
730
  Lithic::Payment::Event::Type::TaggedSymbol
707
731
  )
732
+ STABLECOIN_RECEIVED =
733
+ T.let(
734
+ :STABLECOIN_RECEIVED,
735
+ Lithic::Payment::Event::Type::TaggedSymbol
736
+ )
737
+ STABLECOIN_REVIEWED =
738
+ T.let(
739
+ :STABLECOIN_REVIEWED,
740
+ Lithic::Payment::Event::Type::TaggedSymbol
741
+ )
742
+ STABLECOIN_SETTLED =
743
+ T.let(
744
+ :STABLECOIN_SETTLED,
745
+ Lithic::Payment::Event::Type::TaggedSymbol
746
+ )
708
747
 
709
748
  sig do
710
749
  override.returns(
@@ -840,6 +879,10 @@ module Lithic
840
879
  sig { returns(T.nilable(String)) }
841
880
  attr_accessor :receipt_routing_number
842
881
 
882
+ # Name of the recipient on ACH receipts. Reflects the originating bank's record
883
+ sig { returns(T.nilable(String)) }
884
+ attr_accessor :recipient_name
885
+
843
886
  # Number of retries attempted
844
887
  sig { returns(T.nilable(Integer)) }
845
888
  attr_accessor :retries
@@ -864,6 +907,7 @@ module Lithic
864
907
  company_id: T.nilable(String),
865
908
  override_company_name: T.nilable(String),
866
909
  receipt_routing_number: T.nilable(String),
910
+ recipient_name: T.nilable(String),
867
911
  retries: T.nilable(Integer),
868
912
  return_reason_code: T.nilable(String),
869
913
  trace_numbers: T::Array[String]
@@ -883,6 +927,8 @@ module Lithic
883
927
  override_company_name: nil,
884
928
  # Receipt routing number
885
929
  receipt_routing_number: nil,
930
+ # Name of the recipient on ACH receipts. Reflects the originating bank's record
931
+ recipient_name: nil,
886
932
  # Number of retries attempted
887
933
  retries: nil,
888
934
  # Return reason code if the transaction was returned
@@ -902,6 +948,7 @@ module Lithic
902
948
  company_id: T.nilable(String),
903
949
  override_company_name: T.nilable(String),
904
950
  receipt_routing_number: T.nilable(String),
951
+ recipient_name: T.nilable(String),
905
952
  retries: T.nilable(Integer),
906
953
  return_reason_code: T.nilable(String),
907
954
  trace_numbers: T::Array[String]
@@ -202,6 +202,8 @@ module Lithic
202
202
  T.let(:PENDING, Lithic::PaymentListParams::Status::TaggedSymbol)
203
203
  RETURNED =
204
204
  T.let(:RETURNED, Lithic::PaymentListParams::Status::TaggedSymbol)
205
+ REVERSED =
206
+ T.let(:REVERSED, Lithic::PaymentListParams::Status::TaggedSymbol)
205
207
  SETTLED =
206
208
  T.let(:SETTLED, Lithic::PaymentListParams::Status::TaggedSymbol)
207
209
 
@@ -3,71 +3,176 @@
3
3
  module Lithic
4
4
  module Models
5
5
  module TransactionMonitoring
6
- class CaseTransaction < Lithic::Internal::Type::BaseModel
7
- OrHash =
6
+ # A single transaction associated with a case. The `category` field identifies
7
+ # whether this is a card transaction or a payment transaction.
8
+ module CaseTransaction
9
+ extend Lithic::Internal::Type::Union
10
+
11
+ Variants =
8
12
  T.type_alias do
9
13
  T.any(
10
- Lithic::TransactionMonitoring::CaseTransaction,
11
- Lithic::Internal::AnyHash
14
+ Lithic::TransactionMonitoring::CaseTransaction::CardCaseTransaction,
15
+ Lithic::TransactionMonitoring::CaseTransaction::PaymentCaseTransaction
12
16
  )
13
17
  end
14
18
 
15
- # Globally unique identifier for the transaction
16
- sig { returns(String) }
17
- attr_accessor :token
19
+ class CardCaseTransaction < Lithic::Internal::Type::BaseModel
20
+ OrHash =
21
+ T.type_alias do
22
+ T.any(
23
+ Lithic::TransactionMonitoring::CaseTransaction::CardCaseTransaction,
24
+ Lithic::Internal::AnyHash
25
+ )
26
+ end
27
+
28
+ # Globally unique identifier for the card transaction
29
+ sig { returns(String) }
30
+ attr_accessor :token
18
31
 
19
- # Token of the account the transaction belongs to
20
- sig { returns(String) }
21
- attr_accessor :account_token
32
+ # Token of the account the transaction belongs to
33
+ sig { returns(String) }
34
+ attr_accessor :account_token
22
35
 
23
- # Date and time at which the transaction was added to the case
24
- sig { returns(Time) }
25
- attr_accessor :added_at
36
+ # Date and time at which the transaction was added to the case
37
+ sig { returns(Time) }
38
+ attr_accessor :added_at
26
39
 
27
- # Token of the card the transaction was made on
28
- sig { returns(String) }
29
- attr_accessor :card_token
40
+ # Token of the card the transaction was made on
41
+ sig { returns(String) }
42
+ attr_accessor :card_token
30
43
 
31
- # Date and time at which the transaction was created
32
- sig { returns(Time) }
33
- attr_accessor :transaction_created_at
44
+ sig { returns(Symbol) }
45
+ attr_accessor :category
34
46
 
35
- # A single transaction associated with a case
36
- sig do
37
- params(
38
- token: String,
39
- account_token: String,
40
- added_at: Time,
41
- card_token: String,
42
- transaction_created_at: Time
43
- ).returns(T.attached_class)
47
+ # Date and time at which the transaction was created
48
+ sig { returns(Time) }
49
+ attr_accessor :transaction_created_at
50
+
51
+ # A card transaction associated with a case
52
+ sig do
53
+ params(
54
+ token: String,
55
+ account_token: String,
56
+ added_at: Time,
57
+ card_token: String,
58
+ transaction_created_at: Time,
59
+ category: Symbol
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ # Globally unique identifier for the card transaction
64
+ token:,
65
+ # Token of the account the transaction belongs to
66
+ account_token:,
67
+ # Date and time at which the transaction was added to the case
68
+ added_at:,
69
+ # Token of the card the transaction was made on
70
+ card_token:,
71
+ # Date and time at which the transaction was created
72
+ transaction_created_at:,
73
+ category: :CARD
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ token: String,
81
+ account_token: String,
82
+ added_at: Time,
83
+ card_token: String,
84
+ category: Symbol,
85
+ transaction_created_at: Time
86
+ }
87
+ )
88
+ end
89
+ def to_hash
90
+ end
44
91
  end
45
- def self.new(
46
- # Globally unique identifier for the transaction
47
- token:,
48
- # Token of the account the transaction belongs to
49
- account_token:,
92
+
93
+ class PaymentCaseTransaction < Lithic::Internal::Type::BaseModel
94
+ OrHash =
95
+ T.type_alias do
96
+ T.any(
97
+ Lithic::TransactionMonitoring::CaseTransaction::PaymentCaseTransaction,
98
+ Lithic::Internal::AnyHash
99
+ )
100
+ end
101
+
102
+ # Globally unique identifier for the payment transaction
103
+ sig { returns(String) }
104
+ attr_accessor :token
105
+
50
106
  # Date and time at which the transaction was added to the case
51
- added_at:,
52
- # Token of the card the transaction was made on
53
- card_token:,
107
+ sig { returns(Time) }
108
+ attr_accessor :added_at
109
+
110
+ sig { returns(Symbol) }
111
+ attr_accessor :category
112
+
113
+ # Token of the financial account the payment belongs to
114
+ sig { returns(String) }
115
+ attr_accessor :financial_account_token
116
+
54
117
  # Date and time at which the transaction was created
55
- transaction_created_at:
56
- )
118
+ sig { returns(Time) }
119
+ attr_accessor :transaction_created_at
120
+
121
+ # Token of the account the payment belongs to, if applicable
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :account_token
124
+
125
+ sig { params(account_token: String).void }
126
+ attr_writer :account_token
127
+
128
+ # A payment (ACH) transaction associated with a case
129
+ sig do
130
+ params(
131
+ token: String,
132
+ added_at: Time,
133
+ financial_account_token: String,
134
+ transaction_created_at: Time,
135
+ account_token: String,
136
+ category: Symbol
137
+ ).returns(T.attached_class)
138
+ end
139
+ def self.new(
140
+ # Globally unique identifier for the payment transaction
141
+ token:,
142
+ # Date and time at which the transaction was added to the case
143
+ added_at:,
144
+ # Token of the financial account the payment belongs to
145
+ financial_account_token:,
146
+ # Date and time at which the transaction was created
147
+ transaction_created_at:,
148
+ # Token of the account the payment belongs to, if applicable
149
+ account_token: nil,
150
+ category: :PAYMENT
151
+ )
152
+ end
153
+
154
+ sig do
155
+ override.returns(
156
+ {
157
+ token: String,
158
+ added_at: Time,
159
+ category: Symbol,
160
+ financial_account_token: String,
161
+ transaction_created_at: Time,
162
+ account_token: String
163
+ }
164
+ )
165
+ end
166
+ def to_hash
167
+ end
57
168
  end
58
169
 
59
170
  sig do
60
171
  override.returns(
61
- {
62
- token: String,
63
- account_token: String,
64
- added_at: Time,
65
- card_token: String,
66
- transaction_created_at: Time
67
- }
172
+ T::Array[Lithic::TransactionMonitoring::CaseTransaction::Variants]
68
173
  )
69
174
  end
70
- def to_hash
175
+ def self.variants
71
176
  end
72
177
  end
73
178
  end
@@ -46,29 +46,12 @@ module Lithic
46
46
  end
47
47
  attr_writer :priority
48
48
 
49
- # Outcome recorded when a case is resolved:
50
- #
51
- # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
52
- # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
53
- # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
54
- # positive
55
- # - `NO_ACTION_REQUIRED` - No further action is required
56
- # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
57
- sig do
58
- returns(
59
- T.nilable(
60
- Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol
61
- )
62
- )
63
- end
49
+ # Resolution to record on the case. Must be one of the `allowed_resolutions`
50
+ # configured on the case's queue, otherwise the request is rejected with a `400`
51
+ sig { returns(T.nilable(String)) }
64
52
  attr_reader :resolution
65
53
 
66
- sig do
67
- params(
68
- resolution:
69
- Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol
70
- ).void
71
- end
54
+ sig { params(resolution: String).void }
72
55
  attr_writer :resolution
73
56
 
74
57
  # Notes describing the resolution
@@ -123,8 +106,7 @@ module Lithic
123
106
  actor_token: String,
124
107
  assignee: T.nilable(String),
125
108
  priority: Lithic::TransactionMonitoring::CasePriority::OrSymbol,
126
- resolution:
127
- Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol,
109
+ resolution: String,
128
110
  resolution_notes: String,
129
111
  sla_deadline: T.nilable(Time),
130
112
  status: Lithic::TransactionMonitoring::CaseStatus::OrSymbol,
@@ -143,14 +125,8 @@ module Lithic
143
125
  assignee: nil,
144
126
  # Priority level of a case, controlling queue ordering and SLA urgency
145
127
  priority: nil,
146
- # Outcome recorded when a case is resolved:
147
- #
148
- # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
149
- # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
150
- # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
151
- # positive
152
- # - `NO_ACTION_REQUIRED` - No further action is required
153
- # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
128
+ # Resolution to record on the case. Must be one of the `allowed_resolutions`
129
+ # configured on the case's queue, otherwise the request is rejected with a `400`
154
130
  resolution: nil,
155
131
  # Notes describing the resolution
156
132
  resolution_notes: nil,
@@ -182,8 +158,7 @@ module Lithic
182
158
  actor_token: String,
183
159
  assignee: T.nilable(String),
184
160
  priority: Lithic::TransactionMonitoring::CasePriority::OrSymbol,
185
- resolution:
186
- Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol,
161
+ resolution: String,
187
162
  resolution_notes: String,
188
163
  sla_deadline: T.nilable(Time),
189
164
  status: Lithic::TransactionMonitoring::CaseStatus::OrSymbol,
@@ -53,21 +53,9 @@ module Lithic
53
53
  sig { returns(String) }
54
54
  attr_accessor :queue_token
55
55
 
56
- # Outcome recorded when a case is resolved:
57
- #
58
- # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
59
- # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
60
- # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
61
- # positive
62
- # - `NO_ACTION_REQUIRED` - No further action is required
63
- # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
64
- sig do
65
- returns(
66
- T.nilable(
67
- Lithic::TransactionMonitoring::ResolutionOutcome::TaggedSymbol
68
- )
69
- )
70
- end
56
+ # Outcome recorded when the case was resolved, from the `allowed_resolutions`
57
+ # configured on the case's queue
58
+ sig { returns(T.nilable(String)) }
71
59
  attr_accessor :resolution
72
60
 
73
61
  # Free-form notes describing the resolution
@@ -123,10 +111,7 @@ module Lithic
123
111
  pending_transactions: T::Boolean,
124
112
  priority: Lithic::TransactionMonitoring::CasePriority::OrSymbol,
125
113
  queue_token: String,
126
- resolution:
127
- T.nilable(
128
- Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol
129
- ),
114
+ resolution: T.nilable(String),
130
115
  resolution_notes: T.nilable(String),
131
116
  resolved: T.nilable(Time),
132
117
  rule_token: T.nilable(String),
@@ -154,14 +139,8 @@ module Lithic
154
139
  priority:,
155
140
  # Token of the queue the case belongs to
156
141
  queue_token:,
157
- # Outcome recorded when a case is resolved:
158
- #
159
- # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
160
- # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
161
- # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
162
- # positive
163
- # - `NO_ACTION_REQUIRED` - No further action is required
164
- # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
142
+ # Outcome recorded when the case was resolved, from the `allowed_resolutions`
143
+ # configured on the case's queue
165
144
  resolution:,
166
145
  # Free-form notes describing the resolution
167
146
  resolution_notes:,
@@ -203,10 +182,7 @@ module Lithic
203
182
  priority:
204
183
  Lithic::TransactionMonitoring::CasePriority::TaggedSymbol,
205
184
  queue_token: String,
206
- resolution:
207
- T.nilable(
208
- Lithic::TransactionMonitoring::ResolutionOutcome::TaggedSymbol
209
- ),
185
+ resolution: T.nilable(String),
210
186
  resolution_notes: T.nilable(String),
211
187
  resolved: T.nilable(Time),
212
188
  rule_token: T.nilable(String),
@@ -16,6 +16,11 @@ module Lithic
16
16
  sig { returns(String) }
17
17
  attr_accessor :token
18
18
 
19
+ # Resolutions that can be recorded on cases in this queue. Always the effective
20
+ # list: the queue's own values when it defines them, otherwise the default list
21
+ sig { returns(T::Array[String]) }
22
+ attr_accessor :allowed_resolutions
23
+
19
24
  # Number of cases in the queue, broken down by status. A status is omitted when
20
25
  # the queue has no cases in that status
21
26
  sig { returns(Lithic::TransactionMonitoring::Queue::CaseCounts) }
@@ -49,6 +54,7 @@ module Lithic
49
54
  sig do
50
55
  params(
51
56
  token: String,
57
+ allowed_resolutions: T::Array[String],
52
58
  case_counts:
53
59
  Lithic::TransactionMonitoring::Queue::CaseCounts::OrHash,
54
60
  created: Time,
@@ -60,6 +66,9 @@ module Lithic
60
66
  def self.new(
61
67
  # Globally unique identifier for the queue
62
68
  token:,
69
+ # Resolutions that can be recorded on cases in this queue. Always the effective
70
+ # list: the queue's own values when it defines them, otherwise the default list
71
+ allowed_resolutions:,
63
72
  # Number of cases in the queue, broken down by status. A status is omitted when
64
73
  # the queue has no cases in that status
65
74
  case_counts:,
@@ -78,6 +87,7 @@ module Lithic
78
87
  override.returns(
79
88
  {
80
89
  token: String,
90
+ allowed_resolutions: T::Array[String],
81
91
  case_counts: Lithic::TransactionMonitoring::Queue::CaseCounts,
82
92
  created: Time,
83
93
  description: T.nilable(String),
@@ -19,6 +19,12 @@ module Lithic
19
19
  sig { returns(String) }
20
20
  attr_accessor :name
21
21
 
22
+ # Resolutions that can be recorded on cases in this queue. Omit or send `null` to
23
+ # use the default list. Values are free-form labels and must be non-empty and
24
+ # unique
25
+ sig { returns(T.nilable(T::Array[String])) }
26
+ attr_accessor :allowed_resolutions
27
+
22
28
  # Optional description of the queue
23
29
  sig { returns(T.nilable(String)) }
24
30
  attr_accessor :description
@@ -26,6 +32,7 @@ module Lithic
26
32
  sig do
27
33
  params(
28
34
  name: String,
35
+ allowed_resolutions: T.nilable(T::Array[String]),
29
36
  description: T.nilable(String),
30
37
  request_options: Lithic::RequestOptions::OrHash
31
38
  ).returns(T.attached_class)
@@ -33,6 +40,10 @@ module Lithic
33
40
  def self.new(
34
41
  # Human-readable name of the queue
35
42
  name:,
43
+ # Resolutions that can be recorded on cases in this queue. Omit or send `null` to
44
+ # use the default list. Values are free-form labels and must be non-empty and
45
+ # unique
46
+ allowed_resolutions: nil,
36
47
  # Optional description of the queue
37
48
  description: nil,
38
49
  request_options: {}
@@ -43,6 +54,7 @@ module Lithic
43
54
  override.returns(
44
55
  {
45
56
  name: String,
57
+ allowed_resolutions: T.nilable(T::Array[String]),
46
58
  description: T.nilable(String),
47
59
  request_options: Lithic::RequestOptions
48
60
  }
@@ -18,6 +18,13 @@ module Lithic
18
18
  sig { returns(String) }
19
19
  attr_accessor :queue_token
20
20
 
21
+ # New list of resolutions that can be recorded on cases in this queue, or `null`
22
+ # to revert to the default list. Values are free-form labels and must be non-empty
23
+ # and unique. Changing the list only affects what is selectable going forward; the
24
+ # `resolution` already stored on a case is preserved as-is
25
+ sig { returns(T.nilable(T::Array[String])) }
26
+ attr_accessor :allowed_resolutions
27
+
21
28
  # New description for the queue, or `null` to clear it
22
29
  sig { returns(T.nilable(String)) }
23
30
  attr_accessor :description
@@ -32,6 +39,7 @@ module Lithic
32
39
  sig do
33
40
  params(
34
41
  queue_token: String,
42
+ allowed_resolutions: T.nilable(T::Array[String]),
35
43
  description: T.nilable(String),
36
44
  name: String,
37
45
  request_options: Lithic::RequestOptions::OrHash
@@ -39,6 +47,11 @@ module Lithic
39
47
  end
40
48
  def self.new(
41
49
  queue_token:,
50
+ # New list of resolutions that can be recorded on cases in this queue, or `null`
51
+ # to revert to the default list. Values are free-form labels and must be non-empty
52
+ # and unique. Changing the list only affects what is selectable going forward; the
53
+ # `resolution` already stored on a case is preserved as-is
54
+ allowed_resolutions: nil,
42
55
  # New description for the queue, or `null` to clear it
43
56
  description: nil,
44
57
  # New name for the queue
@@ -51,6 +64,7 @@ module Lithic
51
64
  override.returns(
52
65
  {
53
66
  queue_token: String,
67
+ allowed_resolutions: T.nilable(T::Array[String]),
54
68
  description: T.nilable(String),
55
69
  name: String,
56
70
  request_options: Lithic::RequestOptions
@@ -24,9 +24,10 @@ module Lithic
24
24
  # example, entering 100 in this field will result in a -100 amount in the
25
25
  # transaction, if the original authorization is a credit authorization.
26
26
  #
27
- # If `amount` is not set, the full amount of the transaction will be cleared.
28
- # Transactions that have already cleared, either partially or fully, cannot be
29
- # cleared again using this endpoint.
27
+ # If `amount` is not set, the full amount of the transaction will be cleared. This
28
+ # endpoint may be called multiple times against the same authorization to simulate
29
+ # a multiple-completion scenario, with each call creating a separate clearing
30
+ # event.
30
31
  sig { returns(T.nilable(Integer)) }
31
32
  attr_reader :amount
32
33
 
@@ -49,9 +50,10 @@ module Lithic
49
50
  # example, entering 100 in this field will result in a -100 amount in the
50
51
  # transaction, if the original authorization is a credit authorization.
51
52
  #
52
- # If `amount` is not set, the full amount of the transaction will be cleared.
53
- # Transactions that have already cleared, either partially or fully, cannot be
54
- # cleared again using this endpoint.
53
+ # If `amount` is not set, the full amount of the transaction will be cleared. This
54
+ # endpoint may be called multiple times against the same authorization to simulate
55
+ # a multiple-completion scenario, with each call creating a separate clearing
56
+ # event.
55
57
  amount: nil,
56
58
  request_options: {}
57
59
  )
@@ -278,6 +278,11 @@ module Lithic
278
278
 
279
279
  Document = Lithic::Models::Document
280
280
 
281
+ EmbedSessionGeneratedWebhookEvent =
282
+ Lithic::Models::EmbedSessionGeneratedWebhookEvent
283
+
284
+ EmbedViewedWebhookEvent = Lithic::Models::EmbedViewedWebhookEvent
285
+
281
286
  Event = Lithic::Models::Event
282
287
 
283
288
  EventListAttemptsParams = Lithic::Models::EventListAttemptsParams
@@ -5,7 +5,7 @@ module Lithic
5
5
  class CardAuthorizations
6
6
  # Card program's response to Authorization Challenge. Programs that have
7
7
  # Authorization Challenges configured as Out of Band receive a
8
- # [card_authorization.challenge](https://docs.lithic.com/reference/post_card-authorization-challenge)
8
+ # [card_authorization.challenge](https://docs.lithic.com/reference/cardauthorizationchallengewebhook)
9
9
  # webhook when an authorization attempt triggers a challenge. The card program
10
10
  # should respond using this endpoint after the cardholder completes the challenge.
11
11
  sig do
@@ -393,6 +393,9 @@ module Lithic
393
393
  )
394
394
  end
395
395
 
396
+ # **Deprecated.** Use the modern embedded card flow instead: create a session with
397
+ # `POST /v1/cards/{card_token}/embed` and render it via `GET /v1/embed`.
398
+ #
396
399
  # Handling full card PANs and CVV codes requires that you comply with the Payment
397
400
  # Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce
398
401
  # their compliance obligations by leveraging our embedded card UI solution
@@ -71,7 +71,7 @@ module Lithic
71
71
  # will be included. UTC time zone.
72
72
  begin_: nil,
73
73
  business_account_token: nil,
74
- # External Payment category to be returned.
74
+ # The external rail the funds moved on
75
75
  category: nil,
76
76
  # Date string in RFC 3339 format. Only entries created before the specified time
77
77
  # will be included. UTC time zone.