diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 878ea368..3de0600f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.436.0" + ".": "0.437.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 89d1fa6c..8db47988 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 236 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-5c95dd79214af830e2e7fb34ab05f98bde9213311d5e2d59f9a816a8e0369b85.yml -openapi_spec_hash: ec66c2961a8b90e06ea57f934d8d75db +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-6cc15216773be06ef5899a9f805480d69ba2e610a3746bb638c7773baa10c407.yml +openapi_spec_hash: c24d9a85acb17d73e8d6434d7c907d40 config_hash: 25d7d7aa4882db6189b4b53e8e249e80 diff --git a/CHANGELOG.md b/CHANGELOG.md index e2472f78..feb5a2da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.437.0 (2026-03-12) + +Full Changelog: [v0.436.0...v0.437.0](https://github.com/Increase/increase-python/compare/v0.436.0...v0.437.0) + +### Features + +* **api:** api update ([d7b8908](https://github.com/Increase/increase-python/commit/d7b890896bc0c7fb37b3bd55d6b8bddc8c30e643)) + ## 0.436.0 (2026-03-12) Full Changelog: [v0.435.0...v0.436.0](https://github.com/Increase/increase-python/compare/v0.435.0...v0.436.0) diff --git a/pyproject.toml b/pyproject.toml index 02c59830..42e0f286 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.436.0" +version = "0.437.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 80b67182..55b342eb 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.436.0" # x-release-please-version +__version__ = "0.437.0" # x-release-please-version diff --git a/src/increase/types/entity.py b/src/increase/types/entity.py index 6d02ce99..4d4ff37d 100644 --- a/src/increase/types/entity.py +++ b/src/increase/types/entity.py @@ -7,13 +7,16 @@ from pydantic import Field as FieldInfo from .._models import BaseModel -from .entity_beneficial_owner import EntityBeneficialOwner from .entity_supplemental_document import EntitySupplementalDocument __all__ = [ "Entity", "Corporation", "CorporationAddress", + "CorporationBeneficialOwner", + "CorporationBeneficialOwnerIndividual", + "CorporationBeneficialOwnerIndividualAddress", + "CorporationBeneficialOwnerIndividualIdentification", "GovernmentAuthority", "GovernmentAuthorityAddress", "GovernmentAuthorityAuthorizedPerson", @@ -61,6 +64,108 @@ class CorporationAddress(BaseModel): """The ZIP code of the address.""" +class CorporationBeneficialOwnerIndividualAddress(BaseModel): + """The person's address.""" + + city: Optional[str] = None + """The city, district, town, or village of the address.""" + + country: str + """The two-letter ISO 3166-1 alpha-2 code for the country of the address.""" + + line1: str + """The first line of the address.""" + + line2: Optional[str] = None + """The second line of the address.""" + + state: Optional[str] = None + """ + The two-letter United States Postal Service (USPS) abbreviation for the US + state, province, or region of the address. + """ + + zip: Optional[str] = None + """The ZIP or postal code of the address.""" + + +class CorporationBeneficialOwnerIndividualIdentification(BaseModel): + """A means of verifying the person's identity.""" + + method: 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_last4: str + """ + The last 4 digits of the identification number that can be used to verify the + individual's identity. + """ + + if TYPE_CHECKING: + # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a + # value to this field, so for compatibility we avoid doing it at runtime. + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] + + # Stub to indicate that arbitrary properties are accepted. + # To access properties that are not valid identifiers you can use `getattr`, e.g. + # `getattr(obj, '$type')` + def __getattr__(self, attr: str) -> object: ... + else: + __pydantic_extra__: Dict[str, object] + + +class CorporationBeneficialOwnerIndividual(BaseModel): + """Personal details for the beneficial owner.""" + + address: CorporationBeneficialOwnerIndividualAddress + """The person's address.""" + + date_of_birth: date + """The person's date of birth in YYYY-MM-DD format.""" + + identification: CorporationBeneficialOwnerIndividualIdentification + """A means of verifying the person's identity.""" + + name: str + """The person's legal name.""" + + +class CorporationBeneficialOwner(BaseModel): + id: str + """The identifier of this beneficial owner.""" + + company_title: Optional[str] = None + """This person's role or title within the entity.""" + + individual: CorporationBeneficialOwnerIndividual + """Personal details for the beneficial owner.""" + + prongs: List[Literal["ownership", "control"]] + """Why this person is considered a beneficial owner of the entity.""" + + if TYPE_CHECKING: + # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a + # value to this field, so for compatibility we avoid doing it at runtime. + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] + + # Stub to indicate that arbitrary properties are accepted. + # To access properties that are not valid identifiers you can use `getattr`, e.g. + # `getattr(obj, '$type')` + def __getattr__(self, attr: str) -> object: ... + else: + __pydantic_extra__: Dict[str, object] + + class Corporation(BaseModel): """Details of the corporation entity. @@ -70,7 +175,7 @@ class Corporation(BaseModel): address: CorporationAddress """The corporation's address.""" - beneficial_owners: List[EntityBeneficialOwner] + beneficial_owners: List[CorporationBeneficialOwner] """ 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 d16d5cf1..6d16c736 100644 --- a/src/increase/types/entity_beneficial_owner.py +++ b/src/increase/types/entity_beneficial_owner.py @@ -123,15 +123,3 @@ class EntityBeneficialOwner(BaseModel): For this resource it will always be `entity_beneficial_owner`. """ - - if TYPE_CHECKING: - # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a - # value to this field, so for compatibility we avoid doing it at runtime. - __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] - - # Stub to indicate that arbitrary properties are accepted. - # To access properties that are not valid identifiers you can use `getattr`, e.g. - # `getattr(obj, '$type')` - def __getattr__(self, attr: str) -> object: ... - else: - __pydantic_extra__: Dict[str, object]