Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
85d2d96
docs(api): clarify simulate_clearing behavior in transactions
stainless-app[bot] Jul 9, 2026
7c331aa
docs(api): update category parameter description in external_payments
stainless-app[bot] Jul 16, 2026
92638f2
docs(api): clarify dispute event descriptions in Event model
stainless-app[bot] Jul 17, 2026
d2bf66d
feat(stlc): configurable CI runner and private-production-repo suppor…
stainless-app[bot] Jul 17, 2026
64b5358
feat(api): add PAYMENT enum value to book_transfers
stainless-app[bot] Jul 17, 2026
84ae573
feat(api): add embed.session_generated and embed.viewed webhook events
stainless-app[bot] Jul 17, 2026
11f2bc1
chore(internal): regenerate SDK with no functional changes
stainless-app[bot] Jul 20, 2026
3423f7a
docs(types): increase max duration to 90 days in velocity_limit_period
stainless-app[bot] Jul 21, 2026
0f01552
feat(api): add REVERSED status value to payments list method
stainless-app[bot] Jul 22, 2026
99e1525
feat(api): add recipient_name field to payment ACH method attributes
stainless-app[bot] Jul 22, 2026
c10d6da
feat(api): add PROGRAM_TRANSFER category and LITHIC/BANK_PROGRAM_TRAN…
stainless-app[bot] Jul 22, 2026
e1934d5
docs(api): clarify last_transaction_event_token behavior in balances
stainless-app[bot] Jul 24, 2026
1f083ba
feat(api): add STABLECOIN category and events to account_activity and…
stainless-app[bot] Jul 27, 2026
bcbde18
feat(api): add disposition_reasons to queues, change resolution to st…
stainless-app[bot] Jul 29, 2026
ed50fd9
codegen metadata
stainless-app[bot] Jul 29, 2026
809d5a9
feat(api): add RECIPIENT_NAME attribute option to auth_rules ACH cond…
stainless-app[bot] Jul 30, 2026
cd749c8
release: 0.130.0
stainless-app[bot] Jul 30, 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: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && '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) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -44,7 +44,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && '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 All @@ -106,7 +106,7 @@ jobs:
examples:
timeout-minutes: 10
name: examples
runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
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:
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.129.0"
".": "0.130.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: 213
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9e397c65ffb81e2928b8ecf979769a79131ae6058b6fb373a5e930dc8a168732.yml
openapi_spec_hash: 93aea3855d2d1c390107d223762aa818
config_hash: 5bb913c05ebeb301ec925b16e75bb251
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-59c09c7355b21b663e001d2ee1086ebd0a70d9b5433823282bca296eedff9eb0.yml
openapi_spec_hash: d9c3b932c810809abc6e973d662ad376
config_hash: 337a99d8cc30006358b7bc2531401669
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# Changelog

## 0.130.0 (2026-07-30)

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

### Features

