Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.15.0"
".": "0.16.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 195
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-efe780032e44b3cf0f6914407e43bce6aa7176fa50aa6ec018f93c1f28af8490.yml
openapi_spec_hash: fcb4ca53ca59978f23f21d7c74fcc0b0
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-99f95bae0a9466a3c3032c867cae9878877c1602f2d68c2441813ce2c8dc8f87.yml
openapi_spec_hash: 047fd5b9c00f6acddd3e4f5dc203a4ed
config_hash: a0a579b0564a5c18568a78f5ba2b6653
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 0.16.0 (2026-06-09)

Full Changelog: [v0.15.0...v0.16.0](https://github.com/lithic-com/lithic-ruby/compare/v0.15.0...v0.16.0)

### Features

* **api:** Add created field to Challenge object ([e442303](https://github.com/lithic-com/lithic-ruby/commit/e44230324af07930c8cc84b3035677df54bc031f))
* **api:** add day_of_period field to loan_tape ([71ab28b](https://github.com/lithic-com/lithic-ruby/commit/71ab28b5af8e6118b2133bc8ed190520b6be2396))
* **api:** add hold_adjustment_action variant to auth_rules action parameter ([bae640f](https://github.com/lithic-com/lithic-ruby/commit/bae640faf01eef0b956cb24eaa73f92c40536082))
* **api:** add NVS name_validation fields to ASA request and response ([5747fda](https://github.com/lithic-com/lithic-ruby/commit/5747fda7c1065d257bc60d03e770f66be8677d48))


### Documentation

* **api:** update support contact from email to URL in account/card resources ([bd7f679](https://github.com/lithic-com/lithic-ruby/commit/bd7f67927187e7daa99059f5e9190c1df79424c3))

## 0.15.0 (2026-05-27)

Full Changelog: [v0.14.0...v0.15.0](https://github.com/lithic-com/lithic-ruby/compare/v0.14.0...v0.15.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
lithic (0.15.0)
lithic (0.16.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "lithic", "~> 0.15.0"
gem "lithic", "~> 0.16.0"
```

<!-- x-release-please-end -->
Expand Down
4 changes: 2 additions & 2 deletions lib/lithic/models/account.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class Account < Lithic::Internal::Type::BaseModel
# accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
# Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
# failure to pass KYB/KYC or for risk/compliance reasons. Please contact
# [support@lithic.com](mailto:support@lithic.com) if you believe this was done
# [support.lithic.com](https://support.lithic.com/) if you believe this was done
# by mistake.
#
# @return [Symbol, Lithic::Models::Account::State]
Expand Down Expand Up @@ -177,7 +177,7 @@ class SpendLimit < Lithic::Internal::Type::BaseModel
# accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
# Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
# failure to pass KYB/KYC or for risk/compliance reasons. Please contact
# [support@lithic.com](mailto:support@lithic.com) if you believe this was done
# [support.lithic.com](https://support.lithic.com/) if you believe this was done
# by mistake.
#
# @see Lithic::Models::Account#state
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ module Lithic
module Models
module AuthRules
class ConditionalAuthorizationAdjustmentParameters < Lithic::Internal::Type::BaseModel
# @!attribute adjustment
# The hold adjustment to apply if the conditions are met
# @!attribute action
# The hold adjustment to apply if the conditions are met.
#
# @return [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment]
required :adjustment, -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment }
# @return [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action]
required :action, -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action }

# @!attribute conditions
#
# @return [Array<Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Condition>]
required :conditions,
-> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Condition] }

# @!method initialize(adjustment:, conditions:)
# @param adjustment [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment] The hold adjustment to apply if the conditions are met
# @!method initialize(action:, conditions:)
# @param action [Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action] The hold adjustment to apply if the conditions are met.
#
# @param conditions [Array<Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Condition>]

# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters#adjustment
class Adjustment < Lithic::Internal::Type::BaseModel
# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters#action
class Action < Lithic::Internal::Type::BaseModel
# @!attribute mode
# The mode of the hold adjustment, determining how the value is interpreted:
#
Expand All @@ -31,16 +31,14 @@ class Adjustment < Lithic::Internal::Type::BaseModel
# represents a 10% increase, 0 represents no change.
# - `ADD_AMOUNT`: The value is added to the hold amount in cents.
#
# @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode]
required :mode,
enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode }
# @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode]
required :mode, enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode }

# @!attribute type
# The type of adjustment to apply
#
# @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type]
required :type,
enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type }
# @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type]
required :type, enum: -> { Lithic::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type }

# @!attribute value
# The value used for the hold adjustment, interpreted based on the mode
Expand All @@ -50,14 +48,14 @@ class Adjustment < Lithic::Internal::Type::BaseModel

# @!method initialize(mode:, type:, value:)
# Some parameter documentations has been truncated, see
# {Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment}
# {Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action}
# for more details.
#
# The hold adjustment to apply if the conditions are met
# The hold adjustment to apply if the conditions are met.
#
# @param mode [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Mode] The mode of the hold adjustment, determining how the value is interpreted:
# @param mode [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Mode] The mode of the hold adjustment, determining how the value is interpreted:
#
# @param type [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment::Type] The type of adjustment to apply
# @param type [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action::Type] The type of adjustment to apply
#
# @param value [Integer] The value used for the hold adjustment, interpreted based on the mode

Expand All @@ -68,7 +66,7 @@ class Adjustment < Lithic::Internal::Type::BaseModel
# represents a 10% increase, 0 represents no change.
# - `ADD_AMOUNT`: The value is added to the hold amount in cents.
#
# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment#mode
# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action#mode
module Mode
extend Lithic::Internal::Type::Enum

Expand All @@ -82,7 +80,7 @@ module Mode

# The type of adjustment to apply
#
# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Adjustment#type
# @see Lithic::Models::AuthRules::ConditionalAuthorizationAdjustmentParameters::Action#type
module Type
extend Lithic::Internal::Type::Enum

Expand Down
2 changes: 1 addition & 1 deletion lib/lithic/models/card.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class Card < Lithic::Models::NonPCICard
# @!attribute pan
# 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
# support@lithic.com for questions.
# https://support.lithic.com/ for questions.
#
# @return [String, nil]
optional :pan, String
Expand Down
128 changes: 117 additions & 11 deletions lib/lithic/models/card_authorization.rb
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,14 @@ class CardAuthorization < Lithic::Internal::Type::BaseModel
# @return [String]
required :merchant_currency, String

# @!attribute name_validation
# Network name validation data, present when the card network requested name
# validation for this transaction. Contains the cardholder name provided by the
# network and Lithic's computed match result against KYC data on file.
#
# @return [Lithic::Models::CardAuthorization::NameValidation, nil]
required :name_validation, -> { Lithic::CardAuthorization::NameValidation }, nil?: true

# @!attribute service_location
# Where the cardholder received the service, when different from the card acceptor
# location. This is populated from network data elements such as Mastercard DE-122
Expand Down Expand Up @@ -233,7 +241,7 @@ class CardAuthorization < Lithic::Internal::Type::BaseModel
# @return [Time, nil]
optional :ttl, Time

# @!method initialize(token:, acquirer_fee:, amount:, amounts:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, service_location:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil)
# @!method initialize(token:, acquirer_fee:, amount:, amounts:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, name_validation:, service_location:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil)
# Some parameter documentations has been truncated, see
# {Lithic::Models::CardAuthorization} for more details.
#
Expand Down Expand Up @@ -265,6 +273,8 @@ class CardAuthorization < Lithic::Internal::Type::BaseModel
#
# @param merchant_currency [String] 3-character alphabetic ISO 4217 code for the local currency of the transaction.
#
# @param name_validation [Lithic::Models::CardAuthorization::NameValidation, nil] Network name validation data, present when the card network requested name valid
#
# @param service_location [Lithic::Models::CardAuthorization::ServiceLocation, nil] Where the cardholder received the service, when different from the card acceptor
#
# @param settled_amount [Integer] Deprecated, use `amounts`. Amount (in cents) of the transaction that has been se
Expand Down Expand Up @@ -623,6 +633,94 @@ class Merchant < Lithic::Models::Merchant
# @param street_address [String, nil] Street address of card acceptor.
end

# @see Lithic::Models::CardAuthorization#name_validation
class NameValidation < Lithic::Internal::Type::BaseModel
# @!attribute name
# Cardholder name as provided by the card network.
#
# @return [Lithic::Models::CardAuthorization::NameValidation::Name]
required :name, -> { Lithic::CardAuthorization::NameValidation::Name }

# @!attribute name_on_file_match
# Lithic's computed match result comparing the network-provided name to the name
# on file.
#
# @return [Lithic::Models::CardAuthorization::NameValidation::NameOnFileMatch]
required :name_on_file_match, -> { Lithic::CardAuthorization::NameValidation::NameOnFileMatch }

# @!method initialize(name:, name_on_file_match:)
# Some parameter documentations has been truncated, see
# {Lithic::Models::CardAuthorization::NameValidation} for more details.
#
# Network name validation data, present when the card network requested name
# validation for this transaction. Contains the cardholder name provided by the
# network and Lithic's computed match result against KYC data on file.
#
# @param name [Lithic::Models::CardAuthorization::NameValidation::Name] Cardholder name as provided by the card network.
#
# @param name_on_file_match [Lithic::Models::CardAuthorization::NameValidation::NameOnFileMatch] Lithic's computed match result comparing the network-provided name to the name o

# @see Lithic::Models::CardAuthorization::NameValidation#name
class Name < Lithic::Internal::Type::BaseModel
# @!attribute first
# First name
#
# @return [String]
required :first, String

# @!attribute last
# Last name
#
# @return [String]
required :last, String

# @!attribute middle
# Middle name
#
# @return [String, nil]
required :middle, String, nil?: true

# @!method initialize(first:, last:, middle:)
# Cardholder name as provided by the card network.
#
# @param first [String] First name
#
# @param last [String] Last name
#
# @param middle [String, nil] Middle name
end

# @see Lithic::Models::CardAuthorization::NameValidation#name_on_file_match
class NameOnFileMatch < Lithic::Internal::Type::BaseModel
# @!attribute full_name
# Overall name match result.
#
# @return [Symbol, Lithic::Models::CardAuthorization::NameValidation::NameOnFileMatch::FullName]
required :full_name, enum: -> { Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName }

# @!method initialize(full_name:)
# Lithic's computed match result comparing the network-provided name to the name
# on file.
#
# @param full_name [Symbol, Lithic::Models::CardAuthorization::NameValidation::NameOnFileMatch::FullName] Overall name match result.

# Overall name match result.
#
# @see Lithic::Models::CardAuthorization::NameValidation::NameOnFileMatch#full_name
module FullName
extend Lithic::Internal::Type::Enum

MATCH = :MATCH
PARTIAL_MATCH = :PARTIAL_MATCH
NO_MATCH = :NO_MATCH
UNVERIFIED = :UNVERIFIED

# @!method self.values
# @return [Array<Symbol>]
end
end
end

# @see Lithic::Models::CardAuthorization#service_location
class ServiceLocation < Lithic::Internal::Type::BaseModel
# @!attribute city
Expand Down Expand Up @@ -793,6 +891,19 @@ module FleetRestrictionCode

# @see Lithic::Models::CardAuthorization#latest_challenge
class LatestChallenge < Lithic::Internal::Type::BaseModel
# @!attribute completed_at
# The date and time when the Authorization Challenge was completed in UTC. Filled
# only if the challenge has been completed.
#
# @return [Time, nil]
required :completed_at, Time, nil?: true

# @!attribute created
# The date and time when the Authorization Challenge was created in UTC
#
# @return [Time]
required :created, Time

# @!attribute method_
# The method used to deliver the challenge to the cardholder
#
Expand Down Expand Up @@ -821,27 +932,22 @@ class LatestChallenge < Lithic::Internal::Type::BaseModel
# @return [Symbol, Lithic::Models::CardAuthorization::LatestChallenge::Status]
required :status, enum: -> { Lithic::CardAuthorization::LatestChallenge::Status }

# @!attribute completed_at
# The date and time when the Authorization Challenge was completed in UTC. Present
# only if the status is `COMPLETED`.
#
# @return [Time, nil]
optional :completed_at, Time

# @!method initialize(method_:, phone_number:, status:, completed_at: nil)
# @!method initialize(completed_at:, created:, method_:, phone_number:, status:)
# Some parameter documentations has been truncated, see
# {Lithic::Models::CardAuthorization::LatestChallenge} for more details.
#
# The latest Authorization Challenge that was issued to the cardholder for this
# merchant.
#
# @param completed_at [Time, nil] The date and time when the Authorization Challenge was completed in UTC. Filled
#
# @param created [Time] The date and time when the Authorization Challenge was created in UTC
#
# @param method_ [Symbol, Lithic::Models::CardAuthorization::LatestChallenge::Method] The method used to deliver the challenge to the cardholder
#
# @param phone_number [String, nil] The phone number used for sending the Authorization Challenge. Present only when
#
# @param status [Symbol, Lithic::Models::CardAuthorization::LatestChallenge::Status] The status of the Authorization Challenge
#
# @param completed_at [Time] The date and time when the Authorization Challenge was completed in UTC. Present

# The method used to deliver the challenge to the cardholder
#
Expand Down
Loading