Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
3e0194f
feat(api): add EARLY_DIRECT_DEPOSIT_FLOAT to financial account types
stainless-app[bot] Mar 6, 2026
489f19b
chore(internal): codegen related update
stainless-app[bot] Mar 7, 2026
1dbdb68
feat(api): add TypeScript code rules, draft version state tracking to…
stainless-app[bot] Mar 9, 2026
b977c80
fix(api): Disable MCP server to fix TypeScript SDK package publishing
stainless-app[bot] Mar 10, 2026
3e9c63c
feat(api): Add event_subtype to statement line items
stainless-app[bot] Mar 10, 2026
9dd0f14
feat(api): add loan_tape_date field to statement line items
stainless-app[bot] Mar 10, 2026
ec63b56
codegen metadata
stainless-app[bot] Mar 10, 2026
5b75c2f
feat(api): Add support for early direct deposit
stainless-app[bot] Mar 10, 2026
df3f09b
feat(api): add excluded_account_tokens field to auth_rules
stainless-app[bot] Mar 11, 2026
e31938a
feat(client): add webhook support
stainless-app[bot] Mar 11, 2026
d5d3ecb
feat(api): add penalty_rates parameter to interest_tier_schedule
stainless-app[bot] Mar 11, 2026
a9df6e3
feat(api): add WIRE category to account_activity/statements/payment, …
stainless-app[bot] Mar 12, 2026
94dadbc
docs(api): update disputes terminology to chargeback request
stainless-app[bot] Mar 12, 2026
827bf68
feat(api): add versions field to auth_rules daily statistics
stainless-app[bot] Mar 12, 2026
13a1d1b
chore(internal): regenerate SDK with no functional changes
stainless-app[bot] Mar 12, 2026
7307a40
fix(types): require start/end_, remove auth_rule_token in auth_rules …
stainless-app[bot] Mar 12, 2026
46555c1
fix(api): [breaking] unify webhook schemas for digital_wallet.tokeniz…
stainless-app[bot] Mar 13, 2026
fbf0234
docs(client): add MCP Server section to README
stainless-app[bot] Mar 16, 2026
1e13163
codegen metadata
stainless-app[bot] Mar 16, 2026
88b3e9d
release: 0.8.0
stainless-app[bot] Mar 16, 2026
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
8 changes: 6 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,18 @@ jobs:
bundle install

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/lithic-ruby'
if: |-
github.repository == 'stainless-sdks/lithic-ruby' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
uses: actions/github-script@v8
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Build and upload gem artifacts
if: github.repository == 'stainless-sdks/lithic-ruby'
if: |-
github.repository == 'stainless-sdks/lithic-ruby' &&
!startsWith(github.ref, 'refs/heads/stl/')
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
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.7.0"
".": "0.8.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 185
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-ee8607f0a2cdcaee420935050334a439db8dd097be83023fccdaf1d6f9a7de14.yml
openapi_spec_hash: 0f21c68cdddb7c5bd99f42356d507393
config_hash: fb5070d41fcabdedbc084b83964b592a
configured_endpoints: 190
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-e88a4837037207e9591d48d534bd61acca57ca6e7c59ec0d4fdcf6e05288cc6d.yml
openapi_spec_hash: fd8bbc173d1b6dafd117fb1a3a3d446c
config_hash: 3005e2502301e77754e5e1455584525b
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Changelog

## 0.8.0 (2026-03-16)

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

### Features

