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
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ jobs:
examples:
name: examples
runs-on: ubuntu-latest
if: github.repository == 'lithic-com/lithic-python'

steps:
- uses: actions/checkout@v4
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.87.1"
".": "0.88.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: 155
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-fe97f820471b725722897539252e7444af7490c5a444a2e9304f5e6eec5513f3.yml
openapi_spec_hash: 7e6a5737901cef39499bf749a17d9939
config_hash: 3d06d32938417ca039b0caa91d2dc8b6
configured_endpoints: 156
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-179992b114ffada2cdd2d9d56a8a25e0683bec2297606d32d0f0006b9eb9f21d.yml
openapi_spec_hash: a111418d378ea248892306c81b00f8c8
config_hash: 6729d695e399d14fff4891b6b82ec86c
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 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)

### Features

* **api:** new resend endpoint for Event Subscriptions ([#729](https://github.com/lithic-com/lithic-python/issues/729)) ([8d5e634](https://github.com/lithic-com/lithic-python/commit/8d5e6343610762cb6362c15d52f53635d440dfa4))


### Chores

* internal codegen changes ([30d680f](https://github.com/lithic-com/lithic-python/commit/30d680f54263574ca236ad1095ab1775196beae1))
* internal codegen changes ([54766ec](https://github.com/lithic-com/lithic-python/commit/54766ec079921166182a3bf8cb01e575591379bf))
* **internal:** only run examples workflow in main repo ([#728](https://github.com/lithic-com/lithic-python/issues/728)) ([4789b73](https://github.com/lithic-com/lithic-python/commit/4789b7322178e77e925c66d95c911dd09e6f6e84))
* **internal:** remove trailing character ([#727](https://github.com/lithic-com/lithic-python/issues/727)) ([b2f78a5](https://github.com/lithic-com/lithic-python/commit/b2f78a54322e3758fea084c1f2cc893c40d44b59))

## 0.87.1 (2025-03-27)

Full Changelog: [v0.87.0...v0.87.1](https://github.com/lithic-com/lithic-python/compare/v0.87.0...v0.87.1)
Expand Down
6 changes: 6 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,12 @@ Methods:
- <code title="post /v1/event_subscriptions/{event_subscription_token}/secret/rotate">client.events.subscriptions.<a href="./src/lithic/resources/events/subscriptions.py">rotate_secret</a>(event_subscription_token) -> None</code>
- <code title="post /v1/simulate/event_subscriptions/{event_subscription_token}/send_example">client.events.subscriptions.<a href="./src/lithic/resources/events/subscriptions.py">send_simulated_example</a>(event_subscription_token, \*\*<a href="src/lithic/types/events/subscription_send_simulated_example_params.py">params</a>) -> None</code>

## EventSubscriptions

Methods:

- <code title="post /v1/events/{event_token}/event_subscriptions/{event_subscription_token}/resend">client.events.event_subscriptions.<a href="./src/lithic/resources/events/event_subscriptions.py">resend</a>(event_subscription_token, \*, event_token) -> None</code>

# FinancialAccounts

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.87.1"
version = "0.88.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.87.1" # x-release-please-version
__version__ = "0.88.0" # x-release-please-version
56 changes: 20 additions & 36 deletions src/lithic/resources/account_holders.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,14 @@ def with_streaming_response(self) -> AccountHoldersWithStreamingResponse:
def create(
self,
*,
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity],
beneficial_owner_individuals: Iterable[account_holder_create_params.KYBBeneficialOwnerIndividual],
business_entity: account_holder_create_params.KYBBusinessEntity,
control_person: account_holder_create_params.KYBControlPerson,
nature_of_business: str,
tos_timestamp: str,
workflow: Literal["KYB_BASIC", "KYB_BYO"],
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
external_id: str | NotGiven = NOT_GIVEN,
kyb_passed_timestamp: str | NotGiven = NOT_GIVEN,
website_url: str | NotGiven = NOT_GIVEN,
Expand All @@ -93,21 +94,11 @@ def create(
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 direct and indirect 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
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. If no
individual is an entity, pass in an empty list. However, either this parameter
or `beneficial_owner_entities` must be populated.
(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 All @@ -130,6 +121,8 @@ def create(

workflow: Specifies the type of KYB workflow to run.

beneficial_owner_entities: Deprecated.

external_id: A user provided id that can be used to link an account holder with an external
system

Expand Down Expand Up @@ -267,7 +260,6 @@ def create(

@required_args(
[
"beneficial_owner_entities",
"beneficial_owner_individuals",
"business_entity",
"control_person",
Expand All @@ -281,15 +273,15 @@ def create(
def create(
self,
*,
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
beneficial_owner_individuals: Iterable[account_holder_create_params.KYBBeneficialOwnerIndividual]
| NotGiven = NOT_GIVEN,
business_entity: account_holder_create_params.KYBBusinessEntity | NotGiven = NOT_GIVEN,
control_person: account_holder_create_params.KYBControlPerson | NotGiven = NOT_GIVEN,
nature_of_business: str | NotGiven = NOT_GIVEN,
tos_timestamp: str | NotGiven = NOT_GIVEN,
workflow: Literal["KYB_BASIC", "KYB_BYO"] | Literal["KYC_BASIC", "KYC_BYO"] | Literal["KYC_EXEMPT"],
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
external_id: str | NotGiven = NOT_GIVEN,
kyb_passed_timestamp: str | NotGiven = NOT_GIVEN,
website_url: str | NotGiven = NOT_GIVEN,
Expand All @@ -315,13 +307,13 @@ def create(
"/v1/account_holders",
body=maybe_transform(
{
"beneficial_owner_entities": beneficial_owner_entities,
"beneficial_owner_individuals": beneficial_owner_individuals,
"business_entity": business_entity,
"control_person": control_person,
"nature_of_business": nature_of_business,
"tos_timestamp": tos_timestamp,
"workflow": workflow,
"beneficial_owner_entities": beneficial_owner_entities,
"external_id": external_id,
"kyb_passed_timestamp": kyb_passed_timestamp,
"website_url": website_url,
Expand Down Expand Up @@ -1063,13 +1055,14 @@ def with_streaming_response(self) -> AsyncAccountHoldersWithStreamingResponse:
async def create(
self,
*,
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity],
beneficial_owner_individuals: Iterable[account_holder_create_params.KYBBeneficialOwnerIndividual],
business_entity: account_holder_create_params.KYBBusinessEntity,
control_person: account_holder_create_params.KYBControlPerson,
nature_of_business: str,
tos_timestamp: str,
workflow: Literal["KYB_BASIC", "KYB_BYO"],
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
external_id: str | NotGiven = NOT_GIVEN,
kyb_passed_timestamp: str | NotGiven = NOT_GIVEN,
website_url: str | NotGiven = NOT_GIVEN,
Expand All @@ -1090,21 +1083,11 @@ async def create(
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 direct and indirect 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
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. If no
individual is an entity, pass in an empty list. However, either this parameter
or `beneficial_owner_entities` must be populated.
(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 All @@ -1127,6 +1110,8 @@ async def create(

workflow: Specifies the type of KYB workflow to run.

beneficial_owner_entities: Deprecated.

external_id: A user provided id that can be used to link an account holder with an external
system

Expand Down Expand Up @@ -1264,7 +1249,6 @@ async def create(

@required_args(
[
"beneficial_owner_entities",
"beneficial_owner_individuals",
"business_entity",
"control_person",
Expand All @@ -1278,15 +1262,15 @@ async def create(
async def create(
self,
*,
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
beneficial_owner_individuals: Iterable[account_holder_create_params.KYBBeneficialOwnerIndividual]
| NotGiven = NOT_GIVEN,
business_entity: account_holder_create_params.KYBBusinessEntity | NotGiven = NOT_GIVEN,
control_person: account_holder_create_params.KYBControlPerson | NotGiven = NOT_GIVEN,
nature_of_business: str | NotGiven = NOT_GIVEN,
tos_timestamp: str | NotGiven = NOT_GIVEN,
workflow: Literal["KYB_BASIC", "KYB_BYO"] | Literal["KYC_BASIC", "KYC_BYO"] | Literal["KYC_EXEMPT"],
beneficial_owner_entities: Iterable[account_holder_create_params.KYBBeneficialOwnerEntity]
| NotGiven = NOT_GIVEN,
external_id: str | NotGiven = NOT_GIVEN,
kyb_passed_timestamp: str | NotGiven = NOT_GIVEN,
website_url: str | NotGiven = NOT_GIVEN,
Expand All @@ -1312,13 +1296,13 @@ async def create(
"/v1/account_holders",
body=await async_maybe_transform(
{
"beneficial_owner_entities": beneficial_owner_entities,
"beneficial_owner_individuals": beneficial_owner_individuals,
"business_entity": business_entity,
"control_person": control_person,
"nature_of_business": nature_of_business,
"tos_timestamp": tos_timestamp,
"workflow": workflow,
"beneficial_owner_entities": beneficial_owner_entities,
"external_id": external_id,
"kyb_passed_timestamp": kyb_passed_timestamp,
"website_url": website_url,
Expand Down
Loading