diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 26817e15..371dbbd2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.478.0" + ".": "0.479.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 0be591b7..2dd3ad7c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 241 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-76519f799070d5e184aa17c924a502d5767ba63eed88e48255145e1c36a19b7f.yml -openapi_spec_hash: 4bac99d90df83788bc79092b880d9ac6 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-ff1d99efd9eeb980f386d87e7d4c422890073b2dd12759044b444227f76dbe96.yml +openapi_spec_hash: 1b8389213a95f495dcc6d381451e5c4c config_hash: d48e9f65bcf642f92610034d6c43f07a diff --git a/CHANGELOG.md b/CHANGELOG.md index adf5d321..7f7c9768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.479.0 (2026-04-11) + +Full Changelog: [v0.478.0...v0.479.0](https://github.com/Increase/increase-python/compare/v0.478.0...v0.479.0) + +### Features + +* **api:** api update ([3a649e2](https://github.com/Increase/increase-python/commit/3a649e21e1b0e1bad5c645578849b2da52e34ed0)) + ## 0.478.0 (2026-04-11) Full Changelog: [v0.477.0...v0.478.0](https://github.com/Increase/increase-python/compare/v0.477.0...v0.478.0) diff --git a/pyproject.toml b/pyproject.toml index 2e5c195c..65f758b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.478.0" +version = "0.479.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 9e0a8509..2f401605 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.478.0" # x-release-please-version +__version__ = "0.479.0" # x-release-please-version diff --git a/src/increase/types/entity_update_params.py b/src/increase/types/entity_update_params.py index 0c261166..733b6798 100644 --- a/src/increase/types/entity_update_params.py +++ b/src/increase/types/entity_update_params.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Union -from datetime import datetime +from datetime import date, datetime from typing_extensions import Literal, Required, Annotated, TypedDict from .._utils import PropertyInfo @@ -17,6 +17,10 @@ "GovernmentAuthorityAddress", "NaturalPerson", "NaturalPersonAddress", + "NaturalPersonIdentification", + "NaturalPersonIdentificationDriversLicense", + "NaturalPersonIdentificationOther", + "NaturalPersonIdentificationPassport", "RiskRating", "ThirdPartyVerification", "Trust", @@ -232,6 +236,119 @@ class NaturalPersonAddress(TypedDict, total=False): """The ZIP or postal code of the address. Required in certain countries.""" +class NaturalPersonIdentificationDriversLicense(TypedDict, total=False): + """Information about the United States driver's license used for identification. + + Required if `method` is equal to `drivers_license`. + """ + + expiration_date: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]] + """The driver's license's expiration date in YYYY-MM-DD format.""" + + file_id: Required[str] + """The identifier of the File containing the front of the driver's license.""" + + state: Required[str] + """The state that issued the provided driver's license.""" + + back_file_id: str + """The identifier of the File containing the back of the driver's license.""" + + +class NaturalPersonIdentificationOther(TypedDict, total=False): + """Information about the identification document provided. + + Required if `method` is equal to `other`. + """ + + country: Required[str] + """ + The two-character ISO 3166-1 code representing the country that issued the + document (e.g., `US`). + """ + + description: Required[str] + """A description of the document submitted.""" + + file_id: Required[str] + """The identifier of the File containing the front of the document.""" + + back_file_id: str + """The identifier of the File containing the back of the document. + + Not every document has a reverse side. + """ + + expiration_date: Annotated[Union[str, date], PropertyInfo(format="iso8601")] + """The document's expiration date in YYYY-MM-DD format.""" + + +class NaturalPersonIdentificationPassport(TypedDict, total=False): + """Information about the passport used for identification. + + Required if `method` is equal to `passport`. + """ + + country: Required[str] + """ + The two-character ISO 3166-1 code representing the country that issued the + document (e.g., `US`). + """ + + expiration_date: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]] + """The passport's expiration date in YYYY-MM-DD format.""" + + file_id: Required[str] + """The identifier of the File containing the passport.""" + + +class NaturalPersonIdentification(TypedDict, total=False, extra_items=object): # type: ignore[call-arg] + """A means of verifying the person's identity.""" + + method: Required[ + Literal[ + "social_security_number", + "individual_taxpayer_identification_number", + "passport", + "drivers_license", + "other", + ] + ] + """A method that can be used to verify the individual's identity. + + - `social_security_number` - A social security number. + - `individual_taxpayer_identification_number` - An individual taxpayer + identification number (ITIN). + - `passport` - A passport number. + - `drivers_license` - A driver's license number. + - `other` - Another identifying document. + """ + + number: Required[str] + """ + An identification number that can be used to verify the individual's identity, + such as a social security number. + """ + + drivers_license: NaturalPersonIdentificationDriversLicense + """Information about the United States driver's license used for identification. + + Required if `method` is equal to `drivers_license`. + """ + + other: NaturalPersonIdentificationOther + """Information about the identification document provided. + + Required if `method` is equal to `other`. + """ + + passport: NaturalPersonIdentificationPassport + """Information about the passport used for identification. + + Required if `method` is equal to `passport`. + """ + + class NaturalPerson(TypedDict, total=False): """Details of the natural person entity to update. @@ -244,6 +361,17 @@ class NaturalPerson(TypedDict, total=False): Mail receiving locations like PO Boxes and PMB's are disallowed. """ + confirmed_no_us_tax_id: bool + """ + The identification method for an individual can only be a passport, driver's + license, or other document if you've confirmed the individual does not have a US + tax id (either a Social Security Number or Individual Taxpayer Identification + Number). + """ + + identification: NaturalPersonIdentification + """A means of verifying the person's identity.""" + name: str """The legal name of the natural person.""" diff --git a/tests/api_resources/test_entities.py b/tests/api_resources/test_entities.py index 8618c9fa..f71cc7da 100644 --- a/tests/api_resources/test_entities.py +++ b/tests/api_resources/test_entities.py @@ -399,6 +399,29 @@ def test_method_update_with_all_params(self, client: Increase) -> None: "state": "x", "zip": "x", }, + "confirmed_no_us_tax_id": True, + "identification": { + "method": "social_security_number", + "number": "xxxx", + "drivers_license": { + "expiration_date": parse_date("2019-12-27"), + "file_id": "file_id", + "state": "x", + "back_file_id": "back_file_id", + }, + "other": { + "country": "x", + "description": "x", + "file_id": "file_id", + "back_file_id": "back_file_id", + "expiration_date": parse_date("2019-12-27"), + }, + "passport": { + "country": "x", + "expiration_date": parse_date("2019-12-27"), + "file_id": "file_id", + }, + }, "name": "x", }, risk_rating={ @@ -918,6 +941,29 @@ async def test_method_update_with_all_params(self, async_client: AsyncIncrease) "state": "x", "zip": "x", }, + "confirmed_no_us_tax_id": True, + "identification": { + "method": "social_security_number", + "number": "xxxx", + "drivers_license": { + "expiration_date": parse_date("2019-12-27"), + "file_id": "file_id", + "state": "x", + "back_file_id": "back_file_id", + }, + "other": { + "country": "x", + "description": "x", + "file_id": "file_id", + "back_file_id": "back_file_id", + "expiration_date": parse_date("2019-12-27"), + }, + "passport": { + "country": "x", + "expiration_date": parse_date("2019-12-27"), + "file_id": "file_id", + }, + }, "name": "x", }, risk_rating={