Skip to content
Merged
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.88.0"
".": "0.89.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: 156
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-179992b114ffada2cdd2d9d56a8a25e0683bec2297606d32d0f0006b9eb9f21d.yml
openapi_spec_hash: a111418d378ea248892306c81b00f8c8
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-18973e063e9e9233433290bb4d641df8e17e1f21f5b1ec57e00182f0a48dbdec.yml
openapi_spec_hash: ab503dc3772f962b603ade7b91b8534c
config_hash: 6729d695e399d14fff4891b6b82ec86c
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.89.0 (2025-04-08)

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

### Features

* **api:** introduce TransactionSeries and update ShippingMethod fields ([#732](https://github.com/lithic-com/lithic-python/issues/732)) ([a1c98cf](https://github.com/lithic-com/lithic-python/commit/a1c98cf2de62f4bdbe49722d4760588557097822))

## 0.88.0 (2025-04-07)

Full Changelog: [v0.87.1...v0.88.0](https://github.com/lithic-com/lithic-python/compare/v0.87.1...v0.88.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.88.0"
version = "0.89.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.88.0" # x-release-please-version
__version__ = "0.89.0" # x-release-please-version
52 changes: 18 additions & 34 deletions src/lithic/resources/account_holders.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ def create(
accounts that are part of the program that the calling API key manages.

Args:
beneficial_owner_individuals: List of all direct and indirect individuals with >25% ownership in the company.
If no individual owns >25% of the company, please identify the largest
beneficial_owner_individuals: List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
Expand Down Expand Up @@ -404,21 +404,13 @@ def update(
accounts that are part of the program that the calling API key manages.

Args:
beneficial_owner_entities: List of all entities with >25% ownership in the company. If no entity or
individual owns >25% of the company, and the largest shareholder is an entity,
please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background. If no business owner is an entity, pass in an empty
list. However, either this parameter or `beneficial_owner_individuals` must be
populated. on entities that should be included.

beneficial_owner_individuals: List of all individuals with >25% ownership in the company. If no entity or
individual owns >25% of the company, and the largest shareholder is an
individual, please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background on individuals that should be included. If no individual
is an entity, pass in an empty list. However, either this parameter or
`beneficial_owner_entities` must be populated.
beneficial_owner_entities: Deprecated.

beneficial_owner_individuals: List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.

business_entity: Information for business for which the account is being opened and KYB is being
run.
Expand Down Expand Up @@ -1083,8 +1075,8 @@ async def create(
accounts that are part of the program that the calling API key manages.

Args:
beneficial_owner_individuals: List of all direct and indirect individuals with >25% ownership in the company.
If no individual owns >25% of the company, please identify the largest
beneficial_owner_individuals: List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
Expand Down Expand Up @@ -1393,21 +1385,13 @@ async def update(
accounts that are part of the program that the calling API key manages.

Args:
beneficial_owner_entities: List of all entities with >25% ownership in the company. If no entity or
individual owns >25% of the company, and the largest shareholder is an entity,
please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background. If no business owner is an entity, pass in an empty
list. However, either this parameter or `beneficial_owner_individuals` must be
populated. on entities that should be included.

beneficial_owner_individuals: List of all individuals with >25% ownership in the company. If no entity or
individual owns >25% of the company, and the largest shareholder is an
individual, please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background on individuals that should be included. If no individual
is an entity, pass in an empty list. However, either this parameter or
`beneficial_owner_entities` must be populated.
beneficial_owner_entities: Deprecated.

beneficial_owner_individuals: List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.

business_entity: Information for business for which the account is being opened and KYB is being
run.
Expand Down
15 changes: 9 additions & 6 deletions src/lithic/types/account_holder.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,12 +206,15 @@ class AccountHolder(BaseModel):
"""Globally unique identifier for the account."""

beneficial_owner_entities: Optional[List[BeneficialOwnerEntity]] = None
"""Deprecated. Only present when user_type == "BUSINESS"."""
"""Deprecated."""

beneficial_owner_individuals: Optional[List[BeneficialOwnerIndividual]] = None
"""Only present when user_type == "BUSINESS".

List of all individuals with >25% ownership in the company.
"""
Only present when user_type == "BUSINESS". List of all direct and indirect
individuals with 25% or more ownership in the company. If no individual owns 25%
of the company, please identify the largest shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
"""

business_account_token: Optional[str] = None
Expand Down Expand Up @@ -319,8 +322,8 @@ class AccountHolder(BaseModel):

If the type is "INDIVIDUAL", the "individual" attribute will be present. If the
type is "BUSINESS" then the "business_entity", "control_person",
"beneficial_owner_individuals", "beneficial_owner_entities",
"nature_of_business", and "website_url" attributes will be present.
"beneficial_owner_individuals", "nature_of_business", and "website_url"
attributes will be present.
"""

verification_application: Optional[VerificationApplication] = None
Expand Down
6 changes: 3 additions & 3 deletions src/lithic/types/account_holder_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@

class KYB(TypedDict, total=False):
beneficial_owner_individuals: Required[Iterable[KYBBeneficialOwnerIndividual]]
"""List of all direct and indirect individuals with >25% ownership in the company.

If no individual owns >25% of the company, please identify the largest
"""
List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,15 +250,16 @@ class AccountHolderSimulateEnrollmentReviewResponse(BaseModel):
"""Globally unique identifier for the account."""

beneficial_owner_entities: Optional[List[KYBBusinessEntity]] = None
"""Only present when user_type == "BUSINESS".

List of all entities with >25% ownership in the company.
"""
"""Deprecated."""

beneficial_owner_individuals: Optional[List[BeneficialOwnerIndividual]] = None
"""Only present when user_type == "BUSINESS".

List of all individuals with >25% ownership in the company.
List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
"""

business_account_token: Optional[str] = None
Expand Down Expand Up @@ -389,9 +390,8 @@ class AccountHolderSimulateEnrollmentReviewResponse(BaseModel):
If the type is "INDIVIDUAL", the "individual" attribute will be present.

If the type is "BUSINESS" then the "business_entity", "control_person",
"beneficial_owner_individuals", "beneficial_owner_entities",

"nature_of_business", and "website_url" attributes will be present.
"beneficial_owner_individuals", "nature_of_business", and "website_url"
attributes will be present.
"""

verification_application: Optional[VerificationApplication] = None
Expand Down
24 changes: 7 additions & 17 deletions src/lithic/types/account_holder_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,15 @@

class KYBPatchRequest(TypedDict, total=False):
beneficial_owner_entities: Iterable[KYBPatchRequestBeneficialOwnerEntity]
"""List of all entities with >25% ownership in the company.

If no entity or individual owns >25% of the company, and the largest shareholder
is an entity, please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background. If no business owner is an entity, pass in an empty
list. However, either this parameter or `beneficial_owner_individuals` must be
populated. on entities that should be included.
"""
"""Deprecated."""

beneficial_owner_individuals: Iterable[KYBPatchRequestBeneficialOwnerIndividual]
"""List of all individuals with >25% ownership in the company.

If no entity or individual owns >25% of the company, and the largest shareholder
is an individual, please identify them in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)(Section
I) for more background on individuals that should be included. If no individual
is an entity, pass in an empty list. However, either this parameter or
`beneficial_owner_entities` must be populated.
"""
List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
"""

business_entity: KYBPatchRequestBusinessEntity
Expand Down
16 changes: 8 additions & 8 deletions src/lithic/types/account_holder_update_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,15 +253,16 @@ class KYBKYCPatchResponse(BaseModel):
"""Globally unique identifier for the account."""

beneficial_owner_entities: Optional[List[KYBBusinessEntity]] = None
"""Only present when user_type == "BUSINESS".

List of all entities with >25% ownership in the company.
"""
"""Deprecated."""

beneficial_owner_individuals: Optional[List[KybkycPatchResponseBeneficialOwnerIndividual]] = None
"""Only present when user_type == "BUSINESS".

List of all individuals with >25% ownership in the company.
List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
"""

business_account_token: Optional[str] = None
Expand Down Expand Up @@ -392,9 +393,8 @@ class KYBKYCPatchResponse(BaseModel):
If the type is "INDIVIDUAL", the "individual" attribute will be present.

If the type is "BUSINESS" then the "business_entity", "control_person",
"beneficial_owner_individuals", "beneficial_owner_entities",

"nature_of_business", and "website_url" attributes will be present.
"beneficial_owner_individuals", "nature_of_business", and "website_url"
attributes will be present.
"""

verification_application: Optional[KYBKYCPatchResponseVerificationApplication] = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ class Data(BaseModel):
"INTERNAL_ADJUSTMENT",
"LATE_PAYMENT",
"LATE_PAYMENT_REVERSAL",
"LOSS_WRITE_OFF",
"PROVISIONAL_CREDIT",
"PROVISIONAL_CREDIT_REVERSAL",
"RETURN",
Expand Down
1 change: 1 addition & 0 deletions src/lithic/types/financial_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ class Event(BaseModel):
"INTERNAL_ADJUSTMENT",
"LATE_PAYMENT",
"LATE_PAYMENT_REVERSAL",
"LOSS_WRITE_OFF",
"PROVISIONAL_CREDIT",
"PROVISIONAL_CREDIT_REVERSAL",
"RETURN",
Expand Down
6 changes: 3 additions & 3 deletions src/lithic/types/kyb_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ class BeneficialOwnerEntity(TypedDict, total=False):

class KYBParam(TypedDict, total=False):
beneficial_owner_individuals: Required[Iterable[BeneficialOwnerIndividual]]
"""List of all direct and indirect individuals with >25% ownership in the company.

If no individual owns >25% of the company, please identify the largest
"""
List of all direct and indirect individuals with 25% or more ownership in the
company. If no individual owns 25% of the company, please identify the largest
shareholder in this field. See
[FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf)
(Section I) for more background on individuals that should be included.
Expand Down
12 changes: 11 additions & 1 deletion src/lithic/types/management_operation_transaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from .._models import BaseModel

__all__ = ["ManagementOperationTransaction", "Event"]
__all__ = ["ManagementOperationTransaction", "Event", "TransactionSeries"]


class Event(BaseModel):
Expand Down Expand Up @@ -45,6 +45,14 @@ class Event(BaseModel):
subtype: Optional[str] = None


class TransactionSeries(BaseModel):
related_transaction_event_token: Optional[str] = None

related_transaction_token: Optional[str] = None

type: str


class ManagementOperationTransaction(BaseModel):
token: str

Expand All @@ -68,6 +76,8 @@ class ManagementOperationTransaction(BaseModel):

status: Literal["PENDING", "SETTLED", "DECLINED", "REVERSED", "CANCELED"]

transaction_series: Optional[TransactionSeries] = None

updated: datetime

user_defined_id: Optional[str] = None
5 changes: 4 additions & 1 deletion src/lithic/types/payment.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from datetime import datetime
from datetime import date, datetime
from typing_extensions import Literal

from .._models import BaseModel
Expand Down Expand Up @@ -158,3 +158,6 @@ class Payment(BaseModel):
"""Date and time when the financial transaction was last updated. UTC time zone."""

user_defined_id: Optional[str] = None

expected_release_date: Optional[date] = None
"""Date when the financial transaction expected to be released after settlement"""