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
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
Expand All @@ -36,7 +36,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/lithic-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-gem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'lithic-com/lithic-ruby' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Check release environment
run: |
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.3.0"
".": "0.4.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 176
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-4ecc06edca2cfad4eaf11573611e89823fda5f56370bac5cd02a498a6b277d09.yml
openapi_spec_hash: 8f4a30bec4348cbde85b1e65bef9189a
config_hash: 9dddee5f7af579864599849cb28a0770
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-14b3b5bca66c1e0935b314e469476f91193413c29a47ad4a0affa19beb14c7d3.yml
openapi_spec_hash: afba11ad031397d6e3873485b5b42473
config_hash: 31d71922d7838f34ae0875c9b8026d99
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## 0.4.0 (2026-01-26)

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

### Features

* **api:** Add card state attribute to tokenization rules ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
* **api:** Add card.updated event ([80369fe](https://github.com/lithic-com/lithic-ruby/commit/80369fe89f4bfb7255bfa05a2035c77238debe3a))
* **api:** Add event_type to ASA request and 3DS decisioning request ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
* **api:** Add idempotency key to cards POST and PATCH endpoints ([51321d8](https://github.com/lithic-com/lithic-ruby/commit/51321d8d84f5e1fcb4e9161dd607f01dc9d5cf5d))
* **api:** Add tags field to card transactions ([edf8fbc](https://github.com/lithic-com/lithic-ruby/commit/edf8fbccb53de602bc52be916d6c80498ae4e390))
* **api:** Add user defined status to ledger accounts ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
* **api:** Expose Payment Allocation Details ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
* **api:** make filter optional for Spend Velocity Auth Rules ([3e09d4a](https://github.com/lithic-com/lithic-ruby/commit/3e09d4a5488c83ad8122c973baf5eb4e18de29b0))


### Bug Fixes

* **api:** Correct field name from ach_hold__period to ach_hold_period ([16b6555](https://github.com/lithic-com/lithic-ruby/commit/16b65553840cfad0d39eb52d9770ca394a893c44))
* **api:** mark AppleWebPushProvisioningResponse fields required ([4105b29](https://github.com/lithic-com/lithic-ruby/commit/4105b29d27ce48c60180c5b7166e664fdd1c0e46))
* **api:** rename WIRE_DRAWDOWN_REQUEST to WIRE_INBOUND_DRAWDOWN_REQUEST ([3e09d4a](https://github.com/lithic-com/lithic-ruby/commit/3e09d4a5488c83ad8122c973baf5eb4e18de29b0))


### Chores

* Add spec linter for YAML and folded style multiline strings ([35a67d3](https://github.com/lithic-com/lithic-ruby/commit/35a67d3154e8f54d374c53d8b3b53b9485272878))
* configure new SDK language ([ba770b2](https://github.com/lithic-com/lithic-ruby/commit/ba770b2cd5f50ba1871c539f89036ff4538b1df2))
* **internal:** codegen related update ([ef965b2](https://github.com/lithic-com/lithic-ruby/commit/ef965b2fc0cfebc92a3d2317b7201318bcd500aa))
* **internal:** codegen related update ([143a5ea](https://github.com/lithic-com/lithic-ruby/commit/143a5ea456ee1e6db32fd923ddb68f749ceed53b))
* **internal:** update `actions/checkout` version ([830ae4a](https://github.com/lithic-com/lithic-ruby/commit/830ae4ad28662e5be21860d14ea86d2f1fa25ec0))
* Rework event type generation to support spec splitting ([fdb9960](https://github.com/lithic-com/lithic-ruby/commit/fdb9960d08f95f161da8abf310509d594a0d2957))
* update code formatting ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))


### Documentation

* Update language for Google Web Push Provisioning docs ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))

## 0.3.0 (2026-01-08)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/lithic-com/lithic-ruby/compare/v0.2.0...v0.3.0)
Expand Down
4 changes: 3 additions & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ GIT
PATH
remote: .
specs:
lithic (0.3.0)
lithic (0.4.0)
cgi
connection_pool

GEM
Expand Down Expand Up @@ -49,6 +50,7 @@ GEM
base64 (0.3.0)
benchmark (0.5.0)
bigdecimal (3.3.1)
cgi (0.5.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.4)
console (1.34.2)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "lithic", "~> 0.3.0"
gem "lithic", "~> 0.4.0"
```

<!-- x-release-please-end -->
Expand Down
1 change: 1 addition & 0 deletions lib/lithic.rb
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@
require_relative "lithic/models/card_transaction_enhanced_data_created_webhook_event"
require_relative "lithic/models/card_transaction_enhanced_data_updated_webhook_event"
require_relative "lithic/models/card_transaction_updated_webhook_event"
require_relative "lithic/models/card_updated_webhook_event"
require_relative "lithic/models/card_update_params"
require_relative "lithic/models/card_web_provision_params"
require_relative "lithic/models/card_web_provision_response"
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic/models.rb
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ module Lithic

CardTransactionUpdatedWebhookEvent = Lithic::Models::CardTransactionUpdatedWebhookEvent

CardUpdatedWebhookEvent = Lithic::Models::CardUpdatedWebhookEvent

CardUpdateParams = Lithic::Models::CardUpdateParams

CardWebProvisionParams = Lithic::Models::CardWebProvisionParams
Expand Down
42 changes: 21 additions & 21 deletions lib/lithic/models/auth_rules/velocity_limit_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ module Lithic
module Models
module AuthRules
class VelocityLimitParams < Lithic::Internal::Type::BaseModel
# @!attribute filters
#
# @return [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
required :filters, -> { Lithic::AuthRules::VelocityLimitParams::Filters }

# @!attribute period
# Velocity over the current day since 00:00 / 12 AM in Eastern Time
#
Expand All @@ -21,6 +16,11 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel
# @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParams::Scope]
required :scope, enum: -> { Lithic::AuthRules::VelocityLimitParams::Scope }

# @!attribute filters
#
# @return [Lithic::Models::AuthRules::VelocityLimitParams::Filters, nil]
optional :filters, -> { Lithic::AuthRules::VelocityLimitParams::Filters }

# @!attribute limit_amount
# The maximum amount of spend velocity allowed in the period in minor units (the
# smallest unit of a currency, e.g. cents for USD). Transactions exceeding this
Expand All @@ -39,20 +39,33 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel
# @return [Integer, nil]
optional :limit_count, Integer, nil?: true

# @!method initialize(filters:, period:, scope:, limit_amount: nil, limit_count: nil)
# @!method initialize(period:, scope:, filters: nil, limit_amount: nil, limit_count: nil)
# Some parameter documentations has been truncated, see
# {Lithic::Models::AuthRules::VelocityLimitParams} for more details.
#
# @param filters [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
#
# @param period [Lithic::Models::AuthRules::VelocityLimitPeriod::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowYear] Velocity over the current day since 00:00 / 12 AM in Eastern Time
#
# @param scope [Symbol, Lithic::Models::AuthRules::VelocityLimitParams::Scope] The scope the velocity is calculated for
#
# @param filters [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
#
# @param limit_amount [Integer, nil] The maximum amount of spend velocity allowed in the period in minor units (the s
#
# @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
#
# @see Lithic::Models::AuthRules::VelocityLimitParams#scope
module Scope
extend Lithic::Internal::Type::Enum

CARD = :CARD
ACCOUNT = :ACCOUNT

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

# @see Lithic::Models::AuthRules::VelocityLimitParams#filters
class Filters < Lithic::Internal::Type::BaseModel
# @!attribute exclude_countries
Expand Down Expand Up @@ -133,19 +146,6 @@ module IncludePanEntryMode
# @return [Array<Symbol>]
end
end

# The scope the velocity is calculated for
#
# @see Lithic::Models::AuthRules::VelocityLimitParams#scope
module Scope
extend Lithic::Internal::Type::Enum

CARD = :CARD
ACCOUNT = :ACCOUNT

# @!method self.values
# @return [Array<Symbol>]
end
end
end
end
Expand Down
9 changes: 8 additions & 1 deletion lib/lithic/models/card_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,12 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel
# @return [Symbol, Lithic::Models::CardCreateParams::State, nil]
optional :state, enum: -> { Lithic::CardCreateParams::State }

# @!method initialize(type:, account_token: nil, bulk_order_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {})
# @!attribute idempotency_key
#
# @return [String, nil]
optional :idempotency_key, String

# @!method initialize(type:, account_token: nil, bulk_order_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, idempotency_key: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {Lithic::Models::CardCreateParams} for more details.
#
Expand Down Expand Up @@ -270,6 +275,8 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel
#
# @param state [Symbol, Lithic::Models::CardCreateParams::State] Card state values:
#
# @param idempotency_key [String]
#
# @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]

# Card types:
Expand Down
40 changes: 40 additions & 0 deletions lib/lithic/models/card_updated_webhook_event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# frozen_string_literal: true

module Lithic
module Models
class CardUpdatedWebhookEvent < Lithic::Internal::Type::BaseModel
# @!attribute token
# The token of the card that was updated.
#
# @return [String]
required :token, String

# @!attribute event_type
# The type of event that occurred.
#
# @return [Symbol, :"card.updated"]
required :event_type, const: :"card.updated"

# @!attribute previous_fields
# The previous values of the fields that were updated.
#
# @return [Object]
required :previous_fields, Lithic::Internal::Type::Unknown

# @!attribute state
# The current state of the card.
#
# @return [String]
required :state, String

# @!method initialize(token:, previous_fields:, state:, event_type: :"card.updated")
# @param token [String] The token of the card that was updated.
#
# @param previous_fields [Object] The previous values of the fields that were updated.
#
# @param state [String] The current state of the card.
#
# @param event_type [Symbol, :"card.updated"] The type of event that occurred.
end
end
end
10 changes: 5 additions & 5 deletions lib/lithic/models/card_web_provision_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ class AppleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel
# @!attribute jws
# JWS object required for handoff to Apple's script.
#
# @return [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, nil]
optional :jws, -> { Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws }
# @return [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws]
required :jws, -> { Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws }

# @!attribute state
# A unique identifier for the JWS object.
#
# @return [String, nil]
optional :state, String
# @return [String]
required :state, String

# @!method initialize(jws: nil, state: nil)
# @!method initialize(jws:, state:)
# @param jws [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws] JWS object required for handoff to Apple's script.
#
# @param state [String] A unique identifier for the JWS object.
Expand Down
3 changes: 3 additions & 0 deletions lib/lithic/models/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class Event < Lithic::Internal::Type::BaseModel
# - card.reissued: Occurs when a card is reissued.
# - card.renewed: Occurs when a card is renewed.
# - card.shipped: Occurs when a card is shipped.
# - card.updated: Occurs when a card is updated.
# - digital_wallet.tokenization_approval_request: Occurs when a tokenization
# approval request is made. This event will be deprecated in the future. We
# recommend using `tokenization.approval_request` instead.
Expand Down Expand Up @@ -167,6 +168,7 @@ class Event < Lithic::Internal::Type::BaseModel
# - card.reissued: Occurs when a card is reissued.
# - card.renewed: Occurs when a card is renewed.
# - card.shipped: Occurs when a card is shipped.
# - card.updated: Occurs when a card is updated.
# - digital_wallet.tokenization_approval_request: Occurs when a tokenization
# approval request is made. This event will be deprecated in the future. We
# recommend using `tokenization.approval_request` instead.
Expand Down Expand Up @@ -263,6 +265,7 @@ module EventType
CARD_REISSUED = :"card.reissued"
CARD_RENEWED = :"card.renewed"
CARD_SHIPPED = :"card.shipped"
CARD_UPDATED = :"card.updated"
DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic/models/event_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class EventListParams < Lithic::Internal::Type::BaseModel
# - card.reissued: Occurs when a card is reissued.
# - card.renewed: Occurs when a card is renewed.
# - card.shipped: Occurs when a card is shipped.
# - card.updated: Occurs when a card is updated.
# - digital_wallet.tokenization_approval_request: Occurs when a tokenization
# approval request is made. This event will be deprecated in the future. We
# recommend using `tokenization.approval_request` instead.
Expand Down Expand Up @@ -192,6 +193,7 @@ module EventType
CARD_REISSUED = :"card.reissued"
CARD_RENEWED = :"card.renewed"
CARD_SHIPPED = :"card.shipped"
CARD_UPDATED = :"card.updated"
DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic/models/event_subscription.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ class EventSubscription < Lithic::Internal::Type::BaseModel
# - card.reissued: Occurs when a card is reissued.
# - card.renewed: Occurs when a card is renewed.
# - card.shipped: Occurs when a card is shipped.
# - card.updated: Occurs when a card is updated.
# - digital_wallet.tokenization_approval_request: Occurs when a tokenization
# approval request is made. This event will be deprecated in the future. We
# recommend using `tokenization.approval_request` instead.
Expand Down Expand Up @@ -165,6 +166,7 @@ module EventType
CARD_REISSUED = :"card.reissued"
CARD_RENEWED = :"card.renewed"
CARD_SHIPPED = :"card.shipped"
CARD_UPDATED = :"card.updated"
DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
Expand Down
2 changes: 2 additions & 0 deletions lib/lithic/models/events/subscription_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel
# - card.reissued: Occurs when a card is reissued.
# - card.renewed: Occurs when a card is renewed.
# - card.shipped: Occurs when a card is shipped.
# - card.updated: Occurs when a card is updated.
# - digital_wallet.tokenization_approval_request: Occurs when a tokenization
# approval request is made. This event will be deprecated in the future. We
# recommend using `tokenization.approval_request` instead.
Expand Down Expand Up @@ -167,6 +168,7 @@ module EventType
CARD_REISSUED = :"card.reissued"
CARD_RENEWED = :"card.renewed"
CARD_SHIPPED = :"card.shipped"
CARD_UPDATED = :"card.updated"
DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ module EventType
CARD_REISSUED = :"card.reissued"
CARD_RENEWED = :"card.renewed"
CARD_SHIPPED = :"card.shipped"
CARD_UPDATED = :"card.updated"
DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
Expand Down
Loading