Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6b3cfd6
feat(api): add EARLY_DIRECT_DEPOSIT_FLOAT type to financial accounts
stainless-app[bot] Mar 6, 2026
845458d
chore(internal): codegen related update
stainless-app[bot] Mar 7, 2026
f6dc800
feat(api): add typescript_code rule type, state/error fields to auth_…
stainless-app[bot] Mar 9, 2026
f23d302
fix(api): Disable MCP server to fix TypeScript SDK package publishing
stainless-app[bot] Mar 10, 2026
5545804
feat(api): add event_subtype field to statement line items
stainless-app[bot] Mar 10, 2026
e4ff030
feat(api): add loan_tape_date field to statement line items
stainless-app[bot] Mar 10, 2026
2299042
codegen metadata
stainless-app[bot] Mar 10, 2026
5c64610
feat(api): add ACH_RECEIPT_RELEASED_EARLY event type to payments
stainless-app[bot] Mar 10, 2026
9a13e1d
feat(api): add excluded_account_tokens parameter to auth_rules v2 cre…
stainless-app[bot] Mar 11, 2026
224cb0c
feat(api): add penalty_rates to interest tier schedule create
stainless-app[bot] Mar 11, 2026
aa66507
feat(api): add WIRE category, wire events, remove remittance_informat…
stainless-app[bot] Mar 12, 2026
0f35c28
docs(api): update disputes docstrings to use chargeback terminology
stainless-app[bot] Mar 12, 2026
5cce645
feat(api): add versions field to auth_rules DailyStatistic model
stainless-app[bot] Mar 12, 2026
fc13bed
chore(internal): regenerate SDK with no functional changes
stainless-app[bot] Mar 12, 2026
96a4a8c
fix(types): make start/end required, remove auth_rule_token in Simula…
stainless-app[bot] Mar 12, 2026
c6f0508
fix(api): [breaking] unify webhook schemas for digital_wallet.tokeniz…
stainless-app[bot] Mar 13, 2026
9f8d54b
docs(client): add MCP Server setup documentation
stainless-app[bot] Mar 16, 2026
6e57987
codegen metadata
stainless-app[bot] Mar 16, 2026
989afc4
release: 0.118.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 @@ -61,14 +61,18 @@ jobs:
run: rye build

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

- name: Upload tarball
if: github.repository == 'stainless-sdks/lithic-python'
if: |-
github.repository == 'stainless-sdks/lithic-python' &&
!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.117.0"
".": "0.118.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: 184
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-ee8607f0a2cdcaee420935050334a439db8dd097be83023fccdaf1d6f9a7de14.yml
openapi_spec_hash: 0f21c68cdddb7c5bd99f42356d507393
config_hash: fb5070d41fcabdedbc084b83964b592a
configured_endpoints: 189
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-e88a4837037207e9591d48d534bd61acca57ca6e7c59ec0d4fdcf6e05288cc6d.yml
openapi_spec_hash: fd8bbc173d1b6dafd117fb1a3a3d446c
config_hash: 3005e2502301e77754e5e1455584525b
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# Changelog

## 0.118.0 (2026-03-16)

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

### Features

