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
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand All @@ -46,7 +46,7 @@ jobs:
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand All @@ -67,7 +67,7 @@ jobs:
github.repository == 'stainless-sdks/lithic-python' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
uses: actions/github-script@v8
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: core.setOutput('github_token', await core.getIDToken());

Expand All @@ -87,7 +87,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand All @@ -110,7 +110,7 @@ jobs:
if: github.repository == 'lithic-com/lithic-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-pypi.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@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Rye
run: |
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-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- 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.124.0"
".": "0.125.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: 192
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-00f07b0edcc0c3c5ef79920ced7f58dac2434df5e4c27ff6041783e8228315f9.yml
openapi_spec_hash: 963688b09480159a06865075c94a2577
config_hash: 265a2b679964f4ad5706de101ad2a942
configured_endpoints: 193
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9350b3c0a9a4fc31e1cac88e705f1ac6895108360ba8f7845a8da20db825f82e.yml
openapi_spec_hash: c99714470f6321912e8022434a861897
config_hash: 1c5c139a2aa0d1d45c063f953a9bc803
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## 0.125.0 (2026-05-19)

Full Changelog: [v0.124.0...v0.125.0](https://github.com/lithic-com/lithic-python/compare/v0.124.0...v0.125.0)

### Features

* **api:** add card_authorization.challenge webhook event ([b765f10](https://github.com/lithic-com/lithic-python/commit/b765f10fde1ef33f2678fbd822aed1bb038682e7))
* **api:** add out-of-band challenge method, declined status to card authorization types ([d8076eb](https://github.com/lithic-com/lithic-python/commit/d8076ebdf083ac1107e72d959bc463d20c5352a0))


### Bug Fixes

* **types:** change ConditionalValue from int to float in auth_rules ([40d3bf0](https://github.com/lithic-com/lithic-python/commit/40d3bf0fee4584c9da3329c38db4be5891cb83e6))


### Documentation

* **api:** clarify ACCOUNT_AGE attribute behavior in auth_rules conditions ([9fa7ab5](https://github.com/lithic-com/lithic-python/commit/9fa7ab57a8d841dbfba48bf4c7dc322ef30db202))

## 0.124.0 (2026-05-11)

Full Changelog: [v0.123.0...v0.124.0](https://github.com/lithic-com/lithic-python/compare/v0.123.0...v0.124.0)
Expand Down
13 changes: 13 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,18 @@ Methods:
- <code title="get /v1/cards/{card_token}/financial_transactions/{financial_transaction_token}">client.cards.financial_transactions.<a href="./src/lithic/resources/cards/financial_transactions.py">retrieve</a>(financial_transaction_token, \*, card_token) -> <a href="./src/lithic/types/financial_transaction.py">FinancialTransaction</a></code>
- <code title="get /v1/cards/{card_token}/financial_transactions">client.cards.financial_transactions.<a href="./src/lithic/resources/cards/financial_transactions.py">list</a>(card_token, \*\*<a href="src/lithic/types/cards/financial_transaction_list_params.py">params</a>) -> <a href="./src/lithic/types/financial_transaction.py">SyncSinglePage[FinancialTransaction]</a></code>

# CardAuthorizations

Types:

```python
from lithic.types import CardAuthorization
```

Methods:

- <code title="post /v1/card_authorizations/{event_token}/challenge_response">client.card_authorizations.<a href="./src/lithic/resources/card_authorizations.py">challenge_response</a>(event_token, \*\*<a href="src/lithic/types/card_authorization_challenge_response_params.py">params</a>) -> None</code>

# CardBulkOrders

Types:
Expand Down Expand Up @@ -900,6 +912,7 @@ from lithic.types import (
AccountHolderVerificationWebhookEvent,
AccountHolderDocumentUpdatedWebhookEvent,
CardAuthorizationApprovalRequestWebhookEvent,
CardAuthorizationChallengeWebhookEvent,
CardAuthorizationChallengeResponseWebhookEvent,
AuthRulesBacktestReportCreatedWebhookEvent,
BalanceUpdatedWebhookEvent,
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "lithic"
version = "0.124.0"
version = "0.125.0"
description = "The official Python library for the lithic API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
38 changes: 38 additions & 0 deletions src/lithic/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
network_programs,
external_payments,
financial_accounts,
card_authorizations,
responder_endpoints,
management_operations,
auth_stream_enrollment,
Expand Down Expand Up @@ -96,6 +97,7 @@
from .resources.network_programs import NetworkPrograms, AsyncNetworkPrograms
from .resources.external_payments import ExternalPayments, AsyncExternalPayments
from .resources.three_ds.three_ds import ThreeDS, AsyncThreeDS
from .resources.card_authorizations import CardAuthorizations, AsyncCardAuthorizations
from .resources.responder_endpoints import ResponderEndpoints, AsyncResponderEndpoints
from .resources.auth_rules.auth_rules import AuthRules, AsyncAuthRules
from .resources.management_operations import ManagementOperations, AsyncManagementOperations
Expand Down Expand Up @@ -263,6 +265,12 @@ def cards(self) -> Cards:

return Cards(self)

@cached_property
def card_authorizations(self) -> CardAuthorizations:
from .resources.card_authorizations import CardAuthorizations

return CardAuthorizations(self)

@cached_property
def card_bulk_orders(self) -> CardBulkOrders:
from .resources.card_bulk_orders import CardBulkOrders
Expand Down Expand Up @@ -687,6 +695,12 @@ def cards(self) -> AsyncCards:

return AsyncCards(self)

@cached_property
def card_authorizations(self) -> AsyncCardAuthorizations:
from .resources.card_authorizations import AsyncCardAuthorizations

return AsyncCardAuthorizations(self)

@cached_property
def card_bulk_orders(self) -> AsyncCardBulkOrders:
from .resources.card_bulk_orders import AsyncCardBulkOrders
Expand Down Expand Up @@ -1025,6 +1039,12 @@ def cards(self) -> cards.CardsWithRawResponse:

return CardsWithRawResponse(self._client.cards)

@cached_property
def card_authorizations(self) -> card_authorizations.CardAuthorizationsWithRawResponse:
from .resources.card_authorizations import CardAuthorizationsWithRawResponse

return CardAuthorizationsWithRawResponse(self._client.card_authorizations)

@cached_property
def card_bulk_orders(self) -> card_bulk_orders.CardBulkOrdersWithRawResponse:
from .resources.card_bulk_orders import CardBulkOrdersWithRawResponse
Expand Down Expand Up @@ -1222,6 +1242,12 @@ def cards(self) -> cards.AsyncCardsWithRawResponse:

return AsyncCardsWithRawResponse(self._client.cards)

@cached_property
def card_authorizations(self) -> card_authorizations.AsyncCardAuthorizationsWithRawResponse:
from .resources.card_authorizations import AsyncCardAuthorizationsWithRawResponse

return AsyncCardAuthorizationsWithRawResponse(self._client.card_authorizations)

@cached_property
def card_bulk_orders(self) -> card_bulk_orders.AsyncCardBulkOrdersWithRawResponse:
from .resources.card_bulk_orders import AsyncCardBulkOrdersWithRawResponse
Expand Down Expand Up @@ -1419,6 +1445,12 @@ def cards(self) -> cards.CardsWithStreamingResponse:

return CardsWithStreamingResponse(self._client.cards)

@cached_property
def card_authorizations(self) -> card_authorizations.CardAuthorizationsWithStreamingResponse:
from .resources.card_authorizations import CardAuthorizationsWithStreamingResponse

return CardAuthorizationsWithStreamingResponse(self._client.card_authorizations)

@cached_property
def card_bulk_orders(self) -> card_bulk_orders.CardBulkOrdersWithStreamingResponse:
from .resources.card_bulk_orders import CardBulkOrdersWithStreamingResponse
Expand Down Expand Up @@ -1616,6 +1648,12 @@ def cards(self) -> cards.AsyncCardsWithStreamingResponse:

return AsyncCardsWithStreamingResponse(self._client.cards)

@cached_property
def card_authorizations(self) -> card_authorizations.AsyncCardAuthorizationsWithStreamingResponse:
from .resources.card_authorizations import AsyncCardAuthorizationsWithStreamingResponse

return AsyncCardAuthorizationsWithStreamingResponse(self._client.card_authorizations)

@cached_property
def card_bulk_orders(self) -> card_bulk_orders.AsyncCardBulkOrdersWithStreamingResponse:
from .resources.card_bulk_orders import AsyncCardBulkOrdersWithStreamingResponse
Expand Down
2 changes: 1 addition & 1 deletion src/lithic/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "lithic"
__version__ = "0.124.0" # x-release-please-version
__version__ = "0.125.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/lithic/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@
FinancialAccountsWithStreamingResponse,
AsyncFinancialAccountsWithStreamingResponse,
)
from .card_authorizations import (
CardAuthorizations,
AsyncCardAuthorizations,
CardAuthorizationsWithRawResponse,
AsyncCardAuthorizationsWithRawResponse,
CardAuthorizationsWithStreamingResponse,
AsyncCardAuthorizationsWithStreamingResponse,
)
from .responder_endpoints import (
ResponderEndpoints,
AsyncResponderEndpoints,
Expand Down Expand Up @@ -293,6 +301,12 @@
"AsyncCardsWithRawResponse",
"CardsWithStreamingResponse",
"AsyncCardsWithStreamingResponse",
"CardAuthorizations",
"AsyncCardAuthorizations",
"CardAuthorizationsWithRawResponse",
"AsyncCardAuthorizationsWithRawResponse",
"CardAuthorizationsWithStreamingResponse",
"AsyncCardAuthorizationsWithStreamingResponse",
"CardBulkOrders",
"AsyncCardBulkOrders",
"CardBulkOrdersWithRawResponse",
Expand Down
Loading