* **api:** add disposition_reasons to queues, change resolution to string in cases ([bcbde18](https://github.com/lithic-com/lithic-python/commit/bcbde1856fa3f14b45f15fcac11261a9c0e0fe5e))
* **api:** add embed.session_generated and embed.viewed webhook events ([84ae573](https://github.com/lithic-com/lithic-python/commit/84ae5737ab2f64c05b512dc8cc0ac6de0579de70))
* **api:** add PAYMENT enum value to book_transfers ([64b5358](https://github.com/lithic-com/lithic-python/commit/64b535810856b0344875a50a10bfed3212a1bb8a))
* **api:** add PROGRAM_TRANSFER category and LITHIC/BANK_PROGRAM_TRANSFER type enums ([c10d6da](https://github.com/lithic-com/lithic-python/commit/c10d6da217709c34f2c2a3d7c39306a0372a1735))
* **api:** add RECIPIENT_NAME attribute option to auth_rules ACH conditions ([809d5a9](https://github.com/lithic-com/lithic-python/commit/809d5a9f563fdff71609a22fafeede36723e9951))
* **api:** add recipient_name field to payment ACH method attributes ([99e1525](https://github.com/lithic-com/lithic-python/commit/99e1525f200cf84137eee26ffaa5dde53406ad42))
* **api:** add REVERSED status value to payments list method ([0f01552](https://github.com/lithic-com/lithic-python/commit/0f0155270dd93252f2717ad754f816b72b6abb61))
* **api:** add STABLECOIN category and events to account_activity and payments ([1f083ba](https://github.com/lithic-com/lithic-python/commit/1f083bacd4a39c1245fa2c0962cd2d72a387de43))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([d2bf66d](https://github.com/lithic-com/lithic-python/commit/d2bf66d3cb39aaeb20363b620223a1c010aaf846))


### Chores

* **internal:** regenerate SDK with no functional changes ([11f2bc1](https://github.com/lithic-com/lithic-python/commit/11f2bc121e233392a77b71cee01b873ef12ce780))


### Documentation

* **api:** clarify dispute event descriptions in Event model ([92638f2](https://github.com/lithic-com/lithic-python/commit/92638f2617ed8c2114082008a5d30171bbdd17ae))
* **api:** clarify last_transaction_event_token behavior in balances ([e1934d5](https://github.com/lithic-com/lithic-python/commit/e1934d529914332c32953ea89ec9323adb31d2d4))
* **api:** clarify simulate_clearing behavior in transactions ([85d2d96](https://github.com/lithic-com/lithic-python/commit/85d2d9657022d3e7848477b329ba7f347efa7007))
* **api:** update category parameter description in external_payments ([7c331aa](https://github.com/lithic-com/lithic-python/commit/7c331aae7db42d9e5663d71d26ec2f8a7ee91153))
* **types:** increase max duration to 90 days in velocity_limit_period ([3423f7a](https://github.com/lithic-com/lithic-python/commit/3423f7aa9cc494895464c2c18056feafb5e6f95b))

## 0.129.0 (2026-06-29)

Full Changelog: [v0.128.0...v0.129.0](https://github.com/lithic-com/lithic-python/compare/v0.128.0...v0.129.0)
Expand Down
3 changes: 2 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,6 @@ from lithic.types.transaction_monitoring import (
CaseTransaction,
EntityType,
MonitoringCase,
ResolutionOutcome,
CaseRetrieveCardsResponse,
)
```
Expand Down Expand Up @@ -1015,6 +1014,8 @@ from lithic.types import (
DigitalWalletTokenizationUpdatedWebhookEvent,
DisputeUpdatedWebhookEvent,
DisputeEvidenceUploadFailedWebhookEvent,
EmbedSessionGeneratedWebhookEvent,
EmbedViewedWebhookEvent,
ExternalBankAccountCreatedWebhookEvent,
ExternalBankAccountUpdatedWebhookEvent,
ExternalPaymentCreatedWebhookEvent,
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.129.0"
version = "0.130.0"
description = "The official Python library for the lithic API"
dynamic = ["readme"]
license = "Apache-2.0"
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.129.0" # x-release-please-version
__version__ = "0.130.0" # x-release-please-version
4 changes: 4 additions & 0 deletions src/lithic/resources/account_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def list(
category: Literal[
"ACH",
"WIRE",
"STABLECOIN",
"BALANCE_OR_FUNDING",
"FEE",
"REWARD",
Expand All @@ -72,6 +73,7 @@ def list(
"MANAGEMENT_DISBURSEMENT",
"HOLD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
]
| Omit = omit,
end: Union[str, datetime] | Omit = omit,
Expand Down Expand Up @@ -224,6 +226,7 @@ def list(
category: Literal[
"ACH",
"WIRE",
"STABLECOIN",
"BALANCE_OR_FUNDING",
"FEE",
"REWARD",
Expand All @@ -244,6 +247,7 @@ def list(
"MANAGEMENT_DISBURSEMENT",
"HOLD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
]
| Omit = omit,
end: Union[str, datetime] | Omit = omit,
Expand Down
10 changes: 10 additions & 0 deletions src/lithic/resources/book_transfers.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def create(
"INTERNAL",
"REWARD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
"TRANSFER",
],
from_financial_account_token: str,
Expand All @@ -86,6 +87,7 @@ def create(
"INTEREST",
"LATE_PAYMENT",
"BILL_PAYMENT",
"PAYMENT_FEE",
"CASH_BACK",
"ACCOUNT_TO_ACCOUNT",
"CARD_TO_CARD",
Expand All @@ -101,6 +103,8 @@ def create(
"SERVICE",
"TRANSFER",
"COLLECTION",
"LITHIC_PROGRAM_TRANSFER",
"BANK_PROGRAM_TRANSFER",
],
token: str | Omit = omit,
external_id: str | Omit = omit,
Expand Down Expand Up @@ -225,6 +229,7 @@ def list(
"INTERNAL",
"REWARD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
"TRANSFER",
]
| Omit = omit,
Expand Down Expand Up @@ -419,6 +424,7 @@ async def create(
"INTERNAL",
"REWARD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
"TRANSFER",
],
from_financial_account_token: str,
Expand All @@ -445,6 +451,7 @@ async def create(
"INTEREST",
"LATE_PAYMENT",
"BILL_PAYMENT",
"PAYMENT_FEE",
"CASH_BACK",
"ACCOUNT_TO_ACCOUNT",
"CARD_TO_CARD",
Expand All @@ -460,6 +467,8 @@ async def create(
"SERVICE",
"TRANSFER",
"COLLECTION",
"LITHIC_PROGRAM_TRANSFER",
"BANK_PROGRAM_TRANSFER",
],
token: str | Omit = omit,
external_id: str | Omit = omit,
Expand Down Expand Up @@ -584,6 +593,7 @@ def list(
"INTERNAL",
"REWARD",
"PROGRAM_FUNDING",
"PROGRAM_TRANSFER",
"TRANSFER",
]
| Omit = omit,
Expand Down
4 changes: 2 additions & 2 deletions src/lithic/resources/card_authorizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def challenge_response(

Programs that have
Authorization Challenges configured as Out of Band receive a
[card_authorization.challenge](https://docs.lithic.com/reference/post_card-authorization-challenge)
[card_authorization.challenge](https://docs.lithic.com/reference/cardauthorizationchallengewebhook)
webhook when an authorization attempt triggers a challenge. The card program
should respond using this endpoint after the cardholder completes the challenge.

Expand Down Expand Up @@ -120,7 +120,7 @@ async def challenge_response(

Programs that have
Authorization Challenges configured as Out of Band receive a
[card_authorization.challenge](https://docs.lithic.com/reference/post_card-authorization-challenge)
[card_authorization.challenge](https://docs.lithic.com/reference/cardauthorizationchallengewebhook)
webhook when an authorization attempt triggers a challenge. The card program
should respond using this endpoint after the cardholder completes the challenge.

Expand Down
33 changes: 25 additions & 8 deletions src/lithic/resources/cards/cards.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import json
import base64
import hashlib
import typing_extensions
from typing import Any, Union, cast
from datetime import datetime, timezone, timedelta
from typing_extensions import Literal
Expand Down Expand Up @@ -675,6 +676,7 @@ def convert_physical(
cast_to=Card,
)

@typing_extensions.deprecated("deprecated")
def embed(
self,
*,
Expand All @@ -688,6 +690,9 @@ def embed(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> str:
"""
**Deprecated.** Use the modern embedded card flow instead: create a session with
`POST /v1/cards/{card_token}/embed` and render it via `GET /v1/embed`.

Handling full card PANs and CVV codes requires that you comply with the Payment
Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce
their compliance obligations by leveraging our embedded card UI solution
Expand Down Expand Up @@ -1903,6 +1908,7 @@ async def convert_physical(
cast_to=Card,
)

@typing_extensions.deprecated("deprecated")
async def embed(
self,
*,
Expand All @@ -1916,6 +1922,9 @@ async def embed(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> str:
"""
**Deprecated.** Use the modern embedded card flow instead: create a session with
`POST /v1/cards/{card_token}/embed` and render it via `GET /v1/embed`.

Handling full card PANs and CVV codes requires that you comply with the Payment
Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce
their compliance obligations by leveraging our embedded card UI solution
Expand Down Expand Up @@ -2539,8 +2548,10 @@ def __init__(self, cards: Cards) -> None:
self.convert_physical = _legacy_response.to_raw_response_wrapper(
cards.convert_physical,
)
self.embed = _legacy_response.to_raw_response_wrapper(
cards.embed,
self.embed = ( # pyright: ignore[reportDeprecated]
_legacy_response.to_raw_response_wrapper(
cards.embed, # pyright: ignore[reportDeprecated],
)
)
self.provision = _legacy_response.to_raw_response_wrapper(
cards.provision,
Expand Down Expand Up @@ -2592,8 +2603,10 @@ def __init__(self, cards: AsyncCards) -> None:
self.convert_physical = _legacy_response.async_to_raw_response_wrapper(
cards.convert_physical,
)
self.embed = _legacy_response.async_to_raw_response_wrapper(
cards.embed,
self.embed = ( # pyright: ignore[reportDeprecated]
_legacy_response.async_to_raw_response_wrapper(
cards.embed, # pyright: ignore[reportDeprecated],
)
)
self.provision = _legacy_response.async_to_raw_response_wrapper(
cards.provision,
Expand Down Expand Up @@ -2645,8 +2658,10 @@ def __init__(self, cards: Cards) -> None:
self.convert_physical = to_streamed_response_wrapper(
cards.convert_physical,
)
self.embed = to_streamed_response_wrapper(
cards.embed,
self.embed = ( # pyright: ignore[reportDeprecated]
to_streamed_response_wrapper(
cards.embed, # pyright: ignore[reportDeprecated],
)
)
self.provision = to_streamed_response_wrapper(
cards.provision,
Expand Down Expand Up @@ -2698,8 +2713,10 @@ def __init__(self, cards: AsyncCards) -> None:
self.convert_physical = async_to_streamed_response_wrapper(
cards.convert_physical,
)
self.embed = async_to_streamed_response_wrapper(
cards.embed,
self.embed = ( # pyright: ignore[reportDeprecated]
async_to_streamed_response_wrapper(
cards.embed, # pyright: ignore[reportDeprecated],
)
)
self.provision = async_to_streamed_response_wrapper(
cards.provision,
Expand Down
4 changes: 4 additions & 0 deletions src/lithic/resources/events/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ def list(
"dispute_transaction.created",
"dispute_transaction.updated",
"dispute.updated",
"embed.session_generated",
"embed.viewed",
"external_bank_account.created",
"external_bank_account.updated",
"external_payment.created",
Expand Down Expand Up @@ -421,6 +423,8 @@ def list(
"dispute_transaction.created",
"dispute_transaction.updated",
"dispute.updated",
"embed.session_generated",
"embed.viewed",
"external_bank_account.created",
"external_bank_account.updated",
"external_payment.created",
Expand Down
Loading