* **api:** add EARLY_DIRECT_DEPOSIT_FLOAT to financial account types ([3e0194f](https://github.com/lithic-com/lithic-ruby/commit/3e0194f79f315f44b8bc95c7e18452c99d91ce81))
* **api:** Add event_subtype to statement line items ([3e9c63c](https://github.com/lithic-com/lithic-ruby/commit/3e9c63ca2f2c3ddf7cfebef2bbf603646f0c6e7d))
* **api:** add excluded_account_tokens field to auth_rules ([df3f09b](https://github.com/lithic-com/lithic-ruby/commit/df3f09b0f5fe02307e747af719d5f4ab5a8ebf04))
* **api:** add loan_tape_date field to statement line items ([9dd0f14](https://github.com/lithic-com/lithic-ruby/commit/9dd0f14b35ebd87561dda0a11da9b440d9a4f1cb))
* **api:** add penalty_rates parameter to interest_tier_schedule ([d5d3ecb](https://github.com/lithic-com/lithic-ruby/commit/d5d3ecb2d87d8475aead81558b3152fd922cf267))
* **api:** Add support for early direct deposit ([5b75c2f](https://github.com/lithic-com/lithic-ruby/commit/5b75c2fdb30131890b8ea83befd70c6f7cba804f))
* **api:** add TypeScript code rules, draft version state tracking to auth_rules ([1dbdb68](https://github.com/lithic-com/lithic-ruby/commit/1dbdb688fffb5909af5c568bb16b2e3f899a6a42))
* **api:** add versions field to auth_rules daily statistics ([827bf68](https://github.com/lithic-com/lithic-ruby/commit/827bf6825c3dae568720c02beceedb1cc0f357f8))
* **api:** add WIRE category to account_activity/statements/payment, wire event types, remove field ([a9df6e3](https://github.com/lithic-com/lithic-ruby/commit/a9df6e398525050cf3cb0d7d1166a4fd27d5d182))
* **client:** add webhook support ([e31938a](https://github.com/lithic-com/lithic-ruby/commit/e31938aed255ccf33ac8cafcde59f0b53334cd52))


### Bug Fixes

* **api:** [breaking] unify webhook schemas for digital_wallet.tokenization_approval_request webhooks ([46555c1](https://github.com/lithic-com/lithic-ruby/commit/46555c112e45b4aa389e3d8f0a5231a0a7c3ce19))
* **api:** Disable MCP server to fix TypeScript SDK package publishing ([b977c80](https://github.com/lithic-com/lithic-ruby/commit/b977c80b191364666f305fc9527d161c653a43f7))
* **types:** require start/end_, remove auth_rule_token in auth_rules v2 backtest ([7307a40](https://github.com/lithic-com/lithic-ruby/commit/7307a40c8d1c7e50bc79ef302b1563da333ccb53))


### Chores

* **internal:** codegen related update ([489f19b](https://github.com/lithic-com/lithic-ruby/commit/489f19b1c8c76d08aed0a313d45bed73406025b5))
* **internal:** regenerate SDK with no functional changes ([13a1d1b](https://github.com/lithic-com/lithic-ruby/commit/13a1d1bd178d109ca6d5c8d3f3199f471b643cfa))


### Documentation

* **api:** update disputes terminology to chargeback request ([94dadbc](https://github.com/lithic-com/lithic-ruby/commit/94dadbcaa0c7f98b6a7e8b66fcdf5bfdc0e8fa5d))
* **client:** add MCP Server section to README ([fbf0234](https://github.com/lithic-com/lithic-ruby/commit/fbf0234627af6b16c0844a258c3133f2d671613c))

## 0.7.0 (2026-03-05)

Full Changelog: [v0.6.0...v0.7.0](https://github.com/lithic-com/lithic-ruby/compare/v0.6.0...v0.7.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ group :development, :test do
gem "minitest-hooks"
gem "minitest-proveit"
gem "minitest-rg"
gem "standardwebhooks", "~> 1.0", github: "standard-webhooks/standard-webhooks", glob: "libraries/ruby/*.gemspec"
gem "standardwebhooks", "~> 1.0"
gem "webmock"
end

Expand Down
12 changes: 3 additions & 9 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,10 @@ GIT
rbs
syntax_tree (>= 2.0.1)

GIT
remote: https://github.com/standard-webhooks/standard-webhooks.git
revision: a173a6c0125ca2b9245bf5ea3f1c61384ccc10a2
glob: libraries/ruby/*.gemspec
specs:
standardwebhooks (1.0.0)

PATH
remote: .
specs:
lithic (0.7.0)
lithic (0.8.0)
cgi
connection_pool

Expand Down Expand Up @@ -150,6 +143,7 @@ GEM
rexml (>= 3.2.6)
sorbet-static-and-runtime (>= 0.5.10187)
thor (>= 0.19.2)
standardwebhooks (1.0.1)
steep (1.10.0)
activesupport (>= 5.1)
concurrent-ruby (>= 1.1.10)
Expand Down Expand Up @@ -223,7 +217,7 @@ DEPENDENCIES
redcarpet
rubocop
sorbet
standardwebhooks (~> 1.0)!
standardwebhooks (~> 1.0)
steep
syntax_tree
syntax_tree-rbs!
Expand Down
6 changes: 3 additions & 3 deletions 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.7.0"
gem "lithic", "~> 0.8.0"
```

<!-- x-release-please-end -->
Expand Down Expand Up @@ -102,10 +102,10 @@ event = lithic.webhooks.parse_unsafe(request.body.read)

#### Installing standardwebhooks (optional)

To use signature verification, install from GitHub:
To use signature verification, add the gem to your Gemfile:

```ruby
gem "standardwebhooks", "~> 1.0", github: "standard-webhooks/standard-webhooks", glob: "libraries/ruby/*.gemspec"
gem "standardwebhooks", "~> 1.0"
```

### Handling errors
Expand Down
15 changes: 14 additions & 1 deletion lib/lithic.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@

# Gems.
require "connection_pool"
require "standardwebhooks"

# Package files.
require_relative "lithic/version"
Expand Down Expand Up @@ -114,6 +115,7 @@
require_relative "lithic/models/api_status"
require_relative "lithic/models/auth_rules/auth_rule"
require_relative "lithic/models/auth_rules/auth_rule_condition"
require_relative "lithic/models/auth_rules/auth_rule_version"
require_relative "lithic/models/auth_rules/backtest_stats"
require_relative "lithic/models/auth_rules/conditional_3ds_action_parameters"
require_relative "lithic/models/auth_rules/conditional_ach_action_parameters"
Expand All @@ -126,6 +128,8 @@
require_relative "lithic/models/auth_rules/event_stream"
require_relative "lithic/models/auth_rules/merchant_lock_parameters"
require_relative "lithic/models/auth_rules/report_stats"
require_relative "lithic/models/auth_rules/rule_feature"
require_relative "lithic/models/auth_rules/typescript_code_parameters"
require_relative "lithic/models/auth_rules/v2/backtest_create_params"
require_relative "lithic/models/auth_rules/v2/backtest_create_response"
require_relative "lithic/models/auth_rules/v2/backtest_retrieve_params"
Expand All @@ -135,13 +139,16 @@
require_relative "lithic/models/auth_rules/v2_list_params"
require_relative "lithic/models/auth_rules/v2_list_results_params"
require_relative "lithic/models/auth_rules/v2_list_results_response"
require_relative "lithic/models/auth_rules/v2_list_versions_params"
require_relative "lithic/models/auth_rules/v2_list_versions_response"
require_relative "lithic/models/auth_rules/v2_promote_params"
require_relative "lithic/models/auth_rules/v2_retrieve_features_params"
require_relative "lithic/models/auth_rules/v2_retrieve_features_response"
require_relative "lithic/models/auth_rules/v2_retrieve_params"
require_relative "lithic/models/auth_rules/v2_retrieve_report_params"
require_relative "lithic/models/auth_rules/v2_retrieve_report_response"
require_relative "lithic/models/auth_rules/v2_update_params"
require_relative "lithic/models/auth_rules/velocity_limit_filters"
require_relative "lithic/models/auth_rules/velocity_limit_params"
require_relative "lithic/models/auth_rules/velocity_limit_period"
require_relative "lithic/models/auth_rules_backtest_report_created_webhook_event"
Expand Down Expand Up @@ -320,6 +327,12 @@
require_relative "lithic/models/funding_event_retrieve_details_params"
require_relative "lithic/models/funding_event_retrieve_details_response"
require_relative "lithic/models/funding_event_retrieve_params"
require_relative "lithic/models/hold"
require_relative "lithic/models/hold_create_params"
require_relative "lithic/models/hold_event"
require_relative "lithic/models/hold_list_params"
require_relative "lithic/models/hold_retrieve_params"
require_relative "lithic/models/hold_void_params"
require_relative "lithic/models/instance_financial_account_type"
require_relative "lithic/models/internal_transaction_created_webhook_event"
require_relative "lithic/models/internal_transaction_updated_webhook_event"
Expand Down Expand Up @@ -397,7 +410,6 @@
require_relative "lithic/models/tokenization_activate_params"
require_relative "lithic/models/tokenization_approval_request_webhook_event"
require_relative "lithic/models/tokenization_deactivate_params"
require_relative "lithic/models/tokenization_decisioning_request_webhook_event"
require_relative "lithic/models/tokenization_decisioning_retrieve_secret_params"
require_relative "lithic/models/tokenization_decisioning_rotate_secret_params"
require_relative "lithic/models/tokenization_decisioning_rotate_secret_response"
Expand Down Expand Up @@ -485,6 +497,7 @@
require_relative "lithic/resources/fraud"
require_relative "lithic/resources/fraud/transactions"
require_relative "lithic/resources/funding_events"
require_relative "lithic/resources/holds"
require_relative "lithic/resources/internal_transaction"
require_relative "lithic/resources/management_operations"
require_relative "lithic/resources/network_programs"
Expand Down
11 changes: 11 additions & 0 deletions lib/lithic/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ class Client < Lithic::Internal::Transport::BaseClient
# @return [String]
attr_reader :api_key

# @return [String, nil]
attr_reader :webhook_secret

# @return [Lithic::Resources::Accounts]
attr_reader :accounts

Expand Down Expand Up @@ -113,6 +116,9 @@ class Client < Lithic::Internal::Transport::BaseClient
# @return [Lithic::Resources::NetworkPrograms]
attr_reader :network_programs

# @return [Lithic::Resources::Holds]
attr_reader :holds

# @return [Lithic::Resources::AccountActivity]
attr_reader :account_activity

Expand Down Expand Up @@ -146,6 +152,8 @@ def api_status(params = {})
#
# @param api_key [String, nil] Defaults to `ENV["LITHIC_API_KEY"]`
#
# @param webhook_secret [String, nil] Defaults to `ENV["LITHIC_WEBHOOK_SECRET"]`
#
# @param environment [:production, :sandbox, nil] Specifies the environment to use for the API.
#
# Each environment maps to a different base URL:
Expand All @@ -165,6 +173,7 @@ def api_status(params = {})
# @param max_retry_delay [Float]
def initialize(
api_key: ENV["LITHIC_API_KEY"],
webhook_secret: ENV["LITHIC_WEBHOOK_SECRET"],
environment: nil,
base_url: ENV["LITHIC_BASE_URL"],
max_retries: self.class::DEFAULT_MAX_RETRIES,
Expand All @@ -182,6 +191,7 @@ def initialize(
end

@api_key = api_key.to_s
@webhook_secret = webhook_secret&.to_s

super(
base_url: base_url,
Expand Down Expand Up @@ -221,6 +231,7 @@ def initialize(
@funding_events = Lithic::Resources::FundingEvents.new(client: self)
@fraud = Lithic::Resources::Fraud.new(client: self)
@network_programs = Lithic::Resources::NetworkPrograms.new(client: self)
@holds = Lithic::Resources::Holds.new(client: self)
@account_activity = Lithic::Resources::AccountActivity.new(client: self)
@transfer_limits = Lithic::Resources::TransferLimits.new(client: self)
@webhooks = Lithic::Resources::Webhooks.new(client: self)
Expand Down
14 changes: 12 additions & 2 deletions lib/lithic/models.rb
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,18 @@ module Lithic

FundingEventRetrieveParams = Lithic::Models::FundingEventRetrieveParams

Hold = Lithic::Models::Hold

HoldCreateParams = Lithic::Models::HoldCreateParams

HoldEvent = Lithic::Models::HoldEvent

HoldListParams = Lithic::Models::HoldListParams

HoldRetrieveParams = Lithic::Models::HoldRetrieveParams

HoldVoidParams = Lithic::Models::HoldVoidParams

InstanceFinancialAccountType = Lithic::Models::InstanceFinancialAccountType

InternalTransactionAPI = Lithic::Models::InternalTransactionAPI
Expand Down Expand Up @@ -498,8 +510,6 @@ module Lithic

TokenizationDeactivateParams = Lithic::Models::TokenizationDeactivateParams

TokenizationDecisioningRequestWebhookEvent = Lithic::Models::TokenizationDecisioningRequestWebhookEvent

TokenizationDecisioningRetrieveSecretParams = Lithic::Models::TokenizationDecisioningRetrieveSecretParams

TokenizationDecisioningRotateSecretParams = Lithic::Models::TokenizationDecisioningRotateSecretParams
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic/models/account_activity_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ module Category
extend Lithic::Internal::Type::Enum

ACH = :ACH
WIRE = :WIRE
BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
FEE = :FEE
REWARD = :REWARD
Expand All @@ -128,6 +129,7 @@ module Category
MANAGEMENT_FEE = :MANAGEMENT_FEE
MANAGEMENT_REWARD = :MANAGEMENT_REWARD
MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
HOLD = :HOLD
PROGRAM_FUNDING = :PROGRAM_FUNDING

# @!method self.values
Expand Down
10 changes: 8 additions & 2 deletions lib/lithic/models/account_activity_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ module Models
# which transaction type is returned: INTERNAL returns FinancialTransaction,
# TRANSFER returns BookTransferTransaction, CARD returns CardTransaction, PAYMENT
# returns PaymentTransaction, EXTERNAL_PAYMENT returns ExternalPaymentResponse,
# and MANAGEMENT_OPERATION returns ManagementOperationTransaction
# MANAGEMENT_OPERATION returns ManagementOperationTransaction, and HOLD returns
# HoldTransaction
#
# @see Lithic::Resources::AccountActivity#list
module AccountActivityListResponse
Expand All @@ -30,6 +31,9 @@ module AccountActivityListResponse

variant :MANAGEMENT_OPERATION, -> { Lithic::ManagementOperationTransaction }

# A hold transaction representing reserved funds on a financial account. Holds move funds from available to pending balance in anticipation of future payments. They can be resolved via settlement (linked to payment), manual release, or expiration.
variant :HOLD, -> { Lithic::Hold }

class Internal < Lithic::Internal::Type::BaseModel
# @!attribute token
# Unique identifier for the transaction
Expand Down Expand Up @@ -145,6 +149,7 @@ module Category
extend Lithic::Internal::Type::Enum

ACH = :ACH
WIRE = :WIRE
BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
FEE = :FEE
REWARD = :REWARD
Expand All @@ -163,6 +168,7 @@ module Category
MANAGEMENT_FEE = :MANAGEMENT_FEE
MANAGEMENT_REWARD = :MANAGEMENT_REWARD
MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
HOLD = :HOLD
PROGRAM_FUNDING = :PROGRAM_FUNDING

# @!method self.values
Expand Down Expand Up @@ -261,7 +267,7 @@ module Status
end

# @!method self.variants
# @return [Array(Lithic::Models::AccountActivityListResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityListResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction)]
# @return [Array(Lithic::Models::AccountActivityListResponse::Internal, Lithic::Models::BookTransferResponse, Lithic::Models::AccountActivityListResponse::Card, Lithic::Models::Payment, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction, Lithic::Models::Hold)]
end
end
end
Loading