lithic 0.18.1 → 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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/account_activity_list_params.rb +2 -0
  5. data/lib/lithic/models/account_activity_list_response.rb +2 -0
  6. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +2 -0
  7. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -0
  8. data/lib/lithic/models/auth_rules/velocity_limit_period.rb +1 -1
  9. data/lib/lithic/models/book_transfer_create_params.rb +4 -0
  10. data/lib/lithic/models/book_transfer_list_params.rb +1 -0
  11. data/lib/lithic/models/book_transfer_response.rb +4 -0
  12. data/lib/lithic/models/embed_session_generated_webhook_event.rb +83 -0
  13. data/lib/lithic/models/embed_viewed_webhook_event.rb +85 -0
  14. data/lib/lithic/models/event.rb +44 -12
  15. data/lib/lithic/models/event_list_params.rb +23 -6
  16. data/lib/lithic/models/event_subscription.rb +23 -6
  17. data/lib/lithic/models/events/subscription_create_params.rb +23 -6
  18. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  19. data/lib/lithic/models/events/subscription_update_params.rb +23 -6
  20. data/lib/lithic/models/external_payment_list_params.rb +3 -3
  21. data/lib/lithic/models/financial_accounts/balance_list_params.rb +4 -3
  22. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +7 -0
  23. data/lib/lithic/models/financial_event.rb +5 -0
  24. data/lib/lithic/models/fraud/transaction_report_response.rb +8 -8
  25. data/lib/lithic/models/fraud/transaction_retrieve_response.rb +10 -8
  26. data/lib/lithic/models/parsed_webhook_event.rb +5 -1
  27. data/lib/lithic/models/payment.rb +28 -1
  28. data/lib/lithic/models/payment_list_params.rb +1 -0
  29. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +5 -11
  30. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +5 -11
  31. data/lib/lithic/models/transaction_monitoring/queue.rb +10 -1
  32. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +14 -1
  33. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +15 -1
  34. data/lib/lithic/models/transaction_simulate_clearing_params.rb +4 -3
  35. data/lib/lithic/models.rb +4 -0
  36. data/lib/lithic/resources/card_authorizations.rb +1 -1
  37. data/lib/lithic/resources/cards.rb +5 -0
  38. data/lib/lithic/resources/external_payments.rb +1 -1
  39. data/lib/lithic/resources/three_ds/decisioning.rb +1 -1
  40. data/lib/lithic/resources/transaction_monitoring/cases.rb +1 -1
  41. data/lib/lithic/resources/transaction_monitoring/queues.rb +12 -2
  42. data/lib/lithic/resources/transactions.rb +4 -3
  43. data/lib/lithic/resources/webhooks.rb +1 -1
  44. data/lib/lithic/version.rb +1 -1
  45. data/lib/lithic.rb +2 -1
  46. data/rbi/lithic/models/account_activity_list_params.rbi +10 -0
  47. data/rbi/lithic/models/account_activity_list_response.rbi +10 -0
  48. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +10 -0
  49. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +8 -0
  50. data/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +2 -2
  51. data/rbi/lithic/models/book_transfer_create_params.rbi +20 -0
  52. data/rbi/lithic/models/book_transfer_list_params.rbi +5 -0
  53. data/rbi/lithic/models/book_transfer_response.rbi +20 -0
  54. data/rbi/lithic/models/embed_session_generated_webhook_event.rbi +157 -0
  55. data/rbi/lithic/models/embed_viewed_webhook_event.rbi +146 -0
  56. data/rbi/lithic/models/event.rbi +70 -18
  57. data/rbi/lithic/models/event_list_params.rbi +31 -6
  58. data/rbi/lithic/models/event_subscription.rbi +31 -6
  59. data/rbi/lithic/models/events/subscription_create_params.rbi +31 -6
  60. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  61. data/rbi/lithic/models/events/subscription_update_params.rbi +31 -6
  62. data/rbi/lithic/models/external_payment_list_params.rbi +3 -3
  63. data/rbi/lithic/models/financial_accounts/balance_list_params.rbi +8 -6
  64. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +35 -0
  65. data/rbi/lithic/models/financial_event.rbi +22 -0
  66. data/rbi/lithic/models/fraud/transaction_report_response.rbi +16 -29
  67. data/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +16 -29
  68. data/rbi/lithic/models/parsed_webhook_event.rbi +2 -0
  69. data/rbi/lithic/models/payment.rbi +47 -0
  70. data/rbi/lithic/models/payment_list_params.rbi +2 -0
  71. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +8 -33
  72. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +7 -31
  73. data/rbi/lithic/models/transaction_monitoring/queue.rbi +10 -0
  74. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +12 -0
  75. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +14 -0
  76. data/rbi/lithic/models/transaction_simulate_clearing_params.rbi +8 -6
  77. data/rbi/lithic/models.rbi +5 -0
  78. data/rbi/lithic/resources/card_authorizations.rbi +1 -1
  79. data/rbi/lithic/resources/cards.rbi +3 -0
  80. data/rbi/lithic/resources/external_payments.rbi +1 -1
  81. data/rbi/lithic/resources/financial_accounts/balances.rbi +4 -3
  82. data/rbi/lithic/resources/three_ds/decisioning.rbi +1 -1
  83. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +3 -10
  84. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +11 -0
  85. data/rbi/lithic/resources/transactions.rbi +8 -6
  86. data/rbi/lithic/resources/webhooks.rbi +2 -0
  87. data/sig/lithic/models/account_activity_list_params.rbs +4 -0
  88. data/sig/lithic/models/account_activity_list_response.rbs +4 -0
  89. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +4 -0
  90. data/sig/lithic/models/auth_rules/conditional_ach_action_parameters.rbs +2 -0
  91. data/sig/lithic/models/book_transfer_create_params.rbs +8 -0
  92. data/sig/lithic/models/book_transfer_list_params.rbs +2 -0
  93. data/sig/lithic/models/book_transfer_response.rbs +8 -0
  94. data/sig/lithic/models/embed_session_generated_webhook_event.rbs +66 -0
  95. data/sig/lithic/models/embed_viewed_webhook_event.rbs +68 -0
  96. data/sig/lithic/models/event.rbs +4 -0
  97. data/sig/lithic/models/event_list_params.rbs +4 -0
  98. data/sig/lithic/models/event_subscription.rbs +4 -0
  99. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  100. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  101. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  102. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +14 -0
  103. data/sig/lithic/models/financial_event.rbs +10 -0
  104. data/sig/lithic/models/fraud/transaction_report_response.rbs +16 -26
  105. data/sig/lithic/models/fraud/transaction_retrieve_response.rbs +16 -26
  106. data/sig/lithic/models/parsed_webhook_event.rbs +2 -0
  107. data/sig/lithic/models/payment.rbs +15 -0
  108. data/sig/lithic/models/payment_list_params.rbs +2 -1
  109. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +5 -7
  110. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +4 -4
  111. data/sig/lithic/models/transaction_monitoring/queue.rbs +5 -0
  112. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +9 -1
  113. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +10 -1
  114. data/sig/lithic/models.rbs +4 -0
  115. data/sig/lithic/resources/transaction_monitoring/cases.rbs +1 -1
  116. data/sig/lithic/resources/transaction_monitoring/queues.rbs +2 -0
  117. data/sig/lithic/resources/webhooks.rbs +2 -0
  118. metadata +8 -5
  119. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +0 -28
  120. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +0 -61
  121. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +0 -24
