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
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.130.0"
".": "0.131.0"
}
4 changes: 2 additions & 2 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-59c09c7355b21b663e001d2ee1086ebd0a70d9b5433823282bca296eedff9eb0.yml
openapi_spec_hash: d9c3b932c810809abc6e973d662ad376
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-9c9038d362c6a423011de6cfe5bf4a93ca2ea6e6991327583c4dcc47ceb8d7e3.yml
openapi_spec_hash: c2acf17ac5eb3d9e11f86c57a0af3cb3
config_hash: 337a99d8cc30006358b7bc2531401669
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## 0.131.0 (2026-08-10)

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

### Features

* **api:** add blockchain_addresses field to financial account ([168e194](https://github.com/lithic-com/lithic-python/commit/168e194dce255e6b907a65b3387dffec89ca0426))
* **api:** Add limit_cash_amount and limit_cash_count to VelocityLimit template ([64068f8](https://github.com/lithic-com/lithic-python/commit/64068f89bd9400b4e684b8eb1fdf5bdede893a36))
* **api:** add PROGRAM scope to auth_rules and case entity types ([7d67d35](https://github.com/lithic-com/lithic-python/commit/7d67d35bafb84f3cb24fade78214478bcc3204f2))
* **api:** add stablecoin event types to payment/statement/financial_event ([9c1cfe4](https://github.com/lithic-com/lithic-python/commit/9c1cfe46e6538c2429653dd65bf72938544f1fe4))
* **api:** Add STABLECOIN to approvals request and transfer type enums ([8c277b5](https://github.com/lithic-com/lithic-python/commit/8c277b59aefd35e571026c97177a50223fd0622d))


### Documentation

* **api:** clarify CVV format in tokenizations and card ([8980c52](https://github.com/lithic-com/lithic-python/commit/8980c5219db6e83e4cc8e9d2445fbd223c24a728))

## 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)
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.130.0"
version = "0.131.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.130.0" # x-release-please-version
__version__ = "0.131.0" # x-release-please-version
4 changes: 2 additions & 2 deletions src/lithic/resources/tokenizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ def simulate(
and merchant tokenization ecosystem.

Args:
cvv: The three digit cvv for the card.
cvv: The three or four digit CVV for the card. AMEX cards use four digit CVVs.

expiration_date: The expiration date of the card in 'MM/YY' format.

Expand Down Expand Up @@ -822,7 +822,7 @@ async def simulate(
and merchant tokenization ecosystem.

Args:
cvv: The three digit cvv for the card.
cvv: The three or four digit CVV for the card. AMEX cards use four digit CVVs.

expiration_date: The expiration date of the card in 'MM/YY' format.

Expand Down
8 changes: 6 additions & 2 deletions src/lithic/resources/transaction_monitoring/cases/cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,9 @@ def list(
ending_before: A cursor representing an item's token before which a page of results should end.
Used to retrieve the previous page of results before this item.

entity_token: Only return cases associated with the provided entity.
entity_token: Only return cases associated with the provided entity. Accepts a card, account,
or financial account token. Cases with a `PROGRAM` entity have no entity token
and are never returned by this filter.

page_size: Page size (for pagination).

Expand Down Expand Up @@ -637,7 +639,9 @@ def list(
ending_before: A cursor representing an item's token before which a page of results should end.
Used to retrieve the previous page of results before this item.

entity_token: Only return cases associated with the provided entity.
entity_token: Only return cases associated with the provided entity. Accepts a card, account,
or financial account token. Cases with a `PROGRAM` entity have no entity token
and are never returned by this filter.

page_size: Page size (for pagination).

Expand Down
2 changes: 1 addition & 1 deletion src/lithic/types/auth_rules/ach_payment_update_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CreateCaseAction(BaseModel):
queue_token: str
"""The token of the queue to create the case in"""

scope: Literal["FINANCIAL_ACCOUNT"]
scope: Literal["FINANCIAL_ACCOUNT", "PROGRAM"]
"""The scope of the case to create"""

type: Literal["CREATE_CASE"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CreateCaseAction(TypedDict, total=False):
queue_token: Required[str]
"""The token of the queue to create the case in"""

scope: Required[Literal["FINANCIAL_ACCOUNT"]]
scope: Required[Literal["FINANCIAL_ACCOUNT", "PROGRAM"]]
"""The scope of the case to create"""

type: Required[Literal["CREATE_CASE"]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CreateCaseAction(BaseModel):
queue_token: str
"""The token of the queue to create the case in"""

scope: Literal["CARD", "ACCOUNT"]
scope: Literal["CARD", "ACCOUNT", "PROGRAM"]
"""The scope of the case to create"""

type: Literal["CREATE_CASE"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CreateCaseAction(TypedDict, total=False):
queue_token: Required[str]
"""The token of the queue to create the case in"""

scope: Required[Literal["CARD", "ACCOUNT"]]
scope: Required[Literal["CARD", "ACCOUNT", "PROGRAM"]]
"""The scope of the case to create"""

type: Required[Literal["CREATE_CASE"]]
Expand Down
4 changes: 2 additions & 2 deletions src/lithic/types/auth_rules/v2_list_results_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ class CardTransactionUpdateResultActionCreateCaseAction(BaseModel):
queue_token: str
"""The token of the queue to create the case in"""

scope: Literal["CARD", "ACCOUNT"]
scope: Literal["CARD", "ACCOUNT", "PROGRAM"]
"""The scope of the case to create"""

type: Literal["CREATE_CASE"]
Expand Down Expand Up @@ -474,7 +474,7 @@ class ACHPaymentUpdateResultActionCreateCaseAction(BaseModel):
queue_token: str
"""The token of the queue to create the case in"""

scope: Literal["FINANCIAL_ACCOUNT"]
scope: Literal["FINANCIAL_ACCOUNT", "PROGRAM"]
"""The scope of the case to create"""

type: Literal["CREATE_CASE"]
Expand Down
17 changes: 17 additions & 0 deletions src/lithic/types/auth_rules/velocity_limit_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,23 @@ class VelocityLimitParams(BaseModel):
limit will be declined.
"""

limit_cash_amount: Optional[int] = None
"""
The maximum amount of cash spend velocity allowed in the period in minor units
(the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM
withdrawals, cash disbursements, and purchases with cashback. Transactions
exceeding this limit will be declined.
"""

limit_cash_count: Optional[int] = None
"""
The number of cash spend velocity impacting transactions may not exceed this
limit in the period. Transactions exceeding this limit will be declined. A cash
velocity impacting transaction is an ATM withdrawal, cash disbursement, or
purchase with cashback that has been authorized, and optionally settled, or a
force post (a transaction that settled without prior authorization).
"""

limit_count: Optional[int] = None
"""
The number of spend velocity impacting transactions may not exceed this limit in
Expand Down
17 changes: 17 additions & 0 deletions src/lithic/types/auth_rules/velocity_limit_params_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,23 @@ class VelocityLimitParamsParam(TypedDict, total=False):
limit will be declined.
"""

limit_cash_amount: Optional[int]
"""
The maximum amount of cash spend velocity allowed in the period in minor units
(the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM
withdrawals, cash disbursements, and purchases with cashback. Transactions
exceeding this limit will be declined.
"""

limit_cash_count: Optional[int]
"""
The number of cash spend velocity impacting transactions may not exceed this
limit in the period. Transactions exceeding this limit will be declined. A cash
velocity impacting transaction is an ATM withdrawal, cash disbursement, or
purchase with cashback that has been authorized, and optionally settled, or a
force post (a transaction that settled without prior authorization).
"""

limit_count: Optional[int]
"""
The number of spend velocity impacting transactions may not exceed this limit in
Expand Down
2 changes: 1 addition & 1 deletion src/lithic/types/card.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class Card(NonPCICard):
"""

cvv: Optional[str] = None
"""Three digit cvv printed on the back of the card."""
"""Three or four digit CVV printed on the card. Amex cards use four digit CVVs"""

pan: Optional[str] = None
"""Primary Account Number (PAN) (i.e.
Expand Down
9 changes: 8 additions & 1 deletion src/lithic/types/financial_account.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import Dict, Optional
from datetime import datetime
from typing_extensions import Literal

Expand Down Expand Up @@ -80,4 +80,11 @@ class FinancialAccount(BaseModel):

account_number: Optional[str] = None

blockchain_addresses: Optional[Dict[str, str]] = None
"""
Provisioned blockchain deposit addresses for this financial account, keyed by
the full name of the blockchain network that each address belongs to (e.g.
`ETHEREUM`)
"""

routing_number: Optional[str] = None
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,11 @@ class Data(BaseModel):
"MONTHLY_REVERSAL",
"ACCOUNT_TO_ACCOUNT",
"STABLECOIN_RECEIVED",
"STABLECOIN_INITIATED",
"STABLECOIN_REVIEWED",
"STABLECOIN_SENT",
"STABLECOIN_SETTLED",
"STABLECOIN_REJECTED",
]

financial_account_token: str
Expand Down
20 changes: 17 additions & 3 deletions src/lithic/types/payment.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,11 @@ class Event(BaseModel):
"WIRE_RETURN_OUTBOUND_SETTLED",
"WIRE_RETURN_OUTBOUND_REJECTED",
"STABLECOIN_RECEIVED",
"STABLECOIN_INITIATED",
"STABLECOIN_REVIEWED",
"STABLECOIN_SENT",
"STABLECOIN_SETTLED",
"STABLECOIN_REJECTED",
]
"""
Note: Inbound wire transfers are coming soon (availability varies by partner
Expand Down Expand Up @@ -127,8 +130,16 @@ class Event(BaseModel):

- `STABLECOIN_RECEIVED` - Stablecoin pay-in received on-chain and pending
release to available balance.
- `STABLECOIN_REVIEWED` - Stablecoin pay-in has completed the review process.
- `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance.
- `STABLECOIN_INITIATED` - Stablecoin withdrawal initiated, with the funds
placed on hold.
- `STABLECOIN_REVIEWED` - Stablecoin pay-in or withdrawal has completed the
review process.
- `STABLECOIN_SENT` - Stablecoin withdrawal accepted for on-chain submission to
the destination address, and pending confirmation.
- `STABLECOIN_SETTLED` - Stablecoin pay-in funds released to available balance,
or stablecoin withdrawal confirmed on-chain.
- `STABLECOIN_REJECTED` - Stablecoin withdrawal failed and the hold placed at
initiation has been reversed.
"""

detailed_results: Optional[
Expand All @@ -150,7 +161,9 @@ class Event(BaseModel):
"""Payment event external ID.

For ACH transactions, this is the ACH trace number. For inbound wire transfers,
this is the IMAD (Input Message Accountability Data).
this is the IMAD (Input Message Accountability Data). For stablecoin payments,
this is the on-chain transaction hash of the transfer; it is present on events
that reflect on-chain activity and null on internal lifecycle events.
"""


Expand Down Expand Up @@ -329,6 +342,7 @@ class Payment(BaseModel):
"WIRE_OUTBOUND_PAYMENT",
"WIRE_OUTBOUND_ADMIN",
"WIRE_INBOUND_DRAWDOWN_REQUEST",
"STABLECOIN",
]
] = None

Expand Down
3 changes: 3 additions & 0 deletions src/lithic/types/shared/financial_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,10 @@ class FinancialEvent(BaseModel):
"MONTHLY_REVERSAL",
"ACCOUNT_TO_ACCOUNT",
"STABLECOIN_RECEIVED",
"STABLECOIN_INITIATED",
"STABLECOIN_REVIEWED",
"STABLECOIN_SENT",
"STABLECOIN_SETTLED",
"STABLECOIN_REJECTED",
]
] = None
2 changes: 1 addition & 1 deletion src/lithic/types/tokenization_simulate_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

class TokenizationSimulateParams(TypedDict, total=False):
cvv: Required[str]
"""The three digit cvv for the card."""
"""The three or four digit CVV for the card. AMEX cards use four digit CVVs."""

expiration_date: Required[str]
"""The expiration date of the card in 'MM/YY' format."""
Expand Down
14 changes: 11 additions & 3 deletions src/lithic/types/transaction_monitoring/case_entity.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing_extensions import Literal

from ..._models import BaseModel
Expand All @@ -10,12 +11,19 @@
class CaseEntity(BaseModel):
"""The entity a case is associated with"""

entity_token: str
"""Globally unique identifier for the associated entity"""
entity_token: Optional[str] = None
"""
Globally unique identifier for the associated entity: the card token for `CARD`,
the account token for `ACCOUNT`, and the financial account token for
`FINANCIAL_ACCOUNT`. Null for `PROGRAM`, which is not scoped to an individual
entity
"""

entity_type: Literal["CARD", "ACCOUNT"]
entity_type: Literal["CARD", "ACCOUNT", "FINANCIAL_ACCOUNT", "PROGRAM"]
"""The type of entity a case is associated with:

- `CARD` - The case is associated with a card
- `ACCOUNT` - The case is associated with an account
- `FINANCIAL_ACCOUNT` - The case is associated with a financial account
- `PROGRAM` - The case is associated with the whole program
"""
6 changes: 5 additions & 1 deletion src/lithic/types/transaction_monitoring/case_list_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ class CaseListParams(TypedDict, total=False):
"""

entity_token: str
"""Only return cases associated with the provided entity."""
"""Only return cases associated with the provided entity.

Accepts a card, account, or financial account token. Cases with a `PROGRAM`
entity have no entity token and are never returned by this filter.
"""

page_size: int
"""Page size (for pagination)."""
Expand Down