* **api:** add ACH_RECEIPT_RELEASED_EARLY event type to payments ([5c64610](https://github.com/lithic-com/lithic-python/commit/5c64610e0a6306c4aa6138b0e5574368a1b539d1))
* **api:** add EARLY_DIRECT_DEPOSIT_FLOAT type to financial accounts ([6b3cfd6](https://github.com/lithic-com/lithic-python/commit/6b3cfd6ac06980b80d110b19b20697068bbeeee9))
* **api:** add event_subtype field to statement line items ([5545804](https://github.com/lithic-com/lithic-python/commit/5545804313ec283e1749d6bebf058b62c3b9ea28))
* **api:** add excluded_account_tokens parameter to auth_rules v2 create/update ([9a13e1d](https://github.com/lithic-com/lithic-python/commit/9a13e1df3d7e6ec585304e9aac9735d5a821251c))
* **api:** add loan_tape_date field to statement line items ([e4ff030](https://github.com/lithic-com/lithic-python/commit/e4ff03048937dc447d5ceba8ecfa3f804d880fd1))
* **api:** add penalty_rates to interest tier schedule create ([224cb0c](https://github.com/lithic-com/lithic-python/commit/224cb0c851605095646d0ee649645e9227919948))
* **api:** add typescript_code rule type, state/error fields to auth_rules ([f6dc800](https://github.com/lithic-com/lithic-python/commit/f6dc800f95e413c8a9436c5a966a2bb12d27b6b6))
* **api:** add versions field to auth_rules DailyStatistic model ([5cce645](https://github.com/lithic-com/lithic-python/commit/5cce6456e5f26d05b456cb27ae2dc424a6172475))
* **api:** add WIRE category, wire events, remove remittance_information from payment ([aa66507](https://github.com/lithic-com/lithic-python/commit/aa66507238f574018428f8e5e327eb4f22af67a4))


### Bug Fixes

* **api:** [breaking] unify webhook schemas for digital_wallet.tokenization_approval_request webhooks ([c6f0508](https://github.com/lithic-com/lithic-python/commit/c6f05085946c26c8d2a52bae6d25c25243674ec4))
* **api:** Disable MCP server to fix TypeScript SDK package publishing ([f23d302](https://github.com/lithic-com/lithic-python/commit/f23d3022b0b0a860db16cefc008153f09c0bae48))
* **types:** make start/end required, remove auth_rule_token in SimulationParameters ([96a4a8c](https://github.com/lithic-com/lithic-python/commit/96a4a8cb6107548b1404d5904ca72a0523f32a23))


### Chores

* **internal:** codegen related update ([845458d](https://github.com/lithic-com/lithic-python/commit/845458d17d741e51d1ef212fac9de9a9cbd8b0e5))
* **internal:** regenerate SDK with no functional changes ([fc13bed](https://github.com/lithic-com/lithic-python/commit/fc13bedbd24a3c0b99ceb95b2f371906558325db))


### Documentation

* **api:** update disputes docstrings to use chargeback terminology ([0f35c28](https://github.com/lithic-com/lithic-python/commit/0f35c286c78528c332f4d82fa10ed88e014819b8))
* **client:** add MCP Server setup documentation ([9f8d54b](https://github.com/lithic-com/lithic-python/commit/9f8d54b2b2c29e590f601635459d3ef20b092759))

## 0.117.0 (2026-03-05)

Full Changelog: [v0.116.0...v0.117.0](https://github.com/lithic-com/lithic-python/compare/v0.116.0...v0.117.0)
Expand Down
22 changes: 21 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ Types:
from lithic.types.auth_rules import (
AuthRule,
AuthRuleCondition,
AuthRuleVersion,
BacktestStats,
Conditional3DSActionParameters,
ConditionalACHActionParameters,
Expand All @@ -108,9 +109,13 @@ from lithic.types.auth_rules import (
EventStream,
MerchantLockParameters,
ReportStats,
RuleFeature,
TypescriptCodeParameters,
VelocityLimitFilters,
VelocityLimitParams,
VelocityLimitPeriod,
V2ListResultsResponse,
V2ListVersionsResponse,
V2RetrieveFeaturesResponse,
V2RetrieveReportResponse,
)
Expand All @@ -125,6 +130,7 @@ Methods:
- <code title="delete /v2/auth_rules/{auth_rule_token}">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">delete</a>(auth_rule_token) -> None</code>
- <code title="post /v2/auth_rules/{auth_rule_token}/draft">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">draft</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_draft_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/auth_rule.py">AuthRule</a></code>
- <code title="get /v2/auth_rules/results">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">list_results</a>(\*\*<a href="src/lithic/types/auth_rules/v2_list_results_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_list_results_response.py">SyncCursorPage[V2ListResultsResponse]</a></code>
- <code title="get /v2/auth_rules/{auth_rule_token}/versions">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">list_versions</a>(auth_rule_token) -> <a href="./src/lithic/types/auth_rules/v2_list_versions_response.py">V2ListVersionsResponse</a></code>
- <code title="post /v2/auth_rules/{auth_rule_token}/promote">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">promote</a>(auth_rule_token) -> <a href="./src/lithic/types/auth_rules/auth_rule.py">AuthRule</a></code>
- <code title="get /v2/auth_rules/{auth_rule_token}/features">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">retrieve_features</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_retrieve_features_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_retrieve_features_response.py">V2RetrieveFeaturesResponse</a></code>
- <code title="get /v2/auth_rules/{auth_rule_token}/report">client.auth_rules.v2.<a href="./src/lithic/resources/auth_rules/v2/v2.py">retrieve_report</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2_retrieve_report_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2_retrieve_report_response.py">V2RetrieveReportResponse</a></code>
Expand Down Expand Up @@ -827,6 +833,21 @@ Methods:
- <code title="get /v1/network_programs/{network_program_token}">client.network_programs.<a href="./src/lithic/resources/network_programs.py">retrieve</a>(network_program_token) -> <a href="./src/lithic/types/network_program.py">NetworkProgram</a></code>
- <code title="get /v1/network_programs">client.network_programs.<a href="./src/lithic/resources/network_programs.py">list</a>(\*\*<a href="src/lithic/types/network_program_list_params.py">params</a>) -> <a href="./src/lithic/types/network_program.py">SyncSinglePage[NetworkProgram]</a></code>

# Holds

Types:

```python
from lithic.types import Hold, HoldEvent
```

Methods:

- <code title="post /v1/financial_accounts/{financial_account_token}/holds">client.holds.<a href="./src/lithic/resources/holds.py">create</a>(financial_account_token, \*\*<a href="src/lithic/types/hold_create_params.py">params</a>) -> <a href="./src/lithic/types/hold.py">Hold</a></code>
- <code title="get /v1/holds/{hold_token}">client.holds.<a href="./src/lithic/resources/holds.py">retrieve</a>(hold_token) -> <a href="./src/lithic/types/hold.py">Hold</a></code>
- <code title="get /v1/financial_accounts/{financial_account_token}/holds">client.holds.<a href="./src/lithic/resources/holds.py">list</a>(financial_account_token, \*\*<a href="src/lithic/types/hold_list_params.py">params</a>) -> <a href="./src/lithic/types/hold.py">SyncCursorPage[Hold]</a></code>
- <code title="post /v1/holds/{hold_token}/void">client.holds.<a href="./src/lithic/resources/holds.py">void</a>(hold_token, \*\*<a href="src/lithic/types/hold_void_params.py">params</a>) -> <a href="./src/lithic/types/hold.py">Hold</a></code>

# AccountActivity

Types:
Expand Down Expand Up @@ -867,7 +888,6 @@ from lithic.types import (
AccountHolderVerificationWebhookEvent,
AccountHolderDocumentUpdatedWebhookEvent,
CardAuthorizationApprovalRequestWebhookEvent,
TokenizationDecisioningRequestWebhookEvent,
AuthRulesBacktestReportCreatedWebhookEvent,
BalanceUpdatedWebhookEvent,
BookTransferTransactionCreatedWebhookEvent,
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.117.0"
version = "0.118.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 @@ -40,6 +40,7 @@
from .resources import (
cards,
fraud,
holds,
events,
reports,
accounts,
Expand Down Expand Up @@ -69,6 +70,7 @@
external_bank_accounts,
tokenization_decisioning,
)
from .resources.holds import Holds, AsyncHolds
from .resources.accounts import Accounts, AsyncAccounts
from .resources.balances import Balances, AsyncBalances
from .resources.disputes import Disputes, AsyncDisputes
Expand Down Expand Up @@ -374,6 +376,12 @@ def network_programs(self) -> NetworkPrograms:

return NetworkPrograms(self)

@cached_property
def holds(self) -> Holds:
from .resources.holds import Holds

return Holds(self)

@cached_property
def account_activity(self) -> AccountActivity:
from .resources.account_activity import AccountActivity
Expand Down Expand Up @@ -783,6 +791,12 @@ def network_programs(self) -> AsyncNetworkPrograms:

return AsyncNetworkPrograms(self)

@cached_property
def holds(self) -> AsyncHolds:
from .resources.holds import AsyncHolds

return AsyncHolds(self)

@cached_property
def account_activity(self) -> AsyncAccountActivity:
from .resources.account_activity import AsyncAccountActivity
Expand Down Expand Up @@ -1115,6 +1129,12 @@ def network_programs(self) -> network_programs.NetworkProgramsWithRawResponse:

return NetworkProgramsWithRawResponse(self._client.network_programs)

@cached_property
def holds(self) -> holds.HoldsWithRawResponse:
from .resources.holds import HoldsWithRawResponse

return HoldsWithRawResponse(self._client.holds)

@cached_property
def account_activity(self) -> account_activity.AccountActivityWithRawResponse:
from .resources.account_activity import AccountActivityWithRawResponse
Expand Down Expand Up @@ -1306,6 +1326,12 @@ def network_programs(self) -> network_programs.AsyncNetworkProgramsWithRawRespon

return AsyncNetworkProgramsWithRawResponse(self._client.network_programs)

@cached_property
def holds(self) -> holds.AsyncHoldsWithRawResponse:
from .resources.holds import AsyncHoldsWithRawResponse

return AsyncHoldsWithRawResponse(self._client.holds)

@cached_property
def account_activity(self) -> account_activity.AsyncAccountActivityWithRawResponse:
from .resources.account_activity import AsyncAccountActivityWithRawResponse
Expand Down Expand Up @@ -1497,6 +1523,12 @@ def network_programs(self) -> network_programs.NetworkProgramsWithStreamingRespo

return NetworkProgramsWithStreamingResponse(self._client.network_programs)

@cached_property
def holds(self) -> holds.HoldsWithStreamingResponse:
from .resources.holds import HoldsWithStreamingResponse

return HoldsWithStreamingResponse(self._client.holds)

@cached_property
def account_activity(self) -> account_activity.AccountActivityWithStreamingResponse:
from .resources.account_activity import AccountActivityWithStreamingResponse
Expand Down Expand Up @@ -1688,6 +1720,12 @@ def network_programs(self) -> network_programs.AsyncNetworkProgramsWithStreaming

return AsyncNetworkProgramsWithStreamingResponse(self._client.network_programs)

@cached_property
def holds(self) -> holds.AsyncHoldsWithStreamingResponse:
from .resources.holds import AsyncHoldsWithStreamingResponse

return AsyncHoldsWithStreamingResponse(self._client.holds)

@cached_property
def account_activity(self) -> account_activity.AsyncAccountActivityWithStreamingResponse:
from .resources.account_activity import AsyncAccountActivityWithStreamingResponse
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.117.0" # x-release-please-version
__version__ = "0.118.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 @@ -16,6 +16,14 @@
FraudWithStreamingResponse,
AsyncFraudWithStreamingResponse,
)
from .holds import (
Holds,
AsyncHolds,
HoldsWithRawResponse,
AsyncHoldsWithRawResponse,
HoldsWithStreamingResponse,
AsyncHoldsWithStreamingResponse,
)
from .events import (
Events,
AsyncEvents,
Expand Down Expand Up @@ -411,6 +419,12 @@
"AsyncNetworkProgramsWithRawResponse",
"NetworkProgramsWithStreamingResponse",
"AsyncNetworkProgramsWithStreamingResponse",
"Holds",
"AsyncHolds",
"HoldsWithRawResponse",
"AsyncHoldsWithRawResponse",
"HoldsWithStreamingResponse",
"AsyncHoldsWithStreamingResponse",
"AccountActivity",
"AsyncAccountActivity",
"AccountActivityWithRawResponse",
Expand Down
4 changes: 4 additions & 0 deletions src/lithic/resources/account_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ def list(
business_account_token: str | Omit = omit,
category: Literal[
"ACH",
"WIRE",
"BALANCE_OR_FUNDING",
"FEE",
"REWARD",
Expand All @@ -69,6 +70,7 @@ def list(
"MANAGEMENT_FEE",
"MANAGEMENT_REWARD",
"MANAGEMENT_DISBURSEMENT",
"HOLD",
"PROGRAM_FUNDING",
]
| Omit = omit,
Expand Down Expand Up @@ -221,6 +223,7 @@ def list(
business_account_token: str | Omit = omit,
category: Literal[
"ACH",
"WIRE",
"BALANCE_OR_FUNDING",
"FEE",
"REWARD",
Expand All @@ -239,6 +242,7 @@ def list(
"MANAGEMENT_FEE",
"MANAGEMENT_REWARD",
"MANAGEMENT_DISBURSEMENT",
"HOLD",
"PROGRAM_FUNDING",
]
| Omit = omit,
Expand Down
Loading