@@ -25,9 +25,10 @@ module Lithic
25
25
  sig { params(balance_date: Time).void }
26
26
  attr_writer :balance_date
27
27
 
28
- # Balance after a given financial event occured. For example, passing the
29
- # event_token of a $5 CARD_CLEARING financial event will return a balance
30
- # decreased by $5
28
+ # Balance after a given financial event occured. Note: if an account receives
29
+ # multiple events around the same time whose financial impacts cancel out, a
30
+ # balance lookup by one of those event tokens may return 404, since their combined
31
+ # impact on the account is zero.
31
32
  sig { returns(T.nilable(String)) }
32
33
  attr_reader :last_transaction_event_token
33
34
 
@@ -46,9 +47,10 @@ module Lithic
46
47
  financial_account_token:,
47
48
  # UTC date of the balance to retrieve. Defaults to latest available balance
48
49
  balance_date: nil,
49
- # Balance after a given financial event occured. For example, passing the
50
- # event_token of a $5 CARD_CLEARING financial event will return a balance
51
- # decreased by $5
50
+ # Balance after a given financial event occured. Note: if an account receives
51
+ # multiple events around the same time whose financial impacts cancel out, a
52
+ # balance lookup by one of those event tokens may return 404, since their combined
53
+ # impact on the account is zero.
52
54
  last_transaction_event_token: nil,
53
55
  request_options: {}
54
56
  )
@@ -233,6 +233,11 @@ module Lithic
233
233
  :WIRE,
234
234
  Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol
235
235
  )
236
+ STABLECOIN =
237
+ T.let(
238
+ :STABLECOIN,
239
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol
240
+ )
236
241
  BALANCE_OR_FUNDING =
237
242
  T.let(
238
243
  :BALANCE_OR_FUNDING,
@@ -333,6 +338,11 @@ module Lithic
333
338
  :PROGRAM_FUNDING,
334
339
  Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol
335
340
  )
