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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: |-
github.repository == 'stainless-sdks/lithic-ruby' &&
(github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
Expand All @@ -73,7 +73,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down
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.18.1"
".": "0.19.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: 214
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9e397c65ffb81e2928b8ecf979769a79131ae6058b6fb373a5e930dc8a168732.yml
openapi_spec_hash: 93aea3855d2d1c390107d223762aa818
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-90a1307b64fb449a81303dd73185b15e40f48c10415f4e4f483e59d828c53084.yml
openapi_spec_hash: 4c752106ab99b1c537fc364535736eaa
config_hash: 5bb913c05ebeb301ec925b16e75bb251
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Changelog

## 0.19.0 (2026-07-22)

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

### Features

* **api:** add PAYMENT type to book transfers ([979bd5d](https://github.com/lithic-com/lithic-ruby/commit/979bd5d73e39028767418a470e10fc39cfb9686f))
* **api:** add PROGRAM_TRANSFER category, LITHIC/BANK_PROGRAM_TRANSFER type enum values ([774ebfa](https://github.com/lithic-com/lithic-ruby/commit/774ebfa41c6c7c8d249265ba518f781f59e79237))
* **api:** add recipient_name field to payment ACH method attributes ([9ed474c](https://github.com/lithic-com/lithic-ruby/commit/9ed474c7521804e6cb99902aabea5fa4f5178ca1))
* **api:** add REVERSED status value to payment list params ([f5f2fdb](https://github.com/lithic-com/lithic-ruby/commit/f5f2fdb6c4d34e9f4ab5ed40fb2516872b419418))
* **api:** Extend velocity Custom period cap to 90 days ([eeb4a32](https://github.com/lithic-com/lithic-ruby/commit/eeb4a3228542f9d61966dc4c09987b40bdfdde3d))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([69b6ead](https://github.com/lithic-com/lithic-ruby/commit/69b6ead528e48ca397c5b14bcfd5868d6819aaca))


### Bug Fixes

* **types:** make optional fields nullable in fraud transaction responses ([796975f](https://github.com/lithic-com/lithic-ruby/commit/796975f199c3f8ad5b1646274d243944398c06e8))


### Documentation

* Add card embed documentation ([0543caa](https://github.com/lithic-com/lithic-ruby/commit/0543caa4d27cde3479e6a3536cdd037073940f03))
* **api:** clarify simulate_clearing supports multiple calls in transactions ([7a7e783](https://github.com/lithic-com/lithic-ruby/commit/7a7e78338a405f4edb463df0de5f64cf157c0334))
* **api:** expand dispute event descriptions across Event and subscription models ([4db3479](https://github.com/lithic-com/lithic-ruby/commit/4db3479aaf148f8f3ea7e16ea89eb3c275fe963e))
* **api:** update category parameter description in external_payments ([db7d72a](https://github.com/lithic-com/lithic-ruby/commit/db7d72a41aaee552817197d85b7989d85f6399c3))

## 0.18.1 (2026-06-29)

Full Changelog: [v0.18.0...v0.18.1](https://github.com/lithic-com/lithic-ruby/compare/v0.18.0...v0.18.1)
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.18.1)
lithic (0.19.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.18.1"
gem "lithic", "~> 0.19.0"
```

<!-- x-release-please-end -->
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic.rb
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,8 @@
require_relative "lithic/models/dispute_updated_webhook_event"
require_relative "lithic/models/dispute_update_params"
require_relative "lithic/models/document"
require_relative "lithic/models/embed_session_generated_webhook_event"
require_relative "lithic/models/embed_viewed_webhook_event"
require_relative "lithic/models/event"
require_relative "lithic/models/event_list_attempts_params"
require_relative "lithic/models/event_list_params"
Expand Down
4 changes: 4 additions & 0 deletions lib/lithic/models.rb
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,10 @@ module Lithic

Document = Lithic::Models::Document

EmbedSessionGeneratedWebhookEvent = Lithic::Models::EmbedSessionGeneratedWebhookEvent

EmbedViewedWebhookEvent = Lithic::Models::EmbedViewedWebhookEvent

Event = Lithic::Models::Event

EventListAttemptsParams = Lithic::Models::EventListAttemptsParams
Expand Down
1 change: 1 addition & 0 deletions lib/lithic/models/account_activity_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ module Category
MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
HOLD = :HOLD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER

# @!method self.values
# @return [Array<Symbol>]
Expand Down
1 change: 1 addition & 0 deletions lib/lithic/models/account_activity_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ module Category
MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
HOLD = :HOLD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER

# @!method self.values
# @return [Array<Symbol>]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ module Category
MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
HOLD = :HOLD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER

# @!method self.values
# @return [Array<Symbol>]
Expand Down
2 changes: 1 addition & 1 deletion lib/lithic/models/auth_rules/velocity_limit_period.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ module VelocityLimitPeriod
class TrailingWindowObject < Lithic::Internal::Type::BaseModel
# @!attribute duration
# The size of the trailing window to calculate Spend Velocity over in seconds. The
# minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days).
# minimum value is 10 seconds, and the maximum value is 7776000 seconds (90 days).
#
# @return [Integer]
required :duration, Integer
Expand Down
4 changes: 4 additions & 0 deletions lib/lithic/models/book_transfer_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ module Category
INTERNAL = :INTERNAL
REWARD = :REWARD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER
TRANSFER = :TRANSFER

# @!method self.values
Expand Down Expand Up @@ -145,6 +146,7 @@ module Type
INTEREST = :INTEREST
LATE_PAYMENT = :LATE_PAYMENT
BILL_PAYMENT = :BILL_PAYMENT
PAYMENT_FEE = :PAYMENT_FEE
CASH_BACK = :CASH_BACK
ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT
CARD_TO_CARD = :CARD_TO_CARD
Expand All @@ -160,6 +162,8 @@ module Type
SERVICE = :SERVICE
TRANSFER = :TRANSFER
COLLECTION = :COLLECTION
LITHIC_PROGRAM_TRANSFER = :LITHIC_PROGRAM_TRANSFER
BANK_PROGRAM_TRANSFER = :BANK_PROGRAM_TRANSFER

# @!method self.values
# @return [Array<Symbol>]
Expand Down
1 change: 1 addition & 0 deletions lib/lithic/models/book_transfer_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ module Category
INTERNAL = :INTERNAL
REWARD = :REWARD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER
TRANSFER = :TRANSFER

# @!method self.values
Expand Down
4 changes: 4 additions & 0 deletions lib/lithic/models/book_transfer_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ module Category
INTERNAL = :INTERNAL
REWARD = :REWARD
PROGRAM_FUNDING = :PROGRAM_FUNDING
PROGRAM_TRANSFER = :PROGRAM_TRANSFER
TRANSFER = :TRANSFER

# @!method self.values
Expand Down Expand Up @@ -285,6 +286,7 @@ module Type
INTEREST = :INTEREST
LATE_PAYMENT = :LATE_PAYMENT
BILL_PAYMENT = :BILL_PAYMENT
PAYMENT_FEE = :PAYMENT_FEE
CASH_BACK = :CASH_BACK
ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT
CARD_TO_CARD = :CARD_TO_CARD
Expand All @@ -300,6 +302,8 @@ module Type
SERVICE = :SERVICE
TRANSFER = :TRANSFER
COLLECTION = :COLLECTION
LITHIC_PROGRAM_TRANSFER = :LITHIC_PROGRAM_TRANSFER
BANK_PROGRAM_TRANSFER = :BANK_PROGRAM_TRANSFER

# @!method self.values
# @return [Array<Symbol>]
Expand Down
83 changes: 83 additions & 0 deletions lib/lithic/models/embed_session_generated_webhook_event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# frozen_string_literal: true

module Lithic
module Models
class EmbedSessionGeneratedWebhookEvent < Lithic::Internal::Type::BaseModel
# @!attribute account_token
# The token of the account associated with the card
#
# @return [String]
required :account_token, String

# @!attribute card_token
# The token of the card associated with the embed session
#
# @return [String]
required :card_token, String

# @!attribute device_details
# Details about the request that generated the embed session
#
# @return [Lithic::Models::EmbedSessionGeneratedWebhookEvent::DeviceDetails]
required :device_details, -> { Lithic::EmbedSessionGeneratedWebhookEvent::DeviceDetails }

# @!attribute event_type
# The type of event
#
# @return [Symbol, :"embed.session_generated"]
required :event_type, const: :"embed.session_generated"

# @!attribute session_id
# The identifier shared by webhook events for the same embed session.
#
# @return [String]
required :session_id, String

# @!attribute session_type
# The type of embed session that was generated
#
# @return [Symbol, Lithic::Models::EmbedSessionGeneratedWebhookEvent::SessionType]
required :session_type, enum: -> { Lithic::EmbedSessionGeneratedWebhookEvent::SessionType }

# @!method initialize(account_token:, card_token:, device_details:, session_id:, session_type:, event_type: :"embed.session_generated")
# @param account_token [String] The token of the account associated with the card
#
# @param card_token [String] The token of the card associated with the embed session
#
# @param device_details [Lithic::Models::EmbedSessionGeneratedWebhookEvent::DeviceDetails] Details about the request that generated the embed session
#
# @param session_id [String] The identifier shared by webhook events for the same embed session.
#
# @param session_type [Symbol, Lithic::Models::EmbedSessionGeneratedWebhookEvent::SessionType] The type of embed session that was generated
#
# @param event_type [Symbol, :"embed.session_generated"] The type of event

# @see Lithic::Models::EmbedSessionGeneratedWebhookEvent#device_details
class DeviceDetails < Lithic::Internal::Type::BaseModel
# @!attribute ip_address
# The IP address recorded for the request that generated the event
#
# @return [String]
required :ip_address, String

# @!method initialize(ip_address:)
# Details about the request that generated the embed session
#
# @param ip_address [String] The IP address recorded for the request that generated the event
end

# The type of embed session that was generated
#
# @see Lithic::Models::EmbedSessionGeneratedWebhookEvent#session_type
module SessionType
extend Lithic::Internal::Type::Enum

CARD_EMBED = :CARD_EMBED
PIN_SETTING_EMBED = :PIN_SETTING_EMBED

# @!method self.values
# @return [Array<Symbol>]
end
end
end
end
85 changes: 85 additions & 0 deletions lib/lithic/models/embed_viewed_webhook_event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# frozen_string_literal: true

module Lithic
module Models
class EmbedViewedWebhookEvent < Lithic::Internal::Type::BaseModel
# @!attribute account_token
# The token of the account associated with the card
#
# @return [String]
required :account_token, String

# @!attribute card_token
# The token of the card whose details were revealed
#
# @return [String]
required :card_token, String

# @!attribute device_details
# Details about the request that revealed the card detail
#
# @return [Lithic::Models::EmbedViewedWebhookEvent::DeviceDetails]
required :device_details, -> { Lithic::EmbedViewedWebhookEvent::DeviceDetails }

# @!attribute embed_type
# The type of card detail that was revealed
#
# @return [Symbol, Lithic::Models::EmbedViewedWebhookEvent::EmbedType]
required :embed_type, enum: -> { Lithic::EmbedViewedWebhookEvent::EmbedType }

# @!attribute event_type
# The type of event
#
# @return [Symbol, :"embed.viewed"]
required :event_type, const: :"embed.viewed"

# @!attribute session_id
# The identifier shared by webhook events for the same embed session.
#
# @return [String]
required :session_id, String

# @!method initialize(account_token:, card_token:, device_details:, embed_type:, session_id:, event_type: :"embed.viewed")
# @param account_token [String] The token of the account associated with the card
#
# @param card_token [String] The token of the card whose details were revealed
#
# @param device_details [Lithic::Models::EmbedViewedWebhookEvent::DeviceDetails] Details about the request that revealed the card detail
#
# @param embed_type [Symbol, Lithic::Models::EmbedViewedWebhookEvent::EmbedType] The type of card detail that was revealed
#
# @param session_id [String] The identifier shared by webhook events for the same embed session.
#
# @param event_type [Symbol, :"embed.viewed"] The type of event

# @see Lithic::Models::EmbedViewedWebhookEvent#device_details
class DeviceDetails < Lithic::Internal::Type::BaseModel
# @!attribute ip_address
# The IP address recorded for the request that generated the event
#
# @return [String]
required :ip_address, String

# @!method initialize(ip_address:)
# Details about the request that revealed the card detail
#
# @param ip_address [String] The IP address recorded for the request that generated the event
end

# The type of card detail that was revealed
#
# @see Lithic::Models::EmbedViewedWebhookEvent#embed_type
module EmbedType
extend Lithic::Internal::Type::Enum

PAN = :PAN
CVV = :CVV
EXP_MONTH = :EXP_MONTH
EXP_YEAR = :EXP_YEAR

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