diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1fc30e85..a59deb77 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.433.0" + ".": "0.434.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 84bf4fe9..2c77a37f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 237 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-1a8ae6b4ff6276a68a103dca4c701c77d409afe3f08ef8435adb3527e1385ce7.yml -openapi_spec_hash: d56da3ae77306aec4c8530fba0dfe053 -config_hash: 896b006f9647a513eda3b228cf17c199 +configured_endpoints: 238 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-1ce680832c1cad08fe72f9d4b9df37379affbe88f539448d991039474dce6674.yml +openapi_spec_hash: 5d9c89c10f5987dc5596134d1f2c1668 +config_hash: e75db3094e90d5e48a2077b010b620f0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bf34388..ec099f24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.434.0 (2026-03-12) + +Full Changelog: [v0.433.0...v0.434.0](https://github.com/Increase/increase-python/compare/v0.433.0...v0.434.0) + +### Features + +* **api:** api update ([8d67129](https://github.com/Increase/increase-python/commit/8d6712948c91d398d995755da57bd09e8c36b38c)) + ## 0.433.0 (2026-03-12) Full Changelog: [v0.432.0...v0.433.0](https://github.com/Increase/increase-python/compare/v0.432.0...v0.433.0) diff --git a/api.md b/api.md index 6a8ad2a2..f0601bac 100644 --- a/api.md +++ b/api.md @@ -518,6 +518,7 @@ Methods: - client.beneficial_owners.retrieve(entity_beneficial_owner_id) -> EntityBeneficialOwner - client.beneficial_owners.update(entity_beneficial_owner_id, \*\*params) -> EntityBeneficialOwner - client.beneficial_owners.list(\*\*params) -> SyncPage[EntityBeneficialOwner] +- client.beneficial_owners.archive(entity_beneficial_owner_id) -> EntityBeneficialOwner # SupplementalDocuments diff --git a/pyproject.toml b/pyproject.toml index 19062243..1551af29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.433.0" +version = "0.434.0" description = "The official Python library for the increase API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/increase/_version.py b/src/increase/_version.py index ddf98129..98c0006a 100644 --- a/src/increase/_version.py +++ b/src/increase/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "increase" -__version__ = "0.433.0" # x-release-please-version +__version__ = "0.434.0" # x-release-please-version diff --git a/src/increase/resources/beneficial_owners.py b/src/increase/resources/beneficial_owners.py index b07ff2d3..0ad56c1c 100644 --- a/src/increase/resources/beneficial_owners.py +++ b/src/increase/resources/beneficial_owners.py @@ -208,6 +208,50 @@ def list( model=EntityBeneficialOwner, ) + def archive( + self, + entity_beneficial_owner_id: str, + *, + # 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, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = not_given, + idempotency_key: str | None = None, + ) -> EntityBeneficialOwner: + """ + Archive a Beneficial Owner + + Args: + entity_beneficial_owner_id: The identifier of the Beneficial Owner to archive. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + if not entity_beneficial_owner_id: + raise ValueError( + f"Expected a non-empty value for `entity_beneficial_owner_id` but received {entity_beneficial_owner_id!r}" + ) + return self._post( + f"/entity_beneficial_owners/{entity_beneficial_owner_id}/archive", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=EntityBeneficialOwner, + ) + class AsyncBeneficialOwnersResource(AsyncAPIResource): @cached_property @@ -395,6 +439,50 @@ def list( model=EntityBeneficialOwner, ) + async def archive( + self, + entity_beneficial_owner_id: str, + *, + # 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, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = not_given, + idempotency_key: str | None = None, + ) -> EntityBeneficialOwner: + """ + Archive a Beneficial Owner + + Args: + entity_beneficial_owner_id: The identifier of the Beneficial Owner to archive. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + if not entity_beneficial_owner_id: + raise ValueError( + f"Expected a non-empty value for `entity_beneficial_owner_id` but received {entity_beneficial_owner_id!r}" + ) + return await self._post( + f"/entity_beneficial_owners/{entity_beneficial_owner_id}/archive", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=EntityBeneficialOwner, + ) + class BeneficialOwnersResourceWithRawResponse: def __init__(self, beneficial_owners: BeneficialOwnersResource) -> None: @@ -409,6 +497,9 @@ def __init__(self, beneficial_owners: BeneficialOwnersResource) -> None: self.list = to_raw_response_wrapper( beneficial_owners.list, ) + self.archive = to_raw_response_wrapper( + beneficial_owners.archive, + ) class AsyncBeneficialOwnersResourceWithRawResponse: @@ -424,6 +515,9 @@ def __init__(self, beneficial_owners: AsyncBeneficialOwnersResource) -> None: self.list = async_to_raw_response_wrapper( beneficial_owners.list, ) + self.archive = async_to_raw_response_wrapper( + beneficial_owners.archive, + ) class BeneficialOwnersResourceWithStreamingResponse: @@ -439,6 +533,9 @@ def __init__(self, beneficial_owners: BeneficialOwnersResource) -> None: self.list = to_streamed_response_wrapper( beneficial_owners.list, ) + self.archive = to_streamed_response_wrapper( + beneficial_owners.archive, + ) class AsyncBeneficialOwnersResourceWithStreamingResponse: @@ -454,3 +551,6 @@ def __init__(self, beneficial_owners: AsyncBeneficialOwnersResource) -> None: self.list = async_to_streamed_response_wrapper( beneficial_owners.list, ) + self.archive = async_to_streamed_response_wrapper( + beneficial_owners.archive, + ) diff --git a/tests/api_resources/test_beneficial_owners.py b/tests/api_resources/test_beneficial_owners.py index bc5d7ce5..4e58345c 100644 --- a/tests/api_resources/test_beneficial_owners.py +++ b/tests/api_resources/test_beneficial_owners.py @@ -179,6 +179,46 @@ def test_streaming_response_list(self, client: Increase) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_method_archive(self, client: Increase) -> None: + beneficial_owner = client.beneficial_owners.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + @parametrize + def test_raw_response_archive(self, client: Increase) -> None: + response = client.beneficial_owners.with_raw_response.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + beneficial_owner = response.parse() + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + @parametrize + def test_streaming_response_archive(self, client: Increase) -> None: + with client.beneficial_owners.with_streaming_response.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + beneficial_owner = response.parse() + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @parametrize + def test_path_params_archive(self, client: Increase) -> None: + with pytest.raises( + ValueError, match=r"Expected a non-empty value for `entity_beneficial_owner_id` but received ''" + ): + client.beneficial_owners.with_raw_response.archive( + "", + ) + class TestAsyncBeneficialOwners: parametrize = pytest.mark.parametrize( @@ -344,3 +384,43 @@ async def test_streaming_response_list(self, async_client: AsyncIncrease) -> Non assert_matches_type(AsyncPage[EntityBeneficialOwner], beneficial_owner, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_method_archive(self, async_client: AsyncIncrease) -> None: + beneficial_owner = await async_client.beneficial_owners.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + @parametrize + async def test_raw_response_archive(self, async_client: AsyncIncrease) -> None: + response = await async_client.beneficial_owners.with_raw_response.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + beneficial_owner = await response.parse() + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + @parametrize + async def test_streaming_response_archive(self, async_client: AsyncIncrease) -> None: + async with async_client.beneficial_owners.with_streaming_response.archive( + "entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + beneficial_owner = await response.parse() + assert_matches_type(EntityBeneficialOwner, beneficial_owner, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @parametrize + async def test_path_params_archive(self, async_client: AsyncIncrease) -> None: + with pytest.raises( + ValueError, match=r"Expected a non-empty value for `entity_beneficial_owner_id` but received ''" + ): + await async_client.beneficial_owners.with_raw_response.archive( + "", + )