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.125.0"
".": "0.126.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: 194
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-efe780032e44b3cf0f6914407e43bce6aa7176fa50aa6ec018f93c1f28af8490.yml
openapi_spec_hash: fcb4ca53ca59978f23f21d7c74fcc0b0
config_hash: a0a579b0564a5c18568a78f5ba2b6653
configured_endpoints: 212
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-65a6644277529a38afcac424d99d87cbfa4d8294423ad618dbbd875634ec1d3c.yml
openapi_spec_hash: 6f3c1bb6a70830afb8af1dacd6352a97
config_hash: 126e04f676f61e5871a82889336dbf9d
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## 0.126.0 (2026-06-10)

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

### Features

* **api:** Add created field and make completed_at nullable in latest_challenge ([126641d](https://github.com/lithic-com/lithic-python/commit/126641d827512c68dfef741d7a6a053cbfe94f12))
* **api:** add day_of_period field to financial_accounts loan_tape ([612ce5f](https://github.com/lithic-com/lithic-python/commit/612ce5f2b44d73a6bad3ca57613061c5d8ed705c))
* **api:** add hold_adjustment action type to auth rules ([dc58d95](https://github.com/lithic-com/lithic-python/commit/dc58d95543aa7723246f81b6d836512f19bc02a0))
* **api:** add name_validation field to card_authorization ([5bde4bc](https://github.com/lithic-com/lithic-python/commit/5bde4bcae161d20561ed1be62e636462018365e7))
* **api:** add transaction_monitoring cases/comments/files/queues endpoints ([67701a6](https://github.com/lithic-com/lithic-python/commit/67701a6bbcf684c7abf436f3d9760b7b3814013c))


### Documentation

* **api:** update support contact URL in cards/account/card documentation ([71b5283](https://github.com/lithic-com/lithic-python/commit/71b5283efe22257a9a706ebc41ba51c523775d5c))

## 0.125.0 (2026-05-26)

Full Changelog: [v0.124.0...v0.125.0](https://github.com/lithic-com/lithic-python/compare/v0.124.0...v0.125.0)
Expand Down
71 changes: 71 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,77 @@ Methods:
- <code title="post /v2/auth_rules/{auth_rule_token}/backtests">client.auth_rules.v2.backtests.<a href="./src/lithic/resources/auth_rules/v2/backtests.py">create</a>(auth_rule_token, \*\*<a href="src/lithic/types/auth_rules/v2/backtest_create_params.py">params</a>) -> <a href="./src/lithic/types/auth_rules/v2/backtest_create_response.py">BacktestCreateResponse</a></code>
- <code title="get /v2/auth_rules/{auth_rule_token}/backtests/{auth_rule_backtest_token}">client.auth_rules.v2.backtests.<a href="./src/lithic/resources/auth_rules/v2/backtests.py">retrieve</a>(auth_rule_backtest_token, \*, auth_rule_token) -> <a href="./src/lithic/types/auth_rules/v2/backtest_results.py">BacktestResults</a></code>

# TransactionMonitoring

## Cases

Types:

```python
from lithic.types.transaction_monitoring import (
CaseActivityEntry,
CaseActivityType,
CaseCard,
CaseEntity,
CasePriority,
CaseSortOrder,
CaseStatus,
CaseTransaction,
EntityType,
MonitoringCase,
ResolutionOutcome,
CaseRetrieveCardsResponse,
)
```

Methods:

- <code title="get /v1/transaction_monitoring/cases/{case_token}">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">retrieve</a>(case_token) -> <a href="./src/lithic/types/transaction_monitoring/monitoring_case.py">MonitoringCase</a></code>
- <code title="patch /v1/transaction_monitoring/cases/{case_token}">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">update</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/case_update_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/monitoring_case.py">MonitoringCase</a></code>
- <code title="get /v1/transaction_monitoring/cases">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">list</a>(\*\*<a href="src/lithic/types/transaction_monitoring/case_list_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/monitoring_case.py">SyncCursorPage[MonitoringCase]</a></code>
- <code title="get /v1/transaction_monitoring/cases/{case_token}/activity">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">list_activity</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/case_list_activity_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/case_activity_entry.py">SyncCursorPage[CaseActivityEntry]</a></code>
- <code title="get /v1/transaction_monitoring/cases/{case_token}/transactions">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">list_transactions</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/case_list_transactions_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/case_transaction.py">SyncCursorPage[CaseTransaction]</a></code>
- <code title="get /v1/transaction_monitoring/cases/{case_token}/cards">client.transaction_monitoring.cases.<a href="./src/lithic/resources/transaction_monitoring/cases/cases.py">retrieve_cards</a>(case_token) -> <a href="./src/lithic/types/transaction_monitoring/case_retrieve_cards_response.py">CaseRetrieveCardsResponse</a></code>

### Comments

Methods:

- <code title="post /v1/transaction_monitoring/cases/{case_token}/comments">client.transaction_monitoring.cases.comments.<a href="./src/lithic/resources/transaction_monitoring/cases/comments.py">create</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/cases/comment_create_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/case_activity_entry.py">CaseActivityEntry</a></code>
- <code title="patch /v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}">client.transaction_monitoring.cases.comments.<a href="./src/lithic/resources/transaction_monitoring/cases/comments.py">update</a>(comment_token, \*, case_token, \*\*<a href="src/lithic/types/transaction_monitoring/cases/comment_update_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/case_activity_entry.py">CaseActivityEntry</a></code>
- <code title="delete /v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}">client.transaction_monitoring.cases.comments.<a href="./src/lithic/resources/transaction_monitoring/cases/comments.py">delete</a>(comment_token, \*, case_token) -> None</code>

### Files

Types:

```python
from lithic.types.transaction_monitoring.cases import CaseFile, FileStatus, UploadConstraints
```

Methods:

- <code title="post /v1/transaction_monitoring/cases/{case_token}/files">client.transaction_monitoring.cases.files.<a href="./src/lithic/resources/transaction_monitoring/cases/files.py">create</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/cases/file_create_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/cases/case_file.py">CaseFile</a></code>
- <code title="get /v1/transaction_monitoring/cases/{case_token}/files/{file_token}">client.transaction_monitoring.cases.files.<a href="./src/lithic/resources/transaction_monitoring/cases/files.py">retrieve</a>(file_token, \*, case_token) -> <a href="./src/lithic/types/transaction_monitoring/cases/case_file.py">CaseFile</a></code>
- <code title="get /v1/transaction_monitoring/cases/{case_token}/files">client.transaction_monitoring.cases.files.<a href="./src/lithic/resources/transaction_monitoring/cases/files.py">list</a>(case_token, \*\*<a href="src/lithic/types/transaction_monitoring/cases/file_list_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/cases/case_file.py">SyncCursorPage[CaseFile]</a></code>
- <code title="delete /v1/transaction_monitoring/cases/{case_token}/files/{file_token}">client.transaction_monitoring.cases.files.<a href="./src/lithic/resources/transaction_monitoring/cases/files.py">delete</a>(file_token, \*, case_token) -> None</code>

## Queues

Types:

```python
from lithic.types.transaction_monitoring import Queue
```

Methods:

- <code title="post /v1/transaction_monitoring/queues">client.transaction_monitoring.queues.<a href="./src/lithic/resources/transaction_monitoring/queues.py">create</a>(\*\*<a href="src/lithic/types/transaction_monitoring/queue_create_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/queue.py">Queue</a></code>
- <code title="get /v1/transaction_monitoring/queues/{queue_token}">client.transaction_monitoring.queues.<a href="./src/lithic/resources/transaction_monitoring/queues.py">retrieve</a>(queue_token) -> <a href="./src/lithic/types/transaction_monitoring/queue.py">Queue</a></code>
- <code title="patch /v1/transaction_monitoring/queues/{queue_token}">client.transaction_monitoring.queues.<a href="./src/lithic/resources/transaction_monitoring/queues.py">update</a>(queue_token, \*\*<a href="src/lithic/types/transaction_monitoring/queue_update_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/queue.py">Queue</a></code>
- <code title="get /v1/transaction_monitoring/queues">client.transaction_monitoring.queues.<a href="./src/lithic/resources/transaction_monitoring/queues.py">list</a>(\*\*<a href="src/lithic/types/transaction_monitoring/queue_list_params.py">params</a>) -> <a href="./src/lithic/types/transaction_monitoring/queue.py">SyncCursorPage[Queue]</a></code>
- <code title="delete /v1/transaction_monitoring/queues/{queue_token}">client.transaction_monitoring.queues.<a href="./src/lithic/resources/transaction_monitoring/queues.py">delete</a>(queue_token) -> None</code>

# AuthStreamEnrollment

Types:
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.125.0"
version = "0.126.0"
description = "The official Python library for the lithic API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
41 changes: 41 additions & 0 deletions src/lithic/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
management_operations,
auth_stream_enrollment,
external_bank_accounts,
transaction_monitoring,
tokenization_decisioning,
)
from .resources.holds import Holds, AsyncHolds
Expand Down Expand Up @@ -108,6 +109,10 @@
from .resources.credit_products.credit_products import CreditProducts, AsyncCreditProducts
from .resources.financial_accounts.financial_accounts import FinancialAccounts, AsyncFinancialAccounts
from .resources.external_bank_accounts.external_bank_accounts import ExternalBankAccounts, AsyncExternalBankAccounts
from .resources.transaction_monitoring.transaction_monitoring import (
TransactionMonitoring,
AsyncTransactionMonitoring,
)

__all__ = [
"ENVIRONMENTS",
Expand Down Expand Up @@ -241,6 +246,12 @@ def auth_rules(self) -> AuthRules:

return AuthRules(self)

@cached_property
def transaction_monitoring(self) -> TransactionMonitoring:
from .resources.transaction_monitoring import TransactionMonitoring

return TransactionMonitoring(self)

@cached_property
def auth_stream_enrollment(self) -> AuthStreamEnrollment:
from .resources.auth_stream_enrollment import AuthStreamEnrollment
Expand Down Expand Up @@ -671,6 +682,12 @@ def auth_rules(self) -> AsyncAuthRules:

return AsyncAuthRules(self)

@cached_property
def transaction_monitoring(self) -> AsyncTransactionMonitoring:
from .resources.transaction_monitoring import AsyncTransactionMonitoring

return AsyncTransactionMonitoring(self)

@cached_property
def auth_stream_enrollment(self) -> AsyncAuthStreamEnrollment:
from .resources.auth_stream_enrollment import AsyncAuthStreamEnrollment
Expand Down Expand Up @@ -1015,6 +1032,12 @@ def auth_rules(self) -> auth_rules.AuthRulesWithRawResponse:

return AuthRulesWithRawResponse(self._client.auth_rules)

@cached_property
def transaction_monitoring(self) -> transaction_monitoring.TransactionMonitoringWithRawResponse:
from .resources.transaction_monitoring import TransactionMonitoringWithRawResponse

return TransactionMonitoringWithRawResponse(self._client.transaction_monitoring)

@cached_property
def auth_stream_enrollment(self) -> auth_stream_enrollment.AuthStreamEnrollmentWithRawResponse:
from .resources.auth_stream_enrollment import AuthStreamEnrollmentWithRawResponse
Expand Down Expand Up @@ -1218,6 +1241,12 @@ def auth_rules(self) -> auth_rules.AsyncAuthRulesWithRawResponse:

return AsyncAuthRulesWithRawResponse(self._client.auth_rules)

@cached_property
def transaction_monitoring(self) -> transaction_monitoring.AsyncTransactionMonitoringWithRawResponse:
from .resources.transaction_monitoring import AsyncTransactionMonitoringWithRawResponse

return AsyncTransactionMonitoringWithRawResponse(self._client.transaction_monitoring)

@cached_property
def auth_stream_enrollment(self) -> auth_stream_enrollment.AsyncAuthStreamEnrollmentWithRawResponse:
from .resources.auth_stream_enrollment import AsyncAuthStreamEnrollmentWithRawResponse
Expand Down Expand Up @@ -1421,6 +1450,12 @@ def auth_rules(self) -> auth_rules.AuthRulesWithStreamingResponse:

return AuthRulesWithStreamingResponse(self._client.auth_rules)

@cached_property
def transaction_monitoring(self) -> transaction_monitoring.TransactionMonitoringWithStreamingResponse:
from .resources.transaction_monitoring import TransactionMonitoringWithStreamingResponse

return TransactionMonitoringWithStreamingResponse(self._client.transaction_monitoring)

@cached_property
def auth_stream_enrollment(self) -> auth_stream_enrollment.AuthStreamEnrollmentWithStreamingResponse:
from .resources.auth_stream_enrollment import AuthStreamEnrollmentWithStreamingResponse
Expand Down Expand Up @@ -1624,6 +1659,12 @@ def auth_rules(self) -> auth_rules.AsyncAuthRulesWithStreamingResponse:

return AsyncAuthRulesWithStreamingResponse(self._client.auth_rules)

@cached_property
def transaction_monitoring(self) -> transaction_monitoring.AsyncTransactionMonitoringWithStreamingResponse:
from .resources.transaction_monitoring import AsyncTransactionMonitoringWithStreamingResponse

return AsyncTransactionMonitoringWithStreamingResponse(self._client.transaction_monitoring)

@cached_property
def auth_stream_enrollment(self) -> auth_stream_enrollment.AsyncAuthStreamEnrollmentWithStreamingResponse:
from .resources.auth_stream_enrollment import AsyncAuthStreamEnrollmentWithStreamingResponse
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.125.0" # x-release-please-version
__version__ = "0.126.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 @@ -249,6 +249,14 @@
ExternalBankAccountsWithStreamingResponse,
AsyncExternalBankAccountsWithStreamingResponse,
)
from .transaction_monitoring import (
TransactionMonitoring,
AsyncTransactionMonitoring,
TransactionMonitoringWithRawResponse,
AsyncTransactionMonitoringWithRawResponse,
TransactionMonitoringWithStreamingResponse,
AsyncTransactionMonitoringWithStreamingResponse,
)
from .tokenization_decisioning import (
TokenizationDecisioning,
AsyncTokenizationDecisioning,
Expand Down Expand Up @@ -277,6 +285,12 @@
"AsyncAuthRulesWithRawResponse",
"AuthRulesWithStreamingResponse",
"AsyncAuthRulesWithStreamingResponse",
"TransactionMonitoring",
"AsyncTransactionMonitoring",
"TransactionMonitoringWithRawResponse",
"AsyncTransactionMonitoringWithRawResponse",
"TransactionMonitoringWithStreamingResponse",
"AsyncTransactionMonitoringWithStreamingResponse",
"AuthStreamEnrollment",
"AsyncAuthStreamEnrollment",
"AuthStreamEnrollmentWithRawResponse",
Expand Down
8 changes: 4 additions & 4 deletions src/lithic/resources/account_holders/entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

from __future__ import annotations

from typing_extensions import Literal

import httpx

from ... import _legacy_response
Expand All @@ -14,6 +12,8 @@
from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
from ..._base_client import make_request_options
from ...types.account_holders import entity_create_params
from ...types.transaction_monitoring import EntityType
from ...types.transaction_monitoring.entity_type import EntityType
from ...types.account_holders.account_holder_entity import AccountHolderEntity
from ...types.account_holders.entity_create_response import EntityCreateResponse

Expand Down Expand Up @@ -51,7 +51,7 @@ def create(
government_id: str,
last_name: str,
phone_number: str,
type: Literal["BENEFICIAL_OWNER_INDIVIDUAL", "CONTROL_PERSON"],
type: EntityType,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -199,7 +199,7 @@ async def create(
government_id: str,
last_name: str,
phone_number: str,
type: Literal["BENEFICIAL_OWNER_INDIVIDUAL", "CONTROL_PERSON"],
type: EntityType,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down
8 changes: 4 additions & 4 deletions src/lithic/resources/cards/cards.py
Original file line number Diff line number Diff line change
Expand Up @@ -1200,8 +1200,8 @@ def search_by_pan(

Customers must be PCI
compliant to use this endpoint. Please contact
[support@lithic.com](mailto:support@lithic.com) for questions. _Note: this is a
`POST` endpoint because it is more secure to send sensitive data in a request
[support.lithic.com](https://support.lithic.com/) for questions. _Note: this is
a `POST` endpoint because it is more secure to send sensitive data in a request
body than in a URL._

Args:
Expand Down Expand Up @@ -2428,8 +2428,8 @@ async def search_by_pan(

Customers must be PCI
compliant to use this endpoint. Please contact
[support@lithic.com](mailto:support@lithic.com) for questions. _Note: this is a
`POST` endpoint because it is more secure to send sensitive data in a request
[support.lithic.com](https://support.lithic.com/) for questions. _Note: this is
a `POST` endpoint because it is more secure to send sensitive data in a request
body than in a URL._

Args:
Expand Down
47 changes: 47 additions & 0 deletions src/lithic/resources/transaction_monitoring/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .cases import (
Cases,
AsyncCases,
CasesWithRawResponse,
AsyncCasesWithRawResponse,
CasesWithStreamingResponse,
AsyncCasesWithStreamingResponse,
)
from .queues import (
Queues,
AsyncQueues,
QueuesWithRawResponse,
AsyncQueuesWithRawResponse,
QueuesWithStreamingResponse,
AsyncQueuesWithStreamingResponse,
)
from .transaction_monitoring import (
TransactionMonitoring,
AsyncTransactionMonitoring,
TransactionMonitoringWithRawResponse,
AsyncTransactionMonitoringWithRawResponse,
TransactionMonitoringWithStreamingResponse,
AsyncTransactionMonitoringWithStreamingResponse,
)

__all__ = [
"Cases",
"AsyncCases",
"CasesWithRawResponse",
"AsyncCasesWithRawResponse",
"CasesWithStreamingResponse",
"AsyncCasesWithStreamingResponse",
"Queues",
"AsyncQueues",
"QueuesWithRawResponse",
"AsyncQueuesWithRawResponse",
"QueuesWithStreamingResponse",
"AsyncQueuesWithStreamingResponse",
"TransactionMonitoring",
"AsyncTransactionMonitoring",
"TransactionMonitoringWithRawResponse",
"AsyncTransactionMonitoringWithRawResponse",
"TransactionMonitoringWithStreamingResponse",
"AsyncTransactionMonitoringWithStreamingResponse",
]
Loading