From 4e4dfb78069500939027ed67d445d63160cd9e1c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 21:54:35 +0000 Subject: [PATCH 1/8] feat(api): add limit_cash_amount and limit_cash_count to velocity limit params --- .stats.yml | 4 +-- .../auth_rules/velocity_limit_params.rb | 25 +++++++++++++++- .../auth_rules/velocity_limit_params.rbi | 30 +++++++++++++++++++ .../auth_rules/velocity_limit_params.rbs | 10 +++++++ 4 files changed, 66 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index a5715819..51c96b22 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-59c09c7355b21b663e001d2ee1086ebd0a70d9b5433823282bca296eedff9eb0.yml -openapi_spec_hash: d9c3b932c810809abc6e973d662ad376 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-1d6c7b672aa49dfe0fe5175965307f63a0ed42c13697b2f9f3b9275f32331937.yml +openapi_spec_hash: 06e73960c7506484c589d718fa1ddad8 config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/auth_rules/velocity_limit_params.rb b/lib/lithic/models/auth_rules/velocity_limit_params.rb index fab01fca..27cb0d30 100644 --- a/lib/lithic/models/auth_rules/velocity_limit_params.rb +++ b/lib/lithic/models/auth_rules/velocity_limit_params.rb @@ -29,6 +29,25 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel # @return [Integer, nil] optional :limit_amount, Integer, nil?: true + # @!attribute limit_cash_amount + # The maximum amount of cash spend velocity allowed in the period in minor units + # (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM + # withdrawals, cash disbursements, and purchases with cashback. Transactions + # exceeding this limit will be declined. + # + # @return [Integer, nil] + optional :limit_cash_amount, Integer, nil?: true + + # @!attribute limit_cash_count + # The number of cash spend velocity impacting transactions may not exceed this + # limit in the period. Transactions exceeding this limit will be declined. A cash + # velocity impacting transaction is an ATM withdrawal, cash disbursement, or + # purchase with cashback that has been authorized, and optionally settled, or a + # force post (a transaction that settled without prior authorization). + # + # @return [Integer, nil] + optional :limit_cash_count, Integer, nil?: true + # @!attribute limit_count # The number of spend velocity impacting transactions may not exceed this limit in # the period. Transactions exceeding this limit will be declined. A spend velocity @@ -39,7 +58,7 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel # @return [Integer, nil] optional :limit_count, Integer, nil?: true - # @!method initialize(period:, scope:, filters: nil, limit_amount: nil, limit_count: nil) + # @!method initialize(period:, scope:, filters: nil, limit_amount: nil, limit_cash_amount: nil, limit_cash_count: nil, limit_count: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::AuthRules::VelocityLimitParams} for more details. # @@ -51,6 +70,10 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel # # @param limit_amount [Integer, nil] The maximum amount of spend velocity allowed in the period in minor units (the s # + # @param limit_cash_amount [Integer, nil] The maximum amount of cash spend velocity allowed in the period in minor units ( + # + # @param limit_cash_count [Integer, nil] The number of cash spend velocity impacting transactions may not exceed this lim + # # @param limit_count [Integer, nil] The number of spend velocity impacting transactions may not exceed this limit in # The scope the velocity is calculated for diff --git a/rbi/lithic/models/auth_rules/velocity_limit_params.rbi b/rbi/lithic/models/auth_rules/velocity_limit_params.rbi index d050b654..c25e5ae5 100644 --- a/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +++ b/rbi/lithic/models/auth_rules/velocity_limit_params.rbi @@ -44,6 +44,21 @@ module Lithic sig { returns(T.nilable(Integer)) } attr_accessor :limit_amount + # The maximum amount of cash spend velocity allowed in the period in minor units + # (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM + # withdrawals, cash disbursements, and purchases with cashback. Transactions + # exceeding this limit will be declined. + sig { returns(T.nilable(Integer)) } + attr_accessor :limit_cash_amount + + # The number of cash spend velocity impacting transactions may not exceed this + # limit in the period. Transactions exceeding this limit will be declined. A cash + # velocity impacting transaction is an ATM withdrawal, cash disbursement, or + # purchase with cashback that has been authorized, and optionally settled, or a + # force post (a transaction that settled without prior authorization). + sig { returns(T.nilable(Integer)) } + attr_accessor :limit_cash_count + # The number of spend velocity impacting transactions may not exceed this limit in # the period. Transactions exceeding this limit will be declined. A spend velocity # impacting transaction is a transaction that has been authorized, and optionally @@ -65,6 +80,8 @@ module Lithic scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol, filters: Lithic::AuthRules::VelocityLimitFilters::OrHash, limit_amount: T.nilable(Integer), + limit_cash_amount: T.nilable(Integer), + limit_cash_count: T.nilable(Integer), limit_count: T.nilable(Integer) ).returns(T.attached_class) end @@ -78,6 +95,17 @@ module Lithic # smallest unit of a currency, e.g. cents for USD). Transactions exceeding this # limit will be declined. limit_amount: nil, + # The maximum amount of cash spend velocity allowed in the period in minor units + # (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM + # withdrawals, cash disbursements, and purchases with cashback. Transactions + # exceeding this limit will be declined. + limit_cash_amount: nil, + # The number of cash spend velocity impacting transactions may not exceed this + # limit in the period. Transactions exceeding this limit will be declined. A cash + # velocity impacting transaction is an ATM withdrawal, cash disbursement, or + # purchase with cashback that has been authorized, and optionally settled, or a + # force post (a transaction that settled without prior authorization). + limit_cash_count: nil, # The number of spend velocity impacting transactions may not exceed this limit in # the period. Transactions exceeding this limit will be declined. A spend velocity # impacting transaction is a transaction that has been authorized, and optionally @@ -101,6 +129,8 @@ module Lithic scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol, filters: Lithic::AuthRules::VelocityLimitFilters, limit_amount: T.nilable(Integer), + limit_cash_amount: T.nilable(Integer), + limit_cash_count: T.nilable(Integer), limit_count: T.nilable(Integer) } ) diff --git a/sig/lithic/models/auth_rules/velocity_limit_params.rbs b/sig/lithic/models/auth_rules/velocity_limit_params.rbs index cd93489d..ce06d04f 100644 --- a/sig/lithic/models/auth_rules/velocity_limit_params.rbs +++ b/sig/lithic/models/auth_rules/velocity_limit_params.rbs @@ -7,6 +7,8 @@ module Lithic scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, filters: Lithic::AuthRules::VelocityLimitFilters, limit_amount: Integer?, + limit_cash_amount: Integer?, + limit_cash_count: Integer?, limit_count: Integer? } @@ -23,6 +25,10 @@ module Lithic attr_accessor limit_amount: Integer? + attr_accessor limit_cash_amount: Integer? + + attr_accessor limit_cash_count: Integer? + attr_accessor limit_count: Integer? def initialize: ( @@ -30,6 +36,8 @@ module Lithic scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, ?filters: Lithic::AuthRules::VelocityLimitFilters, ?limit_amount: Integer?, + ?limit_cash_amount: Integer?, + ?limit_cash_count: Integer?, ?limit_count: Integer? ) -> void @@ -38,6 +46,8 @@ module Lithic scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, filters: Lithic::AuthRules::VelocityLimitFilters, limit_amount: Integer?, + limit_cash_amount: Integer?, + limit_cash_count: Integer?, limit_count: Integer? } From c46e82cc5bf4560c31adc1ebd6e991b55a1c3f2d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 14:24:48 +0000 Subject: [PATCH 2/8] feat(api): add blockchain_addresses field to FinancialAccount model --- .stats.yml | 4 ++-- lib/lithic/models/financial_account.rb | 14 +++++++++++++- rbi/lithic/models/financial_account.rbi | 10 ++++++++++ sig/lithic/models/financial_account.rbs | 5 +++++ test/lithic/resources/financial_accounts_test.rb | 5 +++++ 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 51c96b22..12c884de 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-1d6c7b672aa49dfe0fe5175965307f63a0ed42c13697b2f9f3b9275f32331937.yml -openapi_spec_hash: 06e73960c7506484c589d718fa1ddad8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-81febc26f7987ef8f74f2038dddd4799a1e77b2c64d2fe36c2c9f2eb5079476b.yml +openapi_spec_hash: 91e4b19977ca68b988862e967be57d26 config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/financial_account.rb b/lib/lithic/models/financial_account.rb index 2cb731e3..2dc28bf5 100644 --- a/lib/lithic/models/financial_account.rb +++ b/lib/lithic/models/financial_account.rb @@ -69,12 +69,22 @@ class FinancialAccount < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :account_number, String, nil?: true + # @!attribute blockchain_addresses + # Provisioned blockchain deposit addresses for this financial account, keyed by + # the blockchain network that each address belongs to + # + # @return [Hash{Symbol=>String}, nil] + optional :blockchain_addresses, Lithic::Internal::Type::HashOf[String], nil?: true + # @!attribute routing_number # # @return [String, nil] optional :routing_number, String, nil?: true - # @!method initialize(token:, account_token:, created:, credit_configuration:, is_for_benefit_of:, nickname:, status:, substatus:, type:, updated:, user_defined_status:, account_number: nil, routing_number: nil) + # @!method initialize(token:, account_token:, created:, credit_configuration:, is_for_benefit_of:, nickname:, status:, substatus:, type:, updated:, user_defined_status:, account_number: nil, blockchain_addresses: nil, routing_number: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::FinancialAccount} for more details. + # # @param token [String] Globally unique identifier for the account # # @param account_token [String, nil] @@ -99,6 +109,8 @@ class FinancialAccount < Lithic::Internal::Type::BaseModel # # @param account_number [String, nil] # + # @param blockchain_addresses [Hash{Symbol=>String}, nil] Provisioned blockchain deposit addresses for this financial account, keyed by th + # # @param routing_number [String, nil] # @see Lithic::Models::FinancialAccount#credit_configuration diff --git a/rbi/lithic/models/financial_account.rbi b/rbi/lithic/models/financial_account.rbi index c80f0ef0..ba66ebf0 100644 --- a/rbi/lithic/models/financial_account.rbi +++ b/rbi/lithic/models/financial_account.rbi @@ -59,6 +59,11 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :account_number + # Provisioned blockchain deposit addresses for this financial account, keyed by + # the blockchain network that each address belongs to + sig { returns(T.nilable(T::Hash[Symbol, String])) } + attr_accessor :blockchain_addresses + sig { returns(T.nilable(String)) } attr_accessor :routing_number @@ -77,6 +82,7 @@ module Lithic updated: Time, user_defined_status: T.nilable(String), account_number: T.nilable(String), + blockchain_addresses: T.nilable(T::Hash[Symbol, String]), routing_number: T.nilable(String) ).returns(T.attached_class) end @@ -98,6 +104,9 @@ module Lithic # User-defined status for the financial account user_defined_status:, account_number: nil, + # Provisioned blockchain deposit addresses for this financial account, keyed by + # the blockchain network that each address belongs to + blockchain_addresses: nil, routing_number: nil ) end @@ -119,6 +128,7 @@ module Lithic updated: Time, user_defined_status: T.nilable(String), account_number: T.nilable(String), + blockchain_addresses: T.nilable(T::Hash[Symbol, String]), routing_number: T.nilable(String) } ) diff --git a/sig/lithic/models/financial_account.rbs b/sig/lithic/models/financial_account.rbs index 60fed134..9cb396d8 100644 --- a/sig/lithic/models/financial_account.rbs +++ b/sig/lithic/models/financial_account.rbs @@ -14,6 +14,7 @@ module Lithic updated: Time, user_defined_status: String?, account_number: String?, + blockchain_addresses: ::Hash[Symbol, String]?, routing_number: String? } @@ -42,6 +43,8 @@ module Lithic attr_accessor account_number: String? + attr_accessor blockchain_addresses: ::Hash[Symbol, String]? + attr_accessor routing_number: String? def initialize: ( @@ -57,6 +60,7 @@ module Lithic updated: Time, user_defined_status: String?, ?account_number: String?, + ?blockchain_addresses: ::Hash[Symbol, String]?, ?routing_number: String? ) -> void @@ -73,6 +77,7 @@ module Lithic updated: Time, user_defined_status: String?, account_number: String?, + blockchain_addresses: ::Hash[Symbol, String]?, routing_number: String? } diff --git a/test/lithic/resources/financial_accounts_test.rb b/test/lithic/resources/financial_accounts_test.rb index 862cf2e7..585a4580 100644 --- a/test/lithic/resources/financial_accounts_test.rb +++ b/test/lithic/resources/financial_accounts_test.rb @@ -24,6 +24,7 @@ def test_create_required_params updated: Time, user_defined_status: String | nil, account_number: String | nil, + blockchain_addresses: ^(Lithic::Internal::Type::HashOf[String]) | nil, routing_number: String | nil } end @@ -50,6 +51,7 @@ def test_retrieve updated: Time, user_defined_status: String | nil, account_number: String | nil, + blockchain_addresses: ^(Lithic::Internal::Type::HashOf[String]) | nil, routing_number: String | nil } end @@ -76,6 +78,7 @@ def test_update updated: Time, user_defined_status: String | nil, account_number: String | nil, + blockchain_addresses: ^(Lithic::Internal::Type::HashOf[String]) | nil, routing_number: String | nil } end @@ -109,6 +112,7 @@ def test_list updated: Time, user_defined_status: String | nil, account_number: String | nil, + blockchain_addresses: ^(Lithic::Internal::Type::HashOf[String]) | nil, routing_number: String | nil } end @@ -152,6 +156,7 @@ def test_update_status_required_params updated: Time, user_defined_status: String | nil, account_number: String | nil, + blockchain_addresses: ^(Lithic::Internal::Type::HashOf[String]) | nil, routing_number: String | nil } end From b520213ceec3af853f96b5ca9e8ef32a34169a0a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 18:52:31 +0000 Subject: [PATCH 3/8] docs(api): update cvv field documentation in Card and tokenization --- .stats.yml | 4 ++-- lib/lithic/models/card.rb | 4 ++-- lib/lithic/models/tokenization_simulate_params.rb | 4 ++-- lib/lithic/resources/tokenizations.rb | 2 +- rbi/lithic/models/card.rbi | 4 ++-- rbi/lithic/models/tokenization_simulate_params.rbi | 4 ++-- rbi/lithic/resources/tokenizations.rbi | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.stats.yml b/.stats.yml index 12c884de..fa0f5509 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-81febc26f7987ef8f74f2038dddd4799a1e77b2c64d2fe36c2c9f2eb5079476b.yml -openapi_spec_hash: 91e4b19977ca68b988862e967be57d26 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-c150a226e74fdd73925fcba89261022e91a6d4f57dbb305a54063499641427ae.yml +openapi_spec_hash: 1df81bae378c3cbf265b0fb4cefa2969 config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/card.rb b/lib/lithic/models/card.rb index cf117a9b..84bc3062 100644 --- a/lib/lithic/models/card.rb +++ b/lib/lithic/models/card.rb @@ -5,7 +5,7 @@ module Models # @see Lithic::Resources::Cards#create class Card < Lithic::Models::NonPCICard # @!attribute cvv - # Three digit cvv printed on the back of the card. + # Three or four digit CVV printed on the card. Amex cards use four digit CVVs # # @return [String, nil] optional :cvv, String @@ -24,7 +24,7 @@ class Card < Lithic::Models::NonPCICard # # Card details with potentially PCI sensitive information for Enterprise customers # - # @param cvv [String] Three digit cvv printed on the back of the card. + # @param cvv [String] Three or four digit CVV printed on the card. Amex cards use four digit CVVs # # @param pan [String] Primary Account Number (PAN) (i.e. the card number). Customers must be PCI compl end diff --git a/lib/lithic/models/tokenization_simulate_params.rb b/lib/lithic/models/tokenization_simulate_params.rb index ef9106f9..a8a79c02 100644 --- a/lib/lithic/models/tokenization_simulate_params.rb +++ b/lib/lithic/models/tokenization_simulate_params.rb @@ -8,7 +8,7 @@ class TokenizationSimulateParams < Lithic::Internal::Type::BaseModel include Lithic::Internal::Type::RequestParameters # @!attribute cvv - # The three digit cvv for the card. + # The three or four digit CVV for the card. AMEX cards use four digit CVVs. # # @return [String] required :cvv, String @@ -63,7 +63,7 @@ class TokenizationSimulateParams < Lithic::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {Lithic::Models::TokenizationSimulateParams} for more details. # - # @param cvv [String] The three digit cvv for the card. + # @param cvv [String] The three or four digit CVV for the card. AMEX cards use four digit CVVs. # # @param expiration_date [String] The expiration date of the card in 'MM/YY' format. # diff --git a/lib/lithic/resources/tokenizations.rb b/lib/lithic/resources/tokenizations.rb index 5ab741d8..7052a142 100644 --- a/lib/lithic/resources/tokenizations.rb +++ b/lib/lithic/resources/tokenizations.rb @@ -190,7 +190,7 @@ def resend_activation_code(tokenization_token, params = {}) # # @overload simulate(cvv:, expiration_date:, pan:, tokenization_source:, account_score: nil, device_score: nil, entity: nil, wallet_recommended_decision: nil, request_options: {}) # - # @param cvv [String] The three digit cvv for the card. + # @param cvv [String] The three or four digit CVV for the card. AMEX cards use four digit CVVs. # # @param expiration_date [String] The expiration date of the card in 'MM/YY' format. # diff --git a/rbi/lithic/models/card.rbi b/rbi/lithic/models/card.rbi index 61acefb0..8717c308 100644 --- a/rbi/lithic/models/card.rbi +++ b/rbi/lithic/models/card.rbi @@ -5,7 +5,7 @@ module Lithic class Card < Lithic::Models::NonPCICard OrHash = T.type_alias { T.any(Lithic::Card, Lithic::Internal::AnyHash) } - # Three digit cvv printed on the back of the card. + # Three or four digit CVV printed on the card. Amex cards use four digit CVVs sig { returns(T.nilable(String)) } attr_reader :cvv @@ -24,7 +24,7 @@ module Lithic # Card details with potentially PCI sensitive information for Enterprise customers sig { params(cvv: String, pan: String).returns(T.attached_class) } def self.new( - # Three digit cvv printed on the back of the card. + # Three or four digit CVV printed on the card. Amex cards use four digit CVVs cvv: nil, # Primary Account Number (PAN) (i.e. the card number). Customers must be PCI # compliant to have PAN returned as a field in production. Please contact diff --git a/rbi/lithic/models/tokenization_simulate_params.rbi b/rbi/lithic/models/tokenization_simulate_params.rbi index b56b7e96..7f3f0179 100644 --- a/rbi/lithic/models/tokenization_simulate_params.rbi +++ b/rbi/lithic/models/tokenization_simulate_params.rbi @@ -11,7 +11,7 @@ module Lithic T.any(Lithic::TokenizationSimulateParams, Lithic::Internal::AnyHash) end - # The three digit cvv for the card. + # The three or four digit CVV for the card. AMEX cards use four digit CVVs. sig { returns(String) } attr_accessor :cvv @@ -89,7 +89,7 @@ module Lithic ).returns(T.attached_class) end def self.new( - # The three digit cvv for the card. + # The three or four digit CVV for the card. AMEX cards use four digit CVVs. cvv:, # The expiration date of the card in 'MM/YY' format. expiration_date:, diff --git a/rbi/lithic/resources/tokenizations.rbi b/rbi/lithic/resources/tokenizations.rbi index 12d04ff9..79a48c69 100644 --- a/rbi/lithic/resources/tokenizations.rbi +++ b/rbi/lithic/resources/tokenizations.rbi @@ -167,7 +167,7 @@ module Lithic ).returns(Lithic::Tokenization) end def simulate( - # The three digit cvv for the card. + # The three or four digit CVV for the card. AMEX cards use four digit CVVs. cvv:, # The expiration date of the card in 'MM/YY' format. expiration_date:, From 2f1fbca332e111e3624d834a774db3f7d979f4a4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 23:24:43 +0000 Subject: [PATCH 4/8] feat(api): add stablecoin event types to payment/financial_event/statement_line_items --- .stats.yml | 4 +- lib/lithic/models/financial_account.rb | 3 +- .../statements/statement_line_items.rb | 3 + lib/lithic/models/financial_event.rb | 3 + lib/lithic/models/payment.rb | 31 ++++++++-- rbi/lithic/models/financial_account.rbi | 6 +- .../statements/statement_line_items.rbi | 15 +++++ rbi/lithic/models/financial_event.rbi | 12 ++++ rbi/lithic/models/payment.rbi | 56 ++++++++++++++++--- .../statements/statement_line_items.rbs | 6 ++ sig/lithic/models/financial_event.rbs | 6 ++ sig/lithic/models/payment.rbs | 6 ++ 12 files changed, 133 insertions(+), 18 deletions(-) diff --git a/.stats.yml b/.stats.yml index fa0f5509..7149eb0d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-c150a226e74fdd73925fcba89261022e91a6d4f57dbb305a54063499641427ae.yml -openapi_spec_hash: 1df81bae378c3cbf265b0fb4cefa2969 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-4ea61aa22fa852629c506efa84f633535d32a7133bdf3ae2d09040d2fb6caeb2.yml +openapi_spec_hash: 76c21b84082530356fe45eed27e84cfe config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/financial_account.rb b/lib/lithic/models/financial_account.rb index 2dc28bf5..2db52b0d 100644 --- a/lib/lithic/models/financial_account.rb +++ b/lib/lithic/models/financial_account.rb @@ -71,7 +71,8 @@ class FinancialAccount < Lithic::Internal::Type::BaseModel # @!attribute blockchain_addresses # Provisioned blockchain deposit addresses for this financial account, keyed by - # the blockchain network that each address belongs to + # the full name of the blockchain network that each address belongs to (e.g. + # `ETHEREUM`) # # @return [Hash{Symbol=>String}, nil] optional :blockchain_addresses, Lithic::Internal::Type::HashOf[String], nil?: true diff --git a/lib/lithic/models/financial_accounts/statements/statement_line_items.rb b/lib/lithic/models/financial_accounts/statements/statement_line_items.rb index 3041c2ff..5023e2b2 100644 --- a/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +++ b/lib/lithic/models/financial_accounts/statements/statement_line_items.rb @@ -272,8 +272,11 @@ module EventType MONTHLY_REVERSAL = :MONTHLY_REVERSAL ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT STABLECOIN_RECEIVED = :STABLECOIN_RECEIVED + STABLECOIN_INITIATED = :STABLECOIN_INITIATED STABLECOIN_REVIEWED = :STABLECOIN_REVIEWED + STABLECOIN_SENT = :STABLECOIN_SENT STABLECOIN_SETTLED = :STABLECOIN_SETTLED + STABLECOIN_REJECTED = :STABLECOIN_REJECTED # @!method self.values # @return [Array] diff --git a/lib/lithic/models/financial_event.rb b/lib/lithic/models/financial_event.rb index 2dadb051..1e111999 100644 --- a/lib/lithic/models/financial_event.rb +++ b/lib/lithic/models/financial_event.rb @@ -159,8 +159,11 @@ module Type MONTHLY_REVERSAL = :MONTHLY_REVERSAL ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT STABLECOIN_RECEIVED = :STABLECOIN_RECEIVED + STABLECOIN_INITIATED = :STABLECOIN_INITIATED STABLECOIN_REVIEWED = :STABLECOIN_REVIEWED + STABLECOIN_SENT = :STABLECOIN_SENT STABLECOIN_SETTLED = :STABLECOIN_SETTLED + STABLECOIN_REJECTED = :STABLECOIN_REJECTED # @!method self.values # @return [Array] diff --git a/lib/lithic/models/payment.rb b/lib/lithic/models/payment.rb index 99d200f1..04a1be97 100644 --- a/lib/lithic/models/payment.rb +++ b/lib/lithic/models/payment.rb @@ -327,8 +327,16 @@ class Event < Lithic::Internal::Type::BaseModel # # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending # release to available balance. - # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process. - # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance. + # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds + # placed on hold. + # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the + # review process. + # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to + # the destination address, and pending confirmation. + # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance, + # or stablecoin withdrawal confirmed on-chain. + # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at + # initiation has been reversed. # # @return [Symbol, Lithic::Models::Payment::Event::Type] required :type, enum: -> { Lithic::Payment::Event::Type } @@ -343,7 +351,9 @@ class Event < Lithic::Internal::Type::BaseModel # @!attribute external_id # Payment event external ID. For ACH transactions, this is the ACH trace number. # For inbound wire transfers, this is the IMAD (Input Message Accountability - # Data). + # Data). For stablecoin payments, this is the on-chain transaction hash of the + # transfer; it is present on events that reflect on-chain activity and null on + # internal lifecycle events. # # @return [String, nil] optional :external_id, String, nil?: true @@ -443,8 +453,16 @@ module Result # # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending # release to available balance. - # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process. - # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance. + # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds + # placed on hold. + # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the + # review process. + # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to + # the destination address, and pending confirmation. + # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance, + # or stablecoin withdrawal confirmed on-chain. + # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at + # initiation has been reversed. # # @see Lithic::Models::Payment::Event#type module Type @@ -473,8 +491,11 @@ module Type WIRE_RETURN_OUTBOUND_SETTLED = :WIRE_RETURN_OUTBOUND_SETTLED WIRE_RETURN_OUTBOUND_REJECTED = :WIRE_RETURN_OUTBOUND_REJECTED STABLECOIN_RECEIVED = :STABLECOIN_RECEIVED + STABLECOIN_INITIATED = :STABLECOIN_INITIATED STABLECOIN_REVIEWED = :STABLECOIN_REVIEWED + STABLECOIN_SENT = :STABLECOIN_SENT STABLECOIN_SETTLED = :STABLECOIN_SETTLED + STABLECOIN_REJECTED = :STABLECOIN_REJECTED # @!method self.values # @return [Array] diff --git a/rbi/lithic/models/financial_account.rbi b/rbi/lithic/models/financial_account.rbi index ba66ebf0..421ac2ac 100644 --- a/rbi/lithic/models/financial_account.rbi +++ b/rbi/lithic/models/financial_account.rbi @@ -60,7 +60,8 @@ module Lithic attr_accessor :account_number # Provisioned blockchain deposit addresses for this financial account, keyed by - # the blockchain network that each address belongs to + # the full name of the blockchain network that each address belongs to (e.g. + # `ETHEREUM`) sig { returns(T.nilable(T::Hash[Symbol, String])) } attr_accessor :blockchain_addresses @@ -105,7 +106,8 @@ module Lithic user_defined_status:, account_number: nil, # Provisioned blockchain deposit addresses for this financial account, keyed by - # the blockchain network that each address belongs to + # the full name of the blockchain network that each address belongs to (e.g. + # `ETHEREUM`) blockchain_addresses: nil, routing_number: nil ) diff --git a/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi b/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi index 6a526d5a..d170987e 100644 --- a/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +++ b/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi @@ -822,16 +822,31 @@ module Lithic :STABLECOIN_RECEIVED, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol ) + STABLECOIN_INITIATED = + T.let( + :STABLECOIN_INITIATED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) STABLECOIN_REVIEWED = T.let( :STABLECOIN_REVIEWED, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol ) + STABLECOIN_SENT = + T.let( + :STABLECOIN_SENT, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) STABLECOIN_SETTLED = T.let( :STABLECOIN_SETTLED, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol ) + STABLECOIN_REJECTED = + T.let( + :STABLECOIN_REJECTED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/financial_event.rbi b/rbi/lithic/models/financial_event.rbi index 3b74a113..7de815e5 100644 --- a/rbi/lithic/models/financial_event.rbi +++ b/rbi/lithic/models/financial_event.rbi @@ -474,13 +474,25 @@ module Lithic :STABLECOIN_RECEIVED, Lithic::FinancialEvent::Type::TaggedSymbol ) + STABLECOIN_INITIATED = + T.let( + :STABLECOIN_INITIATED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) STABLECOIN_REVIEWED = T.let( :STABLECOIN_REVIEWED, Lithic::FinancialEvent::Type::TaggedSymbol ) + STABLECOIN_SENT = + T.let(:STABLECOIN_SENT, Lithic::FinancialEvent::Type::TaggedSymbol) STABLECOIN_SETTLED = T.let(:STABLECOIN_SETTLED, Lithic::FinancialEvent::Type::TaggedSymbol) + STABLECOIN_REJECTED = + T.let( + :STABLECOIN_REJECTED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) sig do override.returns(T::Array[Lithic::FinancialEvent::Type::TaggedSymbol]) diff --git a/rbi/lithic/models/payment.rbi b/rbi/lithic/models/payment.rbi index 85121151..60b0629b 100644 --- a/rbi/lithic/models/payment.rbi +++ b/rbi/lithic/models/payment.rbi @@ -387,8 +387,16 @@ module Lithic # # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending # release to available balance. - # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process. - # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance. + # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds + # placed on hold. + # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the + # review process. + # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to + # the destination address, and pending confirmation. + # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance, + # or stablecoin withdrawal confirmed on-chain. + # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at + # initiation has been reversed. sig { returns(Lithic::Payment::Event::Type::TaggedSymbol) } attr_accessor :type @@ -412,7 +420,9 @@ module Lithic # Payment event external ID. For ACH transactions, this is the ACH trace number. # For inbound wire transfers, this is the IMAD (Input Message Accountability - # Data). + # Data). For stablecoin payments, this is the on-chain transaction hash of the + # transfer; it is present on events that reflect on-chain activity and null on + # internal lifecycle events. sig { returns(T.nilable(String)) } attr_accessor :external_id @@ -501,14 +511,24 @@ module Lithic # # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending # release to available balance. - # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process. - # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance. + # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds + # placed on hold. + # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the + # review process. + # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to + # the destination address, and pending confirmation. + # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance, + # or stablecoin withdrawal confirmed on-chain. + # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at + # initiation has been reversed. type:, # More detailed reasons for the event detailed_results: nil, # Payment event external ID. For ACH transactions, this is the ACH trace number. # For inbound wire transfers, this is the IMAD (Input Message Accountability - # Data). + # Data). For stablecoin payments, this is the on-chain transaction hash of the + # transfer; it is present on events that reflect on-chain activity and null on + # internal lifecycle events. external_id: nil ) end @@ -610,8 +630,16 @@ module Lithic # # - `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending # release to available balance. - # - `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process. - # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance. + # - `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds + # placed on hold. + # - `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the + # review process. + # - `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to + # the destination address, and pending confirmation. + # - `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance, + # or stablecoin withdrawal confirmed on-chain. + # - `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at + # initiation has been reversed. module Type extend Lithic::Internal::Type::Enum @@ -734,16 +762,28 @@ module Lithic :STABLECOIN_RECEIVED, Lithic::Payment::Event::Type::TaggedSymbol ) + STABLECOIN_INITIATED = + T.let( + :STABLECOIN_INITIATED, + Lithic::Payment::Event::Type::TaggedSymbol + ) STABLECOIN_REVIEWED = T.let( :STABLECOIN_REVIEWED, Lithic::Payment::Event::Type::TaggedSymbol ) + STABLECOIN_SENT = + T.let(:STABLECOIN_SENT, Lithic::Payment::Event::Type::TaggedSymbol) STABLECOIN_SETTLED = T.let( :STABLECOIN_SETTLED, Lithic::Payment::Event::Type::TaggedSymbol ) + STABLECOIN_REJECTED = + T.let( + :STABLECOIN_REJECTED, + Lithic::Payment::Event::Type::TaggedSymbol + ) sig do override.returns( diff --git a/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs b/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs index 68bfec54..fb3bac8e 100644 --- a/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +++ b/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs @@ -257,8 +257,11 @@ module Lithic | :MONTHLY_REVERSAL | :ACCOUNT_TO_ACCOUNT | :STABLECOIN_RECEIVED + | :STABLECOIN_INITIATED | :STABLECOIN_REVIEWED + | :STABLECOIN_SENT | :STABLECOIN_SETTLED + | :STABLECOIN_REJECTED module EventType extend Lithic::Internal::Type::Enum @@ -354,8 +357,11 @@ module Lithic MONTHLY_REVERSAL: :MONTHLY_REVERSAL ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT STABLECOIN_RECEIVED: :STABLECOIN_RECEIVED + STABLECOIN_INITIATED: :STABLECOIN_INITIATED STABLECOIN_REVIEWED: :STABLECOIN_REVIEWED + STABLECOIN_SENT: :STABLECOIN_SENT STABLECOIN_SETTLED: :STABLECOIN_SETTLED + STABLECOIN_REJECTED: :STABLECOIN_REJECTED def self?.values: -> ::Array[Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::event_type] end diff --git a/sig/lithic/models/financial_event.rbs b/sig/lithic/models/financial_event.rbs index 325179cc..a5f3e9ca 100644 --- a/sig/lithic/models/financial_event.rbs +++ b/sig/lithic/models/financial_event.rbs @@ -153,8 +153,11 @@ module Lithic | :MONTHLY_REVERSAL | :ACCOUNT_TO_ACCOUNT | :STABLECOIN_RECEIVED + | :STABLECOIN_INITIATED | :STABLECOIN_REVIEWED + | :STABLECOIN_SENT | :STABLECOIN_SETTLED + | :STABLECOIN_REJECTED module Type extend Lithic::Internal::Type::Enum @@ -250,8 +253,11 @@ module Lithic MONTHLY_REVERSAL: :MONTHLY_REVERSAL ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT STABLECOIN_RECEIVED: :STABLECOIN_RECEIVED + STABLECOIN_INITIATED: :STABLECOIN_INITIATED STABLECOIN_REVIEWED: :STABLECOIN_REVIEWED + STABLECOIN_SENT: :STABLECOIN_SENT STABLECOIN_SETTLED: :STABLECOIN_SETTLED + STABLECOIN_REJECTED: :STABLECOIN_REJECTED def self?.values: -> ::Array[Lithic::Models::FinancialEvent::type_] end diff --git a/sig/lithic/models/payment.rbs b/sig/lithic/models/payment.rbs index a5f55aa8..973f325c 100644 --- a/sig/lithic/models/payment.rbs +++ b/sig/lithic/models/payment.rbs @@ -287,8 +287,11 @@ module Lithic | :WIRE_RETURN_OUTBOUND_SETTLED | :WIRE_RETURN_OUTBOUND_REJECTED | :STABLECOIN_RECEIVED + | :STABLECOIN_INITIATED | :STABLECOIN_REVIEWED + | :STABLECOIN_SENT | :STABLECOIN_SETTLED + | :STABLECOIN_REJECTED module Type extend Lithic::Internal::Type::Enum @@ -316,8 +319,11 @@ module Lithic WIRE_RETURN_OUTBOUND_SETTLED: :WIRE_RETURN_OUTBOUND_SETTLED WIRE_RETURN_OUTBOUND_REJECTED: :WIRE_RETURN_OUTBOUND_REJECTED STABLECOIN_RECEIVED: :STABLECOIN_RECEIVED + STABLECOIN_INITIATED: :STABLECOIN_INITIATED STABLECOIN_REVIEWED: :STABLECOIN_REVIEWED + STABLECOIN_SENT: :STABLECOIN_SENT STABLECOIN_SETTLED: :STABLECOIN_SETTLED + STABLECOIN_REJECTED: :STABLECOIN_REJECTED def self?.values: -> ::Array[Lithic::Models::Payment::Event::type_] end From 15206930f871b13afd3852083c6bf778a83e6eb9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 08:31:06 +0000 Subject: [PATCH 5/8] feat(api): add PROGRAM scope to auth rules, FINANCIAL_ACCOUNT/PROGRAM to case_entity --- .stats.yml | 4 +-- .../auth_rules/ach_payment_update_action.rb | 1 + .../card_transaction_update_action.rb | 1 + .../auth_rules/v2_list_results_response.rb | 2 ++ .../transaction_monitoring/case_entity.rb | 17 +++++++--- .../case_list_params.rb | 6 ++-- .../resources/transaction_monitoring/cases.rb | 2 +- .../auth_rules/ach_payment_update_action.rbi | 5 +++ .../card_transaction_update_action.rbi | 5 +++ .../auth_rules/v2_list_results_response.rbi | 10 ++++++ .../transaction_monitoring/case_entity.rbi | 32 ++++++++++++++++--- .../case_list_params.rbi | 8 +++-- .../transaction_monitoring/cases.rbi | 4 ++- .../auth_rules/ach_payment_update_action.rbs | 3 +- .../card_transaction_update_action.rbs | 3 +- .../auth_rules/v2_list_results_response.rbs | 6 ++-- .../transaction_monitoring/case_entity.rbs | 12 ++++--- 17 files changed, 95 insertions(+), 26 deletions(-) diff --git a/.stats.yml b/.stats.yml index 7149eb0d..a5ccef8d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-4ea61aa22fa852629c506efa84f633535d32a7133bdf3ae2d09040d2fb6caeb2.yml -openapi_spec_hash: 76c21b84082530356fe45eed27e84cfe +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-c0289201680f9b61dd0d9887f88dfb7d0f6bc99d2d04fb93a2350d3ce96a3591.yml +openapi_spec_hash: dd5295389b7ef07182cc6ad20310a05b config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/auth_rules/ach_payment_update_action.rb b/lib/lithic/models/auth_rules/ach_payment_update_action.rb index 1a8e7528..2d99f5e1 100644 --- a/lib/lithic/models/auth_rules/ach_payment_update_action.rb +++ b/lib/lithic/models/auth_rules/ach_payment_update_action.rb @@ -82,6 +82,7 @@ module Scope extend Lithic::Internal::Type::Enum FINANCIAL_ACCOUNT = :FINANCIAL_ACCOUNT + PROGRAM = :PROGRAM # @!method self.values # @return [Array] diff --git a/lib/lithic/models/auth_rules/card_transaction_update_action.rb b/lib/lithic/models/auth_rules/card_transaction_update_action.rb index 774eaa3d..419ff35a 100644 --- a/lib/lithic/models/auth_rules/card_transaction_update_action.rb +++ b/lib/lithic/models/auth_rules/card_transaction_update_action.rb @@ -83,6 +83,7 @@ module Scope CARD = :CARD ACCOUNT = :ACCOUNT + PROGRAM = :PROGRAM # @!method self.values # @return [Array] diff --git a/lib/lithic/models/auth_rules/v2_list_results_response.rb b/lib/lithic/models/auth_rules/v2_list_results_response.rb index 7c4bf805..f5721d2f 100644 --- a/lib/lithic/models/auth_rules/v2_list_results_response.rb +++ b/lib/lithic/models/auth_rules/v2_list_results_response.rb @@ -1059,6 +1059,7 @@ module Scope CARD = :CARD ACCOUNT = :ACCOUNT + PROGRAM = :PROGRAM # @!method self.values # @return [Array] @@ -1269,6 +1270,7 @@ module Scope extend Lithic::Internal::Type::Enum FINANCIAL_ACCOUNT = :FINANCIAL_ACCOUNT + PROGRAM = :PROGRAM # @!method self.values # @return [Array] diff --git a/lib/lithic/models/transaction_monitoring/case_entity.rb b/lib/lithic/models/transaction_monitoring/case_entity.rb index c81e36f6..97589445 100644 --- a/lib/lithic/models/transaction_monitoring/case_entity.rb +++ b/lib/lithic/models/transaction_monitoring/case_entity.rb @@ -5,16 +5,21 @@ module Models module TransactionMonitoring class CaseEntity < Lithic::Internal::Type::BaseModel # @!attribute entity_token - # Globally unique identifier for the associated entity + # Globally unique identifier for the associated entity: the card token for `CARD`, + # the account token for `ACCOUNT`, and the financial account token for + # `FINANCIAL_ACCOUNT`. Null for `PROGRAM`, which is not scoped to an individual + # entity # - # @return [String] - required :entity_token, String + # @return [String, nil] + required :entity_token, String, nil?: true # @!attribute entity_type # The type of entity a case is associated with: # # - `CARD` - The case is associated with a card # - `ACCOUNT` - The case is associated with an account + # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account + # - `PROGRAM` - The case is associated with the whole program # # @return [Symbol, Lithic::Models::TransactionMonitoring::CaseEntity::EntityType] required :entity_type, enum: -> { Lithic::TransactionMonitoring::CaseEntity::EntityType } @@ -25,7 +30,7 @@ class CaseEntity < Lithic::Internal::Type::BaseModel # # The entity a case is associated with # - # @param entity_token [String] Globally unique identifier for the associated entity + # @param entity_token [String, nil] Globally unique identifier for the associated entity: the card token for `CARD`, # # @param entity_type [Symbol, Lithic::Models::TransactionMonitoring::CaseEntity::EntityType] The type of entity a case is associated with: @@ -33,6 +38,8 @@ class CaseEntity < Lithic::Internal::Type::BaseModel # # - `CARD` - The case is associated with a card # - `ACCOUNT` - The case is associated with an account + # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account + # - `PROGRAM` - The case is associated with the whole program # # @see Lithic::Models::TransactionMonitoring::CaseEntity#entity_type module EntityType @@ -40,6 +47,8 @@ module EntityType CARD = :CARD ACCOUNT = :ACCOUNT + FINANCIAL_ACCOUNT = :FINANCIAL_ACCOUNT + PROGRAM = :PROGRAM # @!method self.values # @return [Array] diff --git a/lib/lithic/models/transaction_monitoring/case_list_params.rb b/lib/lithic/models/transaction_monitoring/case_list_params.rb index 95045da2..f28f309e 100644 --- a/lib/lithic/models/transaction_monitoring/case_list_params.rb +++ b/lib/lithic/models/transaction_monitoring/case_list_params.rb @@ -49,7 +49,9 @@ class CaseListParams < Lithic::Internal::Type::BaseModel optional :ending_before, String # @!attribute entity_token - # Only return cases associated with the provided entity. + # Only return cases associated with the provided entity. Accepts a card, account, + # or financial account token. Cases with a `PROGRAM` entity have no entity token + # and are never returned by this filter. # # @return [String, nil] optional :entity_token, String @@ -113,7 +115,7 @@ class CaseListParams < Lithic::Internal::Type::BaseModel # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param entity_token [String] Only return cases associated with the provided entity. + # @param entity_token [String] Only return cases associated with the provided entity. Accepts a card, account, # # @param page_size [Integer] Page size (for pagination). # diff --git a/lib/lithic/resources/transaction_monitoring/cases.rb b/lib/lithic/resources/transaction_monitoring/cases.rb index 3aabab5c..1b5c4960 100644 --- a/lib/lithic/resources/transaction_monitoring/cases.rb +++ b/lib/lithic/resources/transaction_monitoring/cases.rb @@ -92,7 +92,7 @@ def update(case_token, params = {}) # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param entity_token [String] Only return cases associated with the provided entity. + # @param entity_token [String] Only return cases associated with the provided entity. Accepts a card, account, # # @param page_size [Integer] Page size (for pagination). # diff --git a/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi b/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi index acb88ec5..f1a212d9 100644 --- a/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi +++ b/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi @@ -181,6 +181,11 @@ module Lithic :FINANCIAL_ACCOUNT, Lithic::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::Scope::TaggedSymbol ) + PROGRAM = + T.let( + :PROGRAM, + Lithic::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::Scope::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi b/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi index 9801b902..53104e00 100644 --- a/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi +++ b/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi @@ -186,6 +186,11 @@ module Lithic :ACCOUNT, Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol ) + PROGRAM = + T.let( + :PROGRAM, + Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/v2_list_results_response.rbi b/rbi/lithic/models/auth_rules/v2_list_results_response.rbi index 801431f6..e8df13df 100644 --- a/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +++ b/rbi/lithic/models/auth_rules/v2_list_results_response.rbi @@ -2594,6 +2594,11 @@ module Lithic :ACCOUNT, Lithic::Models::AuthRules::V2ListResultsResponse::CardTransactionUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol ) + PROGRAM = + T.let( + :PROGRAM, + Lithic::Models::AuthRules::V2ListResultsResponse::CardTransactionUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol + ) sig do override.returns( @@ -3003,6 +3008,11 @@ module Lithic :FINANCIAL_ACCOUNT, Lithic::Models::AuthRules::V2ListResultsResponse::ACHPaymentUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol ) + PROGRAM = + T.let( + :PROGRAM, + Lithic::Models::AuthRules::V2ListResultsResponse::ACHPaymentUpdateResult::Action::CreateCaseAction::Scope::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/transaction_monitoring/case_entity.rbi b/rbi/lithic/models/transaction_monitoring/case_entity.rbi index 0c6f5690..c04f09a2 100644 --- a/rbi/lithic/models/transaction_monitoring/case_entity.rbi +++ b/rbi/lithic/models/transaction_monitoring/case_entity.rbi @@ -12,14 +12,19 @@ module Lithic ) end - # Globally unique identifier for the associated entity - sig { returns(String) } + # Globally unique identifier for the associated entity: the card token for `CARD`, + # the account token for `ACCOUNT`, and the financial account token for + # `FINANCIAL_ACCOUNT`. Null for `PROGRAM`, which is not scoped to an individual + # entity + sig { returns(T.nilable(String)) } attr_accessor :entity_token # The type of entity a case is associated with: # # - `CARD` - The case is associated with a card # - `ACCOUNT` - The case is associated with an account + # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account + # - `PROGRAM` - The case is associated with the whole program sig do returns( Lithic::TransactionMonitoring::CaseEntity::EntityType::TaggedSymbol @@ -30,18 +35,23 @@ module Lithic # The entity a case is associated with sig do params( - entity_token: String, + entity_token: T.nilable(String), entity_type: Lithic::TransactionMonitoring::CaseEntity::EntityType::OrSymbol ).returns(T.attached_class) end def self.new( - # Globally unique identifier for the associated entity + # Globally unique identifier for the associated entity: the card token for `CARD`, + # the account token for `ACCOUNT`, and the financial account token for + # `FINANCIAL_ACCOUNT`. Null for `PROGRAM`, which is not scoped to an individual + # entity entity_token:, # The type of entity a case is associated with: # # - `CARD` - The case is associated with a card # - `ACCOUNT` - The case is associated with an account + # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account + # - `PROGRAM` - The case is associated with the whole program entity_type: ) end @@ -49,7 +59,7 @@ module Lithic sig do override.returns( { - entity_token: String, + entity_token: T.nilable(String), entity_type: Lithic::TransactionMonitoring::CaseEntity::EntityType::TaggedSymbol } @@ -62,6 +72,8 @@ module Lithic # # - `CARD` - The case is associated with a card # - `ACCOUNT` - The case is associated with an account + # - `FINANCIAL_ACCOUNT` - The case is associated with a financial account + # - `PROGRAM` - The case is associated with the whole program module EntityType extend Lithic::Internal::Type::Enum @@ -84,6 +96,16 @@ module Lithic :ACCOUNT, Lithic::TransactionMonitoring::CaseEntity::EntityType::TaggedSymbol ) + FINANCIAL_ACCOUNT = + T.let( + :FINANCIAL_ACCOUNT, + Lithic::TransactionMonitoring::CaseEntity::EntityType::TaggedSymbol + ) + PROGRAM = + T.let( + :PROGRAM, + Lithic::TransactionMonitoring::CaseEntity::EntityType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/transaction_monitoring/case_list_params.rbi b/rbi/lithic/models/transaction_monitoring/case_list_params.rbi index d917f0d9..0d5c2fac 100644 --- a/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +++ b/rbi/lithic/models/transaction_monitoring/case_list_params.rbi @@ -61,7 +61,9 @@ module Lithic sig { params(ending_before: String).void } attr_writer :ending_before - # Only return cases associated with the provided entity. + # Only return cases associated with the provided entity. Accepts a card, account, + # or financial account token. Cases with a `PROGRAM` entity have no entity token + # and are never returned by this filter. sig { returns(T.nilable(String)) } attr_reader :entity_token @@ -170,7 +172,9 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Only return cases associated with the provided entity. + # Only return cases associated with the provided entity. Accepts a card, account, + # or financial account token. Cases with a `PROGRAM` entity have no entity token + # and are never returned by this filter. entity_token: nil, # Page size (for pagination). page_size: nil, diff --git a/rbi/lithic/resources/transaction_monitoring/cases.rbi b/rbi/lithic/resources/transaction_monitoring/cases.rbi index 830b7f50..ed0487f8 100644 --- a/rbi/lithic/resources/transaction_monitoring/cases.rbi +++ b/rbi/lithic/resources/transaction_monitoring/cases.rbi @@ -120,7 +120,9 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Only return cases associated with the provided entity. + # Only return cases associated with the provided entity. Accepts a card, account, + # or financial account token. Cases with a `PROGRAM` entity have no entity token + # and are never returned by this filter. entity_token: nil, # Page size (for pagination). page_size: nil, diff --git a/sig/lithic/models/auth_rules/ach_payment_update_action.rbs b/sig/lithic/models/auth_rules/ach_payment_update_action.rbs index 6eb6d71c..5e6079e3 100644 --- a/sig/lithic/models/auth_rules/ach_payment_update_action.rbs +++ b/sig/lithic/models/auth_rules/ach_payment_update_action.rbs @@ -71,12 +71,13 @@ module Lithic type: Lithic::Models::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::type_ } - type scope = :FINANCIAL_ACCOUNT + type scope = :FINANCIAL_ACCOUNT | :PROGRAM module Scope extend Lithic::Internal::Type::Enum FINANCIAL_ACCOUNT: :FINANCIAL_ACCOUNT + PROGRAM: :PROGRAM def self?.values: -> ::Array[Lithic::Models::AuthRules::ACHPaymentUpdateAction::CreateCaseAction::scope] end diff --git a/sig/lithic/models/auth_rules/card_transaction_update_action.rbs b/sig/lithic/models/auth_rules/card_transaction_update_action.rbs index 70f2af02..2224c556 100644 --- a/sig/lithic/models/auth_rules/card_transaction_update_action.rbs +++ b/sig/lithic/models/auth_rules/card_transaction_update_action.rbs @@ -71,13 +71,14 @@ module Lithic type: Lithic::Models::AuthRules::CardTransactionUpdateAction::CreateCaseAction::type_ } - type scope = :CARD | :ACCOUNT + type scope = :CARD | :ACCOUNT | :PROGRAM module Scope extend Lithic::Internal::Type::Enum CARD: :CARD ACCOUNT: :ACCOUNT + PROGRAM: :PROGRAM def self?.values: -> ::Array[Lithic::Models::AuthRules::CardTransactionUpdateAction::CreateCaseAction::scope] end diff --git a/sig/lithic/models/auth_rules/v2_list_results_response.rbs b/sig/lithic/models/auth_rules/v2_list_results_response.rbs index c6cee1d6..dd15bb09 100644 --- a/sig/lithic/models/auth_rules/v2_list_results_response.rbs +++ b/sig/lithic/models/auth_rules/v2_list_results_response.rbs @@ -1078,13 +1078,14 @@ module Lithic explanation: String } - type scope = :CARD | :ACCOUNT + type scope = :CARD | :ACCOUNT | :PROGRAM module Scope extend Lithic::Internal::Type::Enum CARD: :CARD ACCOUNT: :ACCOUNT + PROGRAM: :PROGRAM def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListResultsResponse::CardTransactionUpdateResult::Action::CreateCaseAction::scope] end @@ -1255,12 +1256,13 @@ module Lithic explanation: String } - type scope = :FINANCIAL_ACCOUNT + type scope = :FINANCIAL_ACCOUNT | :PROGRAM module Scope extend Lithic::Internal::Type::Enum FINANCIAL_ACCOUNT: :FINANCIAL_ACCOUNT + PROGRAM: :PROGRAM def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListResultsResponse::ACHPaymentUpdateResult::Action::CreateCaseAction::scope] end diff --git a/sig/lithic/models/transaction_monitoring/case_entity.rbs b/sig/lithic/models/transaction_monitoring/case_entity.rbs index 5e13dc88..2fdb0473 100644 --- a/sig/lithic/models/transaction_monitoring/case_entity.rbs +++ b/sig/lithic/models/transaction_monitoring/case_entity.rbs @@ -3,32 +3,34 @@ module Lithic module TransactionMonitoring type case_entity = { - entity_token: String, + entity_token: String?, entity_type: Lithic::Models::TransactionMonitoring::CaseEntity::entity_type } class CaseEntity < Lithic::Internal::Type::BaseModel - attr_accessor entity_token: String + attr_accessor entity_token: String? attr_accessor entity_type: Lithic::Models::TransactionMonitoring::CaseEntity::entity_type def initialize: ( - entity_token: String, + entity_token: String?, entity_type: Lithic::Models::TransactionMonitoring::CaseEntity::entity_type ) -> void def to_hash: -> { - entity_token: String, + entity_token: String?, entity_type: Lithic::Models::TransactionMonitoring::CaseEntity::entity_type } - type entity_type = :CARD | :ACCOUNT + type entity_type = :CARD | :ACCOUNT | :FINANCIAL_ACCOUNT | :PROGRAM module EntityType extend Lithic::Internal::Type::Enum CARD: :CARD ACCOUNT: :ACCOUNT + FINANCIAL_ACCOUNT: :FINANCIAL_ACCOUNT + PROGRAM: :PROGRAM def self?.values: -> ::Array[Lithic::Models::TransactionMonitoring::CaseEntity::entity_type] end From 5151e5d6276054b59f41d32af07efae6badabcbb Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:02:59 +0000 Subject: [PATCH 6/8] feat(api): add STABLECOIN enum value to payment type --- .stats.yml | 4 ++-- lib/lithic/models/payment.rb | 1 + rbi/lithic/models/payment.rbi | 1 + sig/lithic/models/payment.rbs | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index a5ccef8d..4f5b5f06 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-c0289201680f9b61dd0d9887f88dfb7d0f6bc99d2d04fb93a2350d3ce96a3591.yml -openapi_spec_hash: dd5295389b7ef07182cc6ad20310a05b +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9c9038d362c6a423011de6cfe5bf4a93ca2ea6e6991327583c4dcc47ceb8d7e3.yml +openapi_spec_hash: c2acf17ac5eb3d9e11f86c57a0af3cb3 config_hash: 337a99d8cc30006358b7bc2531401669 diff --git a/lib/lithic/models/payment.rb b/lib/lithic/models/payment.rb index 04a1be97..a5007163 100644 --- a/lib/lithic/models/payment.rb +++ b/lib/lithic/models/payment.rb @@ -796,6 +796,7 @@ module Type WIRE_OUTBOUND_PAYMENT = :WIRE_OUTBOUND_PAYMENT WIRE_OUTBOUND_ADMIN = :WIRE_OUTBOUND_ADMIN WIRE_INBOUND_DRAWDOWN_REQUEST = :WIRE_INBOUND_DRAWDOWN_REQUEST + STABLECOIN = :STABLECOIN # @!method self.values # @return [Array] diff --git a/rbi/lithic/models/payment.rbi b/rbi/lithic/models/payment.rbi index 60b0629b..a5ba66e0 100644 --- a/rbi/lithic/models/payment.rbi +++ b/rbi/lithic/models/payment.rbi @@ -1310,6 +1310,7 @@ module Lithic :WIRE_INBOUND_DRAWDOWN_REQUEST, Lithic::Payment::Type::TaggedSymbol ) + STABLECOIN = T.let(:STABLECOIN, Lithic::Payment::Type::TaggedSymbol) sig { override.returns(T::Array[Lithic::Payment::Type::TaggedSymbol]) } def self.values diff --git a/sig/lithic/models/payment.rbs b/sig/lithic/models/payment.rbs index 973f325c..416ccc2d 100644 --- a/sig/lithic/models/payment.rbs +++ b/sig/lithic/models/payment.rbs @@ -578,6 +578,7 @@ module Lithic | :WIRE_OUTBOUND_PAYMENT | :WIRE_OUTBOUND_ADMIN | :WIRE_INBOUND_DRAWDOWN_REQUEST + | :STABLECOIN module Type extend Lithic::Internal::Type::Enum @@ -591,6 +592,7 @@ module Lithic WIRE_OUTBOUND_PAYMENT: :WIRE_OUTBOUND_PAYMENT WIRE_OUTBOUND_ADMIN: :WIRE_OUTBOUND_ADMIN WIRE_INBOUND_DRAWDOWN_REQUEST: :WIRE_INBOUND_DRAWDOWN_REQUEST + STABLECOIN: :STABLECOIN def self?.values: -> ::Array[Lithic::Models::Payment::type_] end From 07799e84d4c7e32e0f4b623e17960c14753802ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 20:32:37 +0000 Subject: [PATCH 7/8] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 4f5b5f06..e428cbd8 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9c9038d362c6a423011de6cfe5bf4a93ca2ea6e6991327583c4dcc47ceb8d7e3.yml -openapi_spec_hash: c2acf17ac5eb3d9e11f86c57a0af3cb3 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-fded34f73c5a63b9a5796a375e1dd8864051c14a1bd0123c8084554ffb2889bb.yml +openapi_spec_hash: 4b64ebb958ea2ef8e7e20f564a5f30ed config_hash: 337a99d8cc30006358b7bc2531401669 From 2e787a1193a3908274ebcf5fd91f29481d61c5d1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 20:33:12 +0000 Subject: [PATCH 8/8] release: 0.20.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 17 +++++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/lithic/version.rb | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e7562934..0c2ecec6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.19.0" + ".": "0.20.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e65cdb43..ebfc72ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## 0.20.0 (2026-08-11) + +Full Changelog: [v0.19.0...v0.20.0](https://github.com/lithic-com/lithic-ruby/compare/v0.19.0...v0.20.0) + +### Features + +* **api:** add blockchain_addresses field to FinancialAccount model ([c46e82c](https://github.com/lithic-com/lithic-ruby/commit/c46e82cc5bf4560c31adc1ebd6e991b55a1c3f2d)) +* **api:** add limit_cash_amount and limit_cash_count to velocity limit params ([4e4dfb7](https://github.com/lithic-com/lithic-ruby/commit/4e4dfb78069500939027ed67d445d63160cd9e1c)) +* **api:** add PROGRAM scope to auth rules, FINANCIAL_ACCOUNT/PROGRAM to case_entity ([1520693](https://github.com/lithic-com/lithic-ruby/commit/15206930f871b13afd3852083c6bf778a83e6eb9)) +* **api:** add STABLECOIN enum value to payment type ([5151e5d](https://github.com/lithic-com/lithic-ruby/commit/5151e5d6276054b59f41d32af07efae6badabcbb)) +* **api:** add stablecoin event types to payment/financial_event/statement_line_items ([2f1fbca](https://github.com/lithic-com/lithic-ruby/commit/2f1fbca332e111e3624d834a774db3f7d979f4a4)) + + +### Documentation + +* **api:** update cvv field documentation in Card and tokenization ([b520213](https://github.com/lithic-com/lithic-ruby/commit/b520213ceec3af853f96b5ca9e8ef32a34169a0a)) + ## 0.19.0 (2026-07-30) Full Changelog: [v0.18.1...v0.19.0](https://github.com/lithic-com/lithic-ruby/compare/v0.18.1...v0.19.0) diff --git a/Gemfile.lock b/Gemfile.lock index 310ca168..53f1b0d1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.19.0) + lithic (0.20.0) cgi connection_pool diff --git a/README.md b/README.md index 18e8a51b..55ac7cac 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.19.0" +gem "lithic", "~> 0.20.0" ``` diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index 2a47352e..125be3f9 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.19.0" + VERSION = "0.20.0" end