From c6c0a11ec3cc4f56c63b22289faad68591eb1b24 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 1 May 2026 22:59:31 +0000
Subject: [PATCH 1/2] feat(api): api update
---
.stats.yml | 6 +-
api.md | 2 +-
.../resources/simulations/entities.py | 79 +++++++------------
src/increase/types/simulations/__init__.py | 2 +-
....py => entity_update_validation_params.py} | 13 +--
.../simulations/test_entities.py | 40 ++++------
6 files changed, 54 insertions(+), 88 deletions(-)
rename src/increase/types/simulations/{entity_validation_params.py => entity_update_validation_params.py} (74%)
diff --git a/.stats.yml b/.stats.yml
index af3454a5..73e838e2 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 238
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase/increase-6464f57d01144d16836903f5a060d86c8ea97b940c6093767fefde262291fa57.yml
-openapi_spec_hash: 037ce7b3c2ddbd80f9d420e519ed924c
-config_hash: 060e036e1db198f2e908364c9df7096e
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase/increase-5753cd7d30cb546d3e2ff7408c24febe5f251f4a50017960a21746a50c9b7f67.yml
+openapi_spec_hash: 0efa1759effd642f1f39107a0de6b5e7
+config_hash: 20a19f4f8eba684f97ba7cdc0007f818
diff --git a/api.md b/api.md
index 392bca82..a8426eee 100644
--- a/api.md
+++ b/api.md
@@ -1009,7 +1009,7 @@ Methods:
Methods:
-- client.simulations.entities.validation(entity_id, \*\*params) -> Entity
+- client.simulations.entities.update_validation(entity_id, \*\*params) -> Entity
## EntityOnboardingSessions
diff --git a/src/increase/resources/simulations/entities.py b/src/increase/resources/simulations/entities.py
index d8512a50..57411024 100644
--- a/src/increase/resources/simulations/entities.py
+++ b/src/increase/resources/simulations/entities.py
@@ -3,7 +3,6 @@
from __future__ import annotations
from typing import Iterable
-from typing_extensions import Literal
import httpx
@@ -19,7 +18,7 @@
)
from ..._base_client import make_request_options
from ...types.entity import Entity
-from ...types.simulations import entity_validation_params
+from ...types.simulations import entity_update_validation_params
__all__ = ["EntitiesResource", "AsyncEntitiesResource"]
@@ -44,12 +43,11 @@ def with_streaming_response(self) -> EntitiesResourceWithStreamingResponse:
"""
return EntitiesResourceWithStreamingResponse(self)
- def validation(
+ def update_validation(
self,
entity_id: str,
*,
- issues: Iterable[entity_validation_params.Issue],
- status: Literal["valid", "invalid", "pending"],
+ issues: Iterable[entity_update_validation_params.Issue],
# 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,
@@ -59,22 +57,18 @@ def validation(
idempotency_key: str | None = None,
) -> Entity:
"""
- Set the status for an
+ Simulate updates to an
[Entity's validation](/documentation/api/entities#entity-object.validation). In
production, Know Your Customer validations
- [run automatically](/documentation/entity-validation#entity-validation). While
- developing, it can be helpful to override the behavior in Sandbox.
+ [run automatically](/documentation/entity-validation#entity-validation) for
+ eligible programs. While developing, use this API to simulate issues with
+ information submissions.
Args:
entity_id: The identifier of the Entity whose validation status to update.
- issues: The validation issues to attach. Only allowed when `status` is `invalid`.
-
- status: The validation status to set on the Entity.
-
- - `valid` - The submitted data is valid.
- - `invalid` - Additional information is required to validate the data.
- - `pending` - The submitted data is being validated.
+ issues: The validation issues to attach. If no issues are provided, the validation
+ status will be set to `valid`.
extra_headers: Send extra headers
@@ -89,14 +83,8 @@ def validation(
if not entity_id:
raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
return self._post(
- path_template("/simulations/entities/{entity_id}/validation", entity_id=entity_id),
- body=maybe_transform(
- {
- "issues": issues,
- "status": status,
- },
- entity_validation_params.EntityValidationParams,
- ),
+ path_template("/simulations/entities/{entity_id}/update_validation", entity_id=entity_id),
+ body=maybe_transform({"issues": issues}, entity_update_validation_params.EntityUpdateValidationParams),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -128,12 +116,11 @@ def with_streaming_response(self) -> AsyncEntitiesResourceWithStreamingResponse:
"""
return AsyncEntitiesResourceWithStreamingResponse(self)
- async def validation(
+ async def update_validation(
self,
entity_id: str,
*,
- issues: Iterable[entity_validation_params.Issue],
- status: Literal["valid", "invalid", "pending"],
+ issues: Iterable[entity_update_validation_params.Issue],
# 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,
@@ -143,22 +130,18 @@ async def validation(
idempotency_key: str | None = None,
) -> Entity:
"""
- Set the status for an
+ Simulate updates to an
[Entity's validation](/documentation/api/entities#entity-object.validation). In
production, Know Your Customer validations
- [run automatically](/documentation/entity-validation#entity-validation). While
- developing, it can be helpful to override the behavior in Sandbox.
+ [run automatically](/documentation/entity-validation#entity-validation) for
+ eligible programs. While developing, use this API to simulate issues with
+ information submissions.
Args:
entity_id: The identifier of the Entity whose validation status to update.
- issues: The validation issues to attach. Only allowed when `status` is `invalid`.
-
- status: The validation status to set on the Entity.
-
- - `valid` - The submitted data is valid.
- - `invalid` - Additional information is required to validate the data.
- - `pending` - The submitted data is being validated.
+ issues: The validation issues to attach. If no issues are provided, the validation
+ status will be set to `valid`.
extra_headers: Send extra headers
@@ -173,13 +156,9 @@ async def validation(
if not entity_id:
raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
return await self._post(
- path_template("/simulations/entities/{entity_id}/validation", entity_id=entity_id),
+ path_template("/simulations/entities/{entity_id}/update_validation", entity_id=entity_id),
body=await async_maybe_transform(
- {
- "issues": issues,
- "status": status,
- },
- entity_validation_params.EntityValidationParams,
+ {"issues": issues}, entity_update_validation_params.EntityUpdateValidationParams
),
options=make_request_options(
extra_headers=extra_headers,
@@ -196,8 +175,8 @@ class EntitiesResourceWithRawResponse:
def __init__(self, entities: EntitiesResource) -> None:
self._entities = entities
- self.validation = to_raw_response_wrapper(
- entities.validation,
+ self.update_validation = to_raw_response_wrapper(
+ entities.update_validation,
)
@@ -205,8 +184,8 @@ class AsyncEntitiesResourceWithRawResponse:
def __init__(self, entities: AsyncEntitiesResource) -> None:
self._entities = entities
- self.validation = async_to_raw_response_wrapper(
- entities.validation,
+ self.update_validation = async_to_raw_response_wrapper(
+ entities.update_validation,
)
@@ -214,8 +193,8 @@ class EntitiesResourceWithStreamingResponse:
def __init__(self, entities: EntitiesResource) -> None:
self._entities = entities
- self.validation = to_streamed_response_wrapper(
- entities.validation,
+ self.update_validation = to_streamed_response_wrapper(
+ entities.update_validation,
)
@@ -223,6 +202,6 @@ class AsyncEntitiesResourceWithStreamingResponse:
def __init__(self, entities: AsyncEntitiesResource) -> None:
self._entities = entities
- self.validation = async_to_streamed_response_wrapper(
- entities.validation,
+ self.update_validation = async_to_streamed_response_wrapper(
+ entities.update_validation,
)
diff --git a/src/increase/types/simulations/__init__.py b/src/increase/types/simulations/__init__.py
index 9de45c70..d15e58f9 100644
--- a/src/increase/types/simulations/__init__.py
+++ b/src/increase/types/simulations/__init__.py
@@ -5,7 +5,6 @@
from .export_create_params import ExportCreateParams as ExportCreateParams
from .program_create_params import ProgramCreateParams as ProgramCreateParams
from .card_token_create_params import CardTokenCreateParams as CardTokenCreateParams
-from .entity_validation_params import EntityValidationParams as EntityValidationParams
from .card_refund_create_params import CardRefundCreateParams as CardRefundCreateParams
from .ach_transfer_return_params import ACHTransferReturnParams as ACHTransferReturnParams
from .ach_transfer_settle_params import ACHTransferSettleParams as ACHTransferSettleParams
@@ -18,6 +17,7 @@
from .interest_payment_create_params import InterestPaymentCreateParams as InterestPaymentCreateParams
from .account_statement_create_params import AccountStatementCreateParams as AccountStatementCreateParams
from .check_deposit_adjustment_params import CheckDepositAdjustmentParams as CheckDepositAdjustmentParams
+from .entity_update_validation_params import EntityUpdateValidationParams as EntityUpdateValidationParams
from .inbound_mail_item_create_params import InboundMailItemCreateParams as InboundMailItemCreateParams
from .card_authorization_create_params import CardAuthorizationCreateParams as CardAuthorizationCreateParams
from .card_authentication_create_params import CardAuthenticationCreateParams as CardAuthenticationCreateParams
diff --git a/src/increase/types/simulations/entity_validation_params.py b/src/increase/types/simulations/entity_update_validation_params.py
similarity index 74%
rename from src/increase/types/simulations/entity_validation_params.py
rename to src/increase/types/simulations/entity_update_validation_params.py
index 215c7be6..8c79d593 100644
--- a/src/increase/types/simulations/entity_validation_params.py
+++ b/src/increase/types/simulations/entity_update_validation_params.py
@@ -5,19 +5,14 @@
from typing import Iterable
from typing_extensions import Literal, Required, TypedDict
-__all__ = ["EntityValidationParams", "Issue"]
+__all__ = ["EntityUpdateValidationParams", "Issue"]
-class EntityValidationParams(TypedDict, total=False):
+class EntityUpdateValidationParams(TypedDict, total=False):
issues: Required[Iterable[Issue]]
- """The validation issues to attach. Only allowed when `status` is `invalid`."""
+ """The validation issues to attach.
- status: Required[Literal["valid", "invalid", "pending"]]
- """The validation status to set on the Entity.
-
- - `valid` - The submitted data is valid.
- - `invalid` - Additional information is required to validate the data.
- - `pending` - The submitted data is being validated.
+ If no issues are provided, the validation status will be set to `valid`.
"""
diff --git a/tests/api_resources/simulations/test_entities.py b/tests/api_resources/simulations/test_entities.py
index 4922cb39..6312a81d 100644
--- a/tests/api_resources/simulations/test_entities.py
+++ b/tests/api_resources/simulations/test_entities.py
@@ -18,20 +18,18 @@ class TestEntities:
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
@parametrize
- def test_method_validation(self, client: Increase) -> None:
- entity = client.simulations.entities.validation(
+ def test_method_update_validation(self, client: Increase) -> None:
+ entity = client.simulations.entities.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
assert_matches_type(Entity, entity, path=["response"])
@parametrize
- def test_raw_response_validation(self, client: Increase) -> None:
- response = client.simulations.entities.with_raw_response.validation(
+ def test_raw_response_update_validation(self, client: Increase) -> None:
+ response = client.simulations.entities.with_raw_response.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
assert response.is_closed is True
@@ -40,11 +38,10 @@ def test_raw_response_validation(self, client: Increase) -> None:
assert_matches_type(Entity, entity, path=["response"])
@parametrize
- def test_streaming_response_validation(self, client: Increase) -> None:
- with client.simulations.entities.with_streaming_response.validation(
+ def test_streaming_response_update_validation(self, client: Increase) -> None:
+ with client.simulations.entities.with_streaming_response.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -55,12 +52,11 @@ def test_streaming_response_validation(self, client: Increase) -> None:
assert cast(Any, response.is_closed) is True
@parametrize
- def test_path_params_validation(self, client: Increase) -> None:
+ def test_path_params_update_validation(self, client: Increase) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- client.simulations.entities.with_raw_response.validation(
+ client.simulations.entities.with_raw_response.update_validation(
entity_id="",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
@@ -70,20 +66,18 @@ class TestAsyncEntities:
)
@parametrize
- async def test_method_validation(self, async_client: AsyncIncrease) -> None:
- entity = await async_client.simulations.entities.validation(
+ async def test_method_update_validation(self, async_client: AsyncIncrease) -> None:
+ entity = await async_client.simulations.entities.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
assert_matches_type(Entity, entity, path=["response"])
@parametrize
- async def test_raw_response_validation(self, async_client: AsyncIncrease) -> None:
- response = await async_client.simulations.entities.with_raw_response.validation(
+ async def test_raw_response_update_validation(self, async_client: AsyncIncrease) -> None:
+ response = await async_client.simulations.entities.with_raw_response.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
assert response.is_closed is True
@@ -92,11 +86,10 @@ async def test_raw_response_validation(self, async_client: AsyncIncrease) -> Non
assert_matches_type(Entity, entity, path=["response"])
@parametrize
- async def test_streaming_response_validation(self, async_client: AsyncIncrease) -> None:
- async with async_client.simulations.entities.with_streaming_response.validation(
+ async def test_streaming_response_update_validation(self, async_client: AsyncIncrease) -> None:
+ async with async_client.simulations.entities.with_streaming_response.update_validation(
entity_id="entity_n8y8tnk2p9339ti393yi",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -107,10 +100,9 @@ async def test_streaming_response_validation(self, async_client: AsyncIncrease)
assert cast(Any, response.is_closed) is True
@parametrize
- async def test_path_params_validation(self, async_client: AsyncIncrease) -> None:
+ async def test_path_params_update_validation(self, async_client: AsyncIncrease) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- await async_client.simulations.entities.with_raw_response.validation(
+ await async_client.simulations.entities.with_raw_response.update_validation(
entity_id="",
issues=[{"category": "entity_tax_identifier"}],
- status="invalid",
)
From 076385877d4d57d997e9bc492126e7dc6dbe96be Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 1 May 2026 23:00:05 +0000
Subject: [PATCH 2/2] release: 0.511.0
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 8 ++++++++
pyproject.toml | 2 +-
src/increase/_version.py | 2 +-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 145ecf69..b5b69649 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.510.0"
+ ".": "0.511.0"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index edb47147..e467eac3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.511.0 (2026-05-01)
+
+Full Changelog: [v0.510.0...v0.511.0](https://github.com/Increase/increase-python/compare/v0.510.0...v0.511.0)
+
+### Features
+
+* **api:** api update ([c6c0a11](https://github.com/Increase/increase-python/commit/c6c0a11ec3cc4f56c63b22289faad68591eb1b24))
+
## 0.510.0 (2026-05-01)
Full Changelog: [v0.509.0...v0.510.0](https://github.com/Increase/increase-python/compare/v0.509.0...v0.510.0)
diff --git a/pyproject.toml b/pyproject.toml
index e3a8af8b..98f8359c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "increase"
-version = "0.510.0"
+version = "0.511.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 c833d51d..1e67a69f 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.510.0" # x-release-please-version
+__version__ = "0.511.0" # x-release-please-version