341
+ PROGRAM_TRANSFER =
342
+ T.let(
343
+ :PROGRAM_TRANSFER,
344
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol
345
+ )
336
346
 
337
347
  sig do
338
348
  override.returns(
@@ -762,6 +772,16 @@ module Lithic
762
772
  :LITHIC_NETWORK_PAYMENT,
763
773
  Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
764
774
  )
775
+ LITHIC_PROGRAM_TRANSFER =
776
+ T.let(
777
+ :LITHIC_PROGRAM_TRANSFER,
778
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
779
+ )
780
+ BANK_PROGRAM_TRANSFER =
781
+ T.let(
782
+ :BANK_PROGRAM_TRANSFER,
783
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
784
+ )
765
785
  ANNUAL =
766
786
  T.let(
767
787
  :ANNUAL,
@@ -797,6 +817,21 @@ module Lithic
797
817
  :ACCOUNT_TO_ACCOUNT,
798
818
  Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
799
819
  )
820
+ STABLECOIN_RECEIVED =
821
+ T.let(
822
+ :STABLECOIN_RECEIVED,
823
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
824
+ )
825
+ STABLECOIN_REVIEWED =
826
+ T.let(
827
+ :STABLECOIN_REVIEWED,
828
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
829
+ )
830
+ STABLECOIN_SETTLED =
831
+ T.let(
832
+ :STABLECOIN_SETTLED,
833
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
834
+ )
800
835
 
801
836
  sig do
802
837
  override.returns(
@@ -447,6 +447,16 @@ module Lithic
447
447
  :LITHIC_NETWORK_PAYMENT,
448
448
  Lithic::FinancialEvent::Type::TaggedSymbol
449
449
  )
450
+ LITHIC_PROGRAM_TRANSFER =
451
+ T.let(
452
+ :LITHIC_PROGRAM_TRANSFER,
453
+ Lithic::FinancialEvent::Type::TaggedSymbol
454
+ )
455
+ BANK_PROGRAM_TRANSFER =
456
+ T.let(
457
+ :BANK_PROGRAM_TRANSFER,
458
+ Lithic::FinancialEvent::Type::TaggedSymbol
459
+ )
450
460
  ANNUAL = T.let(:ANNUAL, Lithic::FinancialEvent::Type::TaggedSymbol)
451
461
  ANNUAL_REVERSAL =
452
462
  T.let(:ANNUAL_REVERSAL, Lithic::FinancialEvent::Type::TaggedSymbol)
@@ -459,6 +469,18 @@ module Lithic
459
469
  T.let(:MONTHLY_REVERSAL, Lithic::FinancialEvent::Type::TaggedSymbol)
460
470
  ACCOUNT_TO_ACCOUNT =
461
471
  T.let(:ACCOUNT_TO_ACCOUNT, Lithic::FinancialEvent::Type::TaggedSymbol)
472
+ STABLECOIN_RECEIVED =
473
+ T.let(
474
+ :STABLECOIN_RECEIVED,
475
+ Lithic::FinancialEvent::Type::TaggedSymbol
476
+ )
477
+ STABLECOIN_REVIEWED =
478
+ T.let(
479
+ :STABLECOIN_REVIEWED,
480
+ Lithic::FinancialEvent::Type::TaggedSymbol
481
+ )
482
+ STABLECOIN_SETTLED =
483
+ T.let(:STABLECOIN_SETTLED, Lithic::FinancialEvent::Type::TaggedSymbol)
462
484
 
463
485
  sig do
464
486
  override.returns(T::Array[Lithic::FinancialEvent::Type::TaggedSymbol])
@@ -40,17 +40,11 @@ module Lithic
40
40
 
41
41
  # Provides additional context or details about the fraud report.
42
42
  sig { returns(T.nilable(String)) }
43
- attr_reader :comment
44
-
45
- sig { params(comment: String).void }
46
- attr_writer :comment
43
+ attr_accessor :comment
47
44
 
48
45
  # Timestamp representing when the fraud report was created.
49
46
  sig { returns(T.nilable(Time)) }
50
- attr_reader :created_at
51
-
52
- sig { params(created_at: Time).void }
53
- attr_writer :created_at
47
+ attr_accessor :created_at
54
48
 
55
49
  # Specifies the type or category of fraud that the transaction is suspected or
56
50
  # confirmed to involve, string (enum) supporting the following values:
@@ -80,33 +74,24 @@ module Lithic
80
74
  )
81
75
  )
82
76
  end
83
- attr_reader :fraud_type
84
-
85
- sig do
86
- params(
87
- fraud_type:
88
- Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol
89
- ).void
90
- end
91
- attr_writer :fraud_type
77
+ attr_accessor :fraud_type
92
78
 
93
79
  # Timestamp representing the last update to the fraud report.
94
80
  sig { returns(T.nilable(Time)) }
95
- attr_reader :updated_at
96
-
97
- sig { params(updated_at: Time).void }
98
- attr_writer :updated_at
81
+ attr_accessor :updated_at
99
82
 
100
83
  sig do
101
84
  params(
102
85
  fraud_status:
103
86
  Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::OrSymbol,
104
87
  transaction_token: String,
105
- comment: String,
106
- created_at: Time,
88
+ comment: T.nilable(String),
89
+ created_at: T.nilable(Time),
107
90
  fraud_type:
108
- Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol,
109
- updated_at: Time
91
+ T.nilable(
92
+ Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol
93
+ ),
94
+ updated_at: T.nilable(Time)
110
95
  ).returns(T.attached_class)
111
96
  end
112
97
  def self.new(
@@ -165,11 +150,13 @@ module Lithic
165
150
  fraud_status:
166
151
  Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol,
167
152
  transaction_token: String,
168
- comment: String,
169
- created_at: Time,
153
+ comment: T.nilable(String),
154
+ created_at: T.nilable(Time),
170
155
  fraud_type:
171
- Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol,
172
- updated_at: Time
156
+ T.nilable(
157
+ Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
158
+ ),
159
+ updated_at: T.nilable(Time)
173
160
  }
174
161
  )
175
162
  end
@@ -40,17 +40,11 @@ module Lithic
40
40
 
41
41
  # Provides additional context or details about the fraud report.
42
42
  sig { returns(T.nilable(String)) }
43
- attr_reader :comment
44
-
45
- sig { params(comment: String).void }
46
- attr_writer :comment
43
+ attr_accessor :comment
47
44
 
48
45
  # Timestamp representing when the fraud report was created.
49
46
  sig { returns(T.nilable(Time)) }
50
- attr_reader :created_at
51
-
52
- sig { params(created_at: Time).void }
53
- attr_writer :created_at
47
+ attr_accessor :created_at
54
48
 
55
49
  # Specifies the type or category of fraud that the transaction is suspected or
56
50
  # confirmed to involve, string (enum) supporting the following values:
@@ -80,33 +74,24 @@ module Lithic
80
74
  )
81
75
  )
82
76
  end
83
- attr_reader :fraud_type
84
-
85
- sig do
86
- params(
87
- fraud_type:
88
- Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol
89
- ).void
90
- end
91
- attr_writer :fraud_type
77
+ attr_accessor :fraud_type
92
78
 
93
79
  # Timestamp representing the last update to the fraud report.
94
80
  sig { returns(T.nilable(Time)) }
95
- attr_reader :updated_at
96
-
97
- sig { params(updated_at: Time).void }
98
- attr_writer :updated_at
81
+ attr_accessor :updated_at
99
82
 
100
83
  sig do
101
84
  params(
102
85
  fraud_status:
103
86
  Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::OrSymbol,
104
87
  transaction_token: String,
105
- comment: String,
106
- created_at: Time,
88
+ comment: T.nilable(String),
89
+ created_at: T.nilable(Time),
107
90
  fraud_type:
108
- Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol,
109
- updated_at: Time
91
+ T.nilable(
92
+ Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol
93
+ ),
94
+ updated_at: T.nilable(Time)
110
95
  ).returns(T.attached_class)
111
96
  end
112
97
  def self.new(
@@ -165,11 +150,13 @@ module Lithic
165
150
  fraud_status:
166
151
  Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol,
167
152
  transaction_token: String,
168
- comment: String,
169
- created_at: Time,
153
+ comment: T.nilable(String),
154
+ created_at: T.nilable(Time),
170
155
  fraud_type:
171
- Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol,
172
- updated_at: Time
156
+ T.nilable(
157
+ Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
158
+ ),
159
+ updated_at: T.nilable(Time)
173
160
  }
174
161
  )
175
162
  end
@@ -43,6 +43,8 @@ module Lithic
43
43
  Lithic::DigitalWalletTokenizationUpdatedWebhookEvent,
44
44
  Lithic::DisputeUpdatedWebhookEvent,
45
45
  Lithic::DisputeEvidenceUploadFailedWebhookEvent,
46
+ Lithic::EmbedSessionGeneratedWebhookEvent,
47
+ Lithic::EmbedViewedWebhookEvent,
46
48
  Lithic::ExternalBankAccountCreatedWebhookEvent,
47
49
  Lithic::ExternalBankAccountUpdatedWebhookEvent,
48
50
  Lithic::ExternalPaymentCreatedWebhookEvent,
@@ -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
 
@@ -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