diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index a59deb77..d260e00d 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.434.0"
+ ".": "0.435.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 2c77a37f..c29f1d48 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%2Fincrease-1ce680832c1cad08fe72f9d4b9df37379affbe88f539448d991039474dce6674.yml
-openapi_spec_hash: 5d9c89c10f5987dc5596134d1f2c1668
-config_hash: e75db3094e90d5e48a2077b010b620f0
+configured_endpoints: 236
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4d9e8a8a1909ef7c96fe28293ab07720938ce09be84687c57e3cf95890a78205.yml
+openapi_spec_hash: 4b3867a81a8429bf6ab119f910e72865
+config_hash: e73b1147c039cb3d6a2c56ae5926bca8
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ec099f24..90ee33dd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog
+## 0.435.0 (2026-03-12)
+
+Full Changelog: [v0.434.0...v0.435.0](https://github.com/Increase/increase-python/compare/v0.434.0...v0.435.0)
+
+### Features
+
+* **api:** api update ([43c7e4c](https://github.com/Increase/increase-python/commit/43c7e4c349ce6ffbcd9aa6e368e6fe6cc04f75c1))
+* **api:** api update ([30d9bbd](https://github.com/Increase/increase-python/commit/30d9bbde4016c31b8396e9b182e3911f0bc2e55d))
+* **api:** api update ([915d6cc](https://github.com/Increase/increase-python/commit/915d6cc439a9f01f796a7a6780e117fd2944ebf4))
+
## 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)
diff --git a/api.md b/api.md
index f0601bac..59ec1bac 100644
--- a/api.md
+++ b/api.md
@@ -501,9 +501,7 @@ Methods:
- client.entities.update(entity_id, \*\*params) -> Entity
- client.entities.list(\*\*params) -> SyncPage[Entity]
- client.entities.archive(entity_id) -> Entity
-- client.entities.archive_beneficial_owner(entity_id, \*\*params) -> Entity
- client.entities.create_beneficial_owner(entity_id, \*\*params) -> Entity
-- client.entities.update_beneficial_owner_address(entity_id, \*\*params) -> Entity
# BeneficialOwners
diff --git a/pyproject.toml b/pyproject.toml
index 1551af29..c0463bc1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "increase"
-version = "0.434.0"
+version = "0.435.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 98c0006a..c5b62955 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.434.0" # x-release-please-version
+__version__ = "0.435.0" # x-release-please-version
diff --git a/src/increase/resources/entities.py b/src/increase/resources/entities.py
index 19c079d7..3d535c6f 100644
--- a/src/increase/resources/entities.py
+++ b/src/increase/resources/entities.py
@@ -13,8 +13,6 @@
entity_create_params,
entity_update_params,
entity_create_beneficial_owner_params,
- entity_archive_beneficial_owner_params,
- entity_update_beneficial_owner_address_params,
)
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from .._utils import maybe_transform, async_maybe_transform
@@ -378,57 +376,6 @@ def archive(
cast_to=Entity,
)
- def archive_beneficial_owner(
- self,
- entity_id: str,
- *,
- 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,
- ) -> Entity:
- """
- Archive a beneficial owner for a corporate Entity
-
- Args:
- entity_id: The identifier of the Entity associated with the Beneficial Owner that is being
- archived.
-
- beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the
- corporation.
-
- 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_id:
- raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
- return self._post(
- f"/entities/{entity_id}/archive_beneficial_owner",
- body=maybe_transform(
- {"beneficial_owner_id": beneficial_owner_id},
- entity_archive_beneficial_owner_params.EntityArchiveBeneficialOwnerParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- idempotency_key=idempotency_key,
- ),
- cast_to=Entity,
- )
-
def create_beneficial_owner(
self,
entity_id: str,
@@ -479,64 +426,6 @@ def create_beneficial_owner(
cast_to=Entity,
)
- def update_beneficial_owner_address(
- self,
- entity_id: str,
- *,
- address: entity_update_beneficial_owner_address_params.Address,
- 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,
- ) -> Entity:
- """
- Update the address for a beneficial owner belonging to a corporate Entity
-
- Args:
- entity_id: The identifier of the Entity associated with the Beneficial Owner whose address
- is being updated.
-
- address: The individual's physical address. Mail receiving locations like PO Boxes and
- PMB's are disallowed.
-
- beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the
- corporation.
-
- 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_id:
- raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
- return self._post(
- f"/entities/{entity_id}/update_beneficial_owner_address",
- body=maybe_transform(
- {
- "address": address,
- "beneficial_owner_id": beneficial_owner_id,
- },
- entity_update_beneficial_owner_address_params.EntityUpdateBeneficialOwnerAddressParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- idempotency_key=idempotency_key,
- ),
- cast_to=Entity,
- )
-
class AsyncEntitiesResource(AsyncAPIResource):
@cached_property
@@ -883,57 +772,6 @@ async def archive(
cast_to=Entity,
)
- async def archive_beneficial_owner(
- self,
- entity_id: str,
- *,
- 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,
- ) -> Entity:
- """
- Archive a beneficial owner for a corporate Entity
-
- Args:
- entity_id: The identifier of the Entity associated with the Beneficial Owner that is being
- archived.
-
- beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the
- corporation.
-
- 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_id:
- raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
- return await self._post(
- f"/entities/{entity_id}/archive_beneficial_owner",
- body=await async_maybe_transform(
- {"beneficial_owner_id": beneficial_owner_id},
- entity_archive_beneficial_owner_params.EntityArchiveBeneficialOwnerParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- idempotency_key=idempotency_key,
- ),
- cast_to=Entity,
- )
-
async def create_beneficial_owner(
self,
entity_id: str,
@@ -984,64 +822,6 @@ async def create_beneficial_owner(
cast_to=Entity,
)
- async def update_beneficial_owner_address(
- self,
- entity_id: str,
- *,
- address: entity_update_beneficial_owner_address_params.Address,
- 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,
- ) -> Entity:
- """
- Update the address for a beneficial owner belonging to a corporate Entity
-
- Args:
- entity_id: The identifier of the Entity associated with the Beneficial Owner whose address
- is being updated.
-
- address: The individual's physical address. Mail receiving locations like PO Boxes and
- PMB's are disallowed.
-
- beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the
- corporation.
-
- 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_id:
- raise ValueError(f"Expected a non-empty value for `entity_id` but received {entity_id!r}")
- return await self._post(
- f"/entities/{entity_id}/update_beneficial_owner_address",
- body=await async_maybe_transform(
- {
- "address": address,
- "beneficial_owner_id": beneficial_owner_id,
- },
- entity_update_beneficial_owner_address_params.EntityUpdateBeneficialOwnerAddressParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- idempotency_key=idempotency_key,
- ),
- cast_to=Entity,
- )
-
class EntitiesResourceWithRawResponse:
def __init__(self, entities: EntitiesResource) -> None:
@@ -1062,15 +842,9 @@ def __init__(self, entities: EntitiesResource) -> None:
self.archive = to_raw_response_wrapper(
entities.archive,
)
- self.archive_beneficial_owner = to_raw_response_wrapper(
- entities.archive_beneficial_owner,
- )
self.create_beneficial_owner = to_raw_response_wrapper(
entities.create_beneficial_owner,
)
- self.update_beneficial_owner_address = to_raw_response_wrapper(
- entities.update_beneficial_owner_address,
- )
class AsyncEntitiesResourceWithRawResponse:
@@ -1092,15 +866,9 @@ def __init__(self, entities: AsyncEntitiesResource) -> None:
self.archive = async_to_raw_response_wrapper(
entities.archive,
)
- self.archive_beneficial_owner = async_to_raw_response_wrapper(
- entities.archive_beneficial_owner,
- )
self.create_beneficial_owner = async_to_raw_response_wrapper(
entities.create_beneficial_owner,
)
- self.update_beneficial_owner_address = async_to_raw_response_wrapper(
- entities.update_beneficial_owner_address,
- )
class EntitiesResourceWithStreamingResponse:
@@ -1122,15 +890,9 @@ def __init__(self, entities: EntitiesResource) -> None:
self.archive = to_streamed_response_wrapper(
entities.archive,
)
- self.archive_beneficial_owner = to_streamed_response_wrapper(
- entities.archive_beneficial_owner,
- )
self.create_beneficial_owner = to_streamed_response_wrapper(
entities.create_beneficial_owner,
)
- self.update_beneficial_owner_address = to_streamed_response_wrapper(
- entities.update_beneficial_owner_address,
- )
class AsyncEntitiesResourceWithStreamingResponse:
@@ -1152,12 +914,6 @@ def __init__(self, entities: AsyncEntitiesResource) -> None:
self.archive = async_to_streamed_response_wrapper(
entities.archive,
)
- self.archive_beneficial_owner = async_to_streamed_response_wrapper(
- entities.archive_beneficial_owner,
- )
self.create_beneficial_owner = async_to_streamed_response_wrapper(
entities.create_beneficial_owner,
)
- self.update_beneficial_owner_address = async_to_streamed_response_wrapper(
- entities.update_beneficial_owner_address,
- )
diff --git a/src/increase/resources/files.py b/src/increase/resources/files.py
index d86cd1f5..c45ef807 100644
--- a/src/increase/resources/files.py
+++ b/src/increase/resources/files.py
@@ -56,6 +56,7 @@ def create(
"mailed_check_image",
"check_attachment",
"check_voucher_image",
+ "check_signature",
"form_ss_4",
"identity_document",
"loan_application_supplemental_document",
@@ -102,6 +103,8 @@ def create(
- `check_voucher_image` - An image to be used as the check voucher image, which
is printed in the middle of the trifold area of a check. This must be a
2550x1100 pixel PNG.
+ - `check_signature` - A signature image to be printed on a check. This must be a
+ 1320x120 pixel PNG.
- `form_ss_4` - IRS Form SS-4.
- `identity_document` - An image of a government-issued ID.
- `loan_application_supplemental_document` - A supplemental document for a Loan
@@ -289,6 +292,7 @@ async def create(
"mailed_check_image",
"check_attachment",
"check_voucher_image",
+ "check_signature",
"form_ss_4",
"identity_document",
"loan_application_supplemental_document",
@@ -335,6 +339,8 @@ async def create(
- `check_voucher_image` - An image to be used as the check voucher image, which
is printed in the middle of the trifold area of a check. This must be a
2550x1100 pixel PNG.
+ - `check_signature` - A signature image to be printed on a check. This must be a
+ 1320x120 pixel PNG.
- `form_ss_4` - IRS Form SS-4.
- `identity_document` - An image of a government-issued ID.
- `loan_application_supplemental_document` - A supplemental document for a Loan
diff --git a/src/increase/types/__init__.py b/src/increase/types/__init__.py
index 654a6772..8543aee3 100644
--- a/src/increase/types/__init__.py
+++ b/src/increase/types/__init__.py
@@ -170,9 +170,6 @@
from .entity_create_beneficial_owner_params import (
EntityCreateBeneficialOwnerParams as EntityCreateBeneficialOwnerParams,
)
-from .entity_archive_beneficial_owner_params import (
- EntityArchiveBeneficialOwnerParams as EntityArchiveBeneficialOwnerParams,
-)
from .intrafi_account_enrollment_list_params import (
IntrafiAccountEnrollmentListParams as IntrafiAccountEnrollmentListParams,
)
@@ -194,9 +191,6 @@
from .inbound_ach_transfer_transfer_return_params import (
InboundACHTransferTransferReturnParams as InboundACHTransferTransferReturnParams,
)
-from .entity_update_beneficial_owner_address_params import (
- EntityUpdateBeneficialOwnerAddressParams as EntityUpdateBeneficialOwnerAddressParams,
-)
from .inbound_real_time_payments_transfer_list_params import (
InboundRealTimePaymentsTransferListParams as InboundRealTimePaymentsTransferListParams,
)
diff --git a/src/increase/types/check_transfer.py b/src/increase/types/check_transfer.py
index de76a037..9e31266d 100644
--- a/src/increase/types/check_transfer.py
+++ b/src/increase/types/check_transfer.py
@@ -21,6 +21,7 @@
"PhysicalCheckMailingAddress",
"PhysicalCheckPayer",
"PhysicalCheckReturnAddress",
+ "PhysicalCheckSignature",
"PhysicalCheckTrackingUpdate",
"StopPaymentRequest",
"Submission",
@@ -194,6 +195,16 @@ class PhysicalCheckReturnAddress(BaseModel):
"""The state of the check's destination."""
+class PhysicalCheckSignature(BaseModel):
+ """The signature that will appear on the check."""
+
+ image_file_id: Optional[str] = None
+ """The ID of a File containing a PNG of the signature."""
+
+ text: Optional[str] = None
+ """The text that will appear as the signature on the check in cursive font."""
+
+
class PhysicalCheckTrackingUpdate(BaseModel):
category: Literal["in_transit", "processed_for_delivery", "delivered", "delivery_issue", "returned_to_sender"]
"""The type of tracking event.
@@ -258,11 +269,8 @@ class PhysicalCheck(BaseModel):
- `fedex_overnight` - FedEx Overnight
"""
- signature_text: Optional[str] = None
- """The text that will appear as the signature on the check in cursive font.
-
- If blank, the check will be printed with 'No signature required'.
- """
+ signature: PhysicalCheckSignature
+ """The signature that will appear on the check."""
tracking_updates: List[PhysicalCheckTrackingUpdate]
"""Tracking updates relating to the physical check's delivery."""
diff --git a/src/increase/types/check_transfer_create_params.py b/src/increase/types/check_transfer_create_params.py
index e812775d..18399676 100644
--- a/src/increase/types/check_transfer_create_params.py
+++ b/src/increase/types/check_transfer_create_params.py
@@ -14,6 +14,7 @@
"PhysicalCheckMailingAddress",
"PhysicalCheckPayer",
"PhysicalCheckReturnAddress",
+ "PhysicalCheckSignature",
"ThirdParty",
]
@@ -156,6 +157,22 @@ class PhysicalCheckReturnAddress(TypedDict, total=False):
"""
+class PhysicalCheckSignature(TypedDict, total=False):
+ """The signature that will appear on the check.
+
+ If not provided, the check will be printed with 'No Signature Required'. At most one of `text` and `image_file_id` may be provided.
+ """
+
+ image_file_id: str
+ """The ID of a File containing a PNG of the signature.
+
+ This must have `purpose: check_signature` and be a 1320x120 pixel PNG.
+ """
+
+ text: str
+ """The text that will appear as the signature on the check in cursive font."""
+
+
class PhysicalCheck(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
"""Details relating to the physical check that Increase will print and mail.
@@ -215,10 +232,11 @@ class PhysicalCheck(TypedDict, total=False, extra_items=object): # type: ignore
- `fedex_overnight` - FedEx Overnight
"""
- signature_text: str
- """The text that will appear as the signature on the check in cursive font.
+ signature: PhysicalCheckSignature
+ """The signature that will appear on the check.
- If not provided, the check will be printed with 'No signature required'.
+ If not provided, the check will be printed with 'No Signature Required'. At most
+ one of `text` and `image_file_id` may be provided.
"""
diff --git a/src/increase/types/entity_archive_beneficial_owner_params.py b/src/increase/types/entity_archive_beneficial_owner_params.py
deleted file mode 100644
index d430cf7e..00000000
--- a/src/increase/types/entity_archive_beneficial_owner_params.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Required, TypedDict
-
-__all__ = ["EntityArchiveBeneficialOwnerParams"]
-
-
-class EntityArchiveBeneficialOwnerParams(TypedDict, total=False):
- beneficial_owner_id: Required[str]
- """
- The identifying details of anyone controlling or owning 25% or more of the
- corporation.
- """
diff --git a/src/increase/types/entity_beneficial_owner.py b/src/increase/types/entity_beneficial_owner.py
index 86907ad5..1fc813c1 100644
--- a/src/increase/types/entity_beneficial_owner.py
+++ b/src/increase/types/entity_beneficial_owner.py
@@ -88,6 +88,10 @@ class Individual(BaseModel):
class EntityBeneficialOwner(BaseModel):
+ """
+ Beneficial owners are the individuals who control or own 25% or more of a `corporation` entity. Beneficial owners are always people, and never organizations. Generally, you will need to submit between 1 and 5 beneficial owners for every `corporation` entity. You should update and archive beneficial owners for a corporation entity as their details change.
+ """
+
id: str
"""The identifier of this beneficial owner."""
diff --git a/src/increase/types/entity_update_beneficial_owner_address_params.py b/src/increase/types/entity_update_beneficial_owner_address_params.py
deleted file mode 100644
index 5848cc86..00000000
--- a/src/increase/types/entity_update_beneficial_owner_address_params.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Required, TypedDict
-
-__all__ = ["EntityUpdateBeneficialOwnerAddressParams", "Address"]
-
-
-class EntityUpdateBeneficialOwnerAddressParams(TypedDict, total=False):
- address: Required[Address]
- """The individual's physical address.
-
- Mail receiving locations like PO Boxes and PMB's are disallowed.
- """
-
- beneficial_owner_id: Required[str]
- """
- The identifying details of anyone controlling or owning 25% or more of the
- corporation.
- """
-
-
-class Address(TypedDict, total=False):
- """The individual's physical address.
-
- Mail receiving locations like PO Boxes and PMB's are disallowed.
- """
-
- city: Required[str]
- """The city, district, town, or village of the address."""
-
- country: Required[str]
- """The two-letter ISO 3166-1 alpha-2 code for the country of the address."""
-
- line1: Required[str]
- """The first line of the address. This is usually the street number and street."""
-
- line2: str
- """The second line of the address. This might be the floor or room number."""
-
- state: str
- """
- The two-letter United States Postal Service (USPS) abbreviation for the US
- state, province, or region of the address. Required in certain countries.
- """
-
- zip: str
- """The ZIP or postal code of the address. Required in certain countries."""
diff --git a/src/increase/types/file.py b/src/increase/types/file.py
index 45939cdb..3cf091ae 100644
--- a/src/increase/types/file.py
+++ b/src/increase/types/file.py
@@ -56,6 +56,7 @@ class File(BaseModel):
"mailed_check_image",
"check_attachment",
"check_voucher_image",
+ "check_signature",
"inbound_mail_item",
"form_1099_int",
"form_1099_misc",
@@ -101,6 +102,8 @@ class File(BaseModel):
- `check_voucher_image` - An image to be used as the check voucher image, which
is printed in the middle of the trifold area of a check. This must be a
2550x1100 pixel PNG.
+ - `check_signature` - A signature image to be printed on a check. This must be a
+ 1320x120 pixel PNG.
- `inbound_mail_item` - A scanned mail item sent to Increase.
- `form_1099_int` - IRS Form 1099-INT.
- `form_1099_misc` - IRS Form 1099-MISC.
diff --git a/src/increase/types/file_create_params.py b/src/increase/types/file_create_params.py
index a2ea75d8..069840ff 100644
--- a/src/increase/types/file_create_params.py
+++ b/src/increase/types/file_create_params.py
@@ -26,6 +26,7 @@ class FileCreateParams(TypedDict, total=False):
"mailed_check_image",
"check_attachment",
"check_voucher_image",
+ "check_signature",
"form_ss_4",
"identity_document",
"loan_application_supplemental_document",
@@ -54,6 +55,8 @@ class FileCreateParams(TypedDict, total=False):
- `check_voucher_image` - An image to be used as the check voucher image, which
is printed in the middle of the trifold area of a check. This must be a
2550x1100 pixel PNG.
+ - `check_signature` - A signature image to be printed on a check. This must be a
+ 1320x120 pixel PNG.
- `form_ss_4` - IRS Form SS-4.
- `identity_document` - An image of a government-issued ID.
- `loan_application_supplemental_document` - A supplemental document for a Loan
diff --git a/src/increase/types/file_list_params.py b/src/increase/types/file_list_params.py
index 2e6f4332..6376de63 100644
--- a/src/increase/types/file_list_params.py
+++ b/src/increase/types/file_list_params.py
@@ -73,6 +73,7 @@ class CreatedAt(TypedDict, total=False):
"mailed_check_image",
"check_attachment",
"check_voucher_image",
+ "check_signature",
"inbound_mail_item",
"form_1099_int",
"form_1099_misc",
diff --git a/tests/api_resources/test_check_transfers.py b/tests/api_resources/test_check_transfers.py
index c3d6def2..fa0afb17 100644
--- a/tests/api_resources/test_check_transfers.py
+++ b/tests/api_resources/test_check_transfers.py
@@ -66,7 +66,10 @@ def test_method_create_with_all_params(self, client: Increase) -> None:
"phone": "x",
},
"shipping_method": "usps_first_class",
- "signature_text": "Ian Crease",
+ "signature": {
+ "image_file_id": "image_file_id",
+ "text": "Ian Crease",
+ },
},
require_approval=True,
third_party={"recipient_name": "x"},
@@ -357,7 +360,10 @@ async def test_method_create_with_all_params(self, async_client: AsyncIncrease)
"phone": "x",
},
"shipping_method": "usps_first_class",
- "signature_text": "Ian Crease",
+ "signature": {
+ "image_file_id": "image_file_id",
+ "text": "Ian Crease",
+ },
},
require_approval=True,
third_party={"recipient_name": "x"},
diff --git a/tests/api_resources/test_entities.py b/tests/api_resources/test_entities.py
index 96e4f3ea..d26d5046 100644
--- a/tests/api_resources/test_entities.py
+++ b/tests/api_resources/test_entities.py
@@ -521,48 +521,6 @@ def test_path_params_archive(self, client: Increase) -> None:
"",
)
- @parametrize
- def test_method_archive_beneficial_owner(self, client: Increase) -> None:
- entity = client.entities.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- def test_raw_response_archive_beneficial_owner(self, client: Increase) -> None:
- response = client.entities.with_raw_response.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- entity = response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- def test_streaming_response_archive_beneficial_owner(self, client: Increase) -> None:
- with client.entities.with_streaming_response.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- entity = response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_archive_beneficial_owner(self, client: Increase) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- client.entities.with_raw_response.archive_beneficial_owner(
- entity_id="",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
@parametrize
def test_method_create_beneficial_owner(self, client: Increase) -> None:
entity = client.entities.create_beneficial_owner(
@@ -711,84 +669,6 @@ def test_path_params_create_beneficial_owner(self, client: Increase) -> None:
},
)
- @parametrize
- def test_method_update_beneficial_owner_address(self, client: Increase) -> None:
- entity = client.entities.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- def test_method_update_beneficial_owner_address_with_all_params(self, client: Increase) -> None:
- entity = client.entities.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- "line2": "Unit 2",
- "state": "NY",
- "zip": "10045",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- def test_raw_response_update_beneficial_owner_address(self, client: Increase) -> None:
- response = client.entities.with_raw_response.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- entity = response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- def test_streaming_response_update_beneficial_owner_address(self, client: Increase) -> None:
- with client.entities.with_streaming_response.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- entity = response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_update_beneficial_owner_address(self, client: Increase) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- client.entities.with_raw_response.update_beneficial_owner_address(
- entity_id="",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
class TestAsyncEntities:
parametrize = pytest.mark.parametrize(
@@ -1295,48 +1175,6 @@ async def test_path_params_archive(self, async_client: AsyncIncrease) -> None:
"",
)
- @parametrize
- async def test_method_archive_beneficial_owner(self, async_client: AsyncIncrease) -> None:
- entity = await async_client.entities.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- async def test_raw_response_archive_beneficial_owner(self, async_client: AsyncIncrease) -> None:
- response = await async_client.entities.with_raw_response.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- entity = await response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- async def test_streaming_response_archive_beneficial_owner(self, async_client: AsyncIncrease) -> None:
- async with async_client.entities.with_streaming_response.archive_beneficial_owner(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- entity = await response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_archive_beneficial_owner(self, async_client: AsyncIncrease) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- await async_client.entities.with_raw_response.archive_beneficial_owner(
- entity_id="",
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
@parametrize
async def test_method_create_beneficial_owner(self, async_client: AsyncIncrease) -> None:
entity = await async_client.entities.create_beneficial_owner(
@@ -1484,81 +1322,3 @@ async def test_path_params_create_beneficial_owner(self, async_client: AsyncIncr
"prongs": ["control"],
},
)
-
- @parametrize
- async def test_method_update_beneficial_owner_address(self, async_client: AsyncIncrease) -> None:
- entity = await async_client.entities.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- async def test_method_update_beneficial_owner_address_with_all_params(self, async_client: AsyncIncrease) -> None:
- entity = await async_client.entities.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- "line2": "Unit 2",
- "state": "NY",
- "zip": "10045",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- async def test_raw_response_update_beneficial_owner_address(self, async_client: AsyncIncrease) -> None:
- response = await async_client.entities.with_raw_response.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- entity = await response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- @parametrize
- async def test_streaming_response_update_beneficial_owner_address(self, async_client: AsyncIncrease) -> None:
- async with async_client.entities.with_streaming_response.update_beneficial_owner_address(
- entity_id="entity_n8y8tnk2p9339ti393yi",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- entity = await response.parse()
- assert_matches_type(Entity, entity, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_update_beneficial_owner_address(self, async_client: AsyncIncrease) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `entity_id` but received ''"):
- await async_client.entities.with_raw_response.update_beneficial_owner_address(
- entity_id="",
- address={
- "city": "New York",
- "country": "US",
- "line1": "33 Liberty Street",
- },
- beneficial_owner_id="entity_setup_beneficial_owner_submission_vgkyk7dj5eb4sfhdbkx7",
- )