Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.42.1"
".": "1.42.2"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 46
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-39e0191e43a9db93c8f35e91d10013f05352a2bedcf7ead6bac437957f6e922e.yml
openapi_spec_hash: 58c2cf578f0736b8c5df957f6a61190b
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-f81c5824a9002c980fc0d66c4d52e6cbd8baf7678f5e0f2215909357cff6f82c.yml
openapi_spec_hash: 7714062cac3bb5597b8571172775bc92
config_hash: 0892e2e0eeb0343a022afa62e9080dd1
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 1.42.2 (2025-12-17)

Full Changelog: [v1.42.1...v1.42.2](https://github.com/Finch-API/finch-api-python/compare/v1.42.1...v1.42.2)

### Bug Fixes

* use async_to_httpx_files in patch method ([4a91924](https://github.com/Finch-API/finch-api-python/commit/4a91924e1a39f14de1f91f01e3d1c4c86d30e9d0))


### Chores

* add missing docstrings ([0e4c89b](https://github.com/Finch-API/finch-api-python/commit/0e4c89bc8bb32e44f0bdfbf3c3d349c5d33c033d))
* **internal:** add missing files argument to base client ([ff3e0f5](https://github.com/Finch-API/finch-api-python/commit/ff3e0f57959407b4cd0ee2263db1d945acfb6178))

## 1.42.1 (2025-12-08)

Full Changelog: [v1.42.0...v1.42.1](https://github.com/Finch-API/finch-api-python/compare/v1.42.0...v1.42.1)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "finch-api"
version = "1.42.1"
version = "1.42.2"
description = "The official Python library for the Finch API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
10 changes: 8 additions & 2 deletions src/finch/_base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1262,9 +1262,12 @@ def patch(
*,
cast_to: Type[ResponseT],
body: Body | None = None,
files: RequestFiles | None = None,
options: RequestOptions = {},
) -> ResponseT:
opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
opts = FinalRequestOptions.construct(
method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
)
return self.request(cast_to, opts)

def put(
Expand Down Expand Up @@ -1796,9 +1799,12 @@ async def patch(
*,
cast_to: Type[ResponseT],
body: Body | None = None,
files: RequestFiles | None = None,
options: RequestOptions = {},
) -> ResponseT:
opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
opts = FinalRequestOptions.construct(
method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
)
return await self.request(cast_to, opts)

async def put(
Expand Down
2 changes: 1 addition & 1 deletion src/finch/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "finch"
__version__ = "1.42.1" # x-release-please-version
__version__ = "1.42.2" # x-release-please-version
2 changes: 2 additions & 0 deletions src/finch/types/account_update_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,8 @@ class AccountUpdateEventDataAuthenticationMethodSupportedFieldsPayment(BaseModel


class AccountUpdateEventDataAuthenticationMethodSupportedFields(BaseModel):
"""The supported data fields returned by our HR and payroll endpoints"""

company: Optional[AccountUpdateEventDataAuthenticationMethodSupportedFieldsCompany] = None

directory: Optional[AccountUpdateEventDataAuthenticationMethodSupportedFieldsDirectory] = None
Expand Down
2 changes: 2 additions & 0 deletions src/finch/types/connect/session_new_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ class SessionNewParams(TypedDict, total=False):


class Integration(TypedDict, total=False):
"""Integration configuration for the connect session"""

provider: Required[str]
"""The provider to integrate with"""

Expand Down
2 changes: 2 additions & 0 deletions src/finch/types/hris/benefit_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ class CompanyContributionTier(TypedDict, total=False):


class CompanyContribution(TypedDict, total=False):
"""The company match for this benefit."""

tiers: Required[Iterable[CompanyContributionTier]]

type: Required[Literal["match"]]
5 changes: 5 additions & 0 deletions src/finch/types/hris/benefits_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@


class BenefitsSupport(BaseModel):
"""Each benefit type and their supported features.

If the benefit type is not supported, the property will be null
"""

commuter: Optional[BenefitFeaturesAndOperations] = None

custom_post_tax: Optional[BenefitFeaturesAndOperations] = None
Expand Down
4 changes: 4 additions & 0 deletions src/finch/types/hris/company/company.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ class Account(BaseModel):


class DepartmentParent(BaseModel):
"""The parent department, if present."""

name: Optional[str] = None
"""The parent department's name."""

Expand All @@ -43,6 +45,8 @@ class Department(BaseModel):


class Entity(BaseModel):
"""The entity type object."""

subtype: Optional[Literal["s_corporation", "c_corporation", "b_corporation"]] = None
"""The tax payer subtype of the company."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ class RuleCreateParams(TypedDict, total=False):


class Attributes(TypedDict, total=False):
"""Specifies the fields to be applied when the condition is met."""

metadata: Dict[str, object]
"""The metadata to be attached in the entity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class Attributes(BaseModel):
"""Specifies the fields to be applied when the condition is met."""

metadata: Optional[Dict[str, object]] = None
"""The metadata to be attached in the entity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class Attributes(BaseModel):
"""Specifies the fields to be applied when the condition is met."""

metadata: Optional[Dict[str, object]] = None
"""The metadata to be attached in the entity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class Attributes(BaseModel):
"""Specifies the fields to be applied when the condition is met."""

metadata: Optional[Dict[str, object]] = None
"""The metadata to be attached in the entity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class Attributes(BaseModel):
"""Specifies the fields to be applied when the condition is met."""

metadata: Optional[Dict[str, object]] = None
"""The metadata to be attached in the entity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@


class Attributes(BaseModel):
"""The attributes of the pay statement item."""

metadata: Optional[Dict[str, Optional[object]]] = None
"""The metadata of the pay statement item derived by the rules engine if available.

Expand Down
2 changes: 2 additions & 0 deletions src/finch/types/hris/company_benefit.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ class CompanyContributionTier(BaseModel):


class CompanyContribution(BaseModel):
"""The company match for this benefit."""

tiers: List[CompanyContributionTier]

type: Literal["match"]
Expand Down
6 changes: 6 additions & 0 deletions src/finch/types/hris/employment_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,15 @@


class UnionMember0Department(BaseModel):
"""The department object."""

name: Optional[str] = None
"""The name of the department associated with the individual."""


class UnionMember0Employment(BaseModel):
"""The employment object."""

subtype: Optional[Literal["full_time", "intern", "part_time", "temp", "seasonal", "individual_contractor"]] = None
"""The secondary employment type of the individual.

Expand All @@ -36,6 +40,8 @@ class UnionMember0Employment(BaseModel):


class UnionMember0Manager(BaseModel):
"""The manager object representing the manager of the individual within the org."""

id: str
"""A stable Finch `id` (UUID v4) for an individual in the company."""

Expand Down
4 changes: 4 additions & 0 deletions src/finch/types/hris/individual_in_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,15 @@


class Department(BaseModel):
"""The department object."""

name: Optional[str] = None
"""The name of the department."""


class Manager(BaseModel):
"""The manager object."""

id: str
"""A stable Finch `id` (UUID v4) for an individual in the company."""

Expand Down
2 changes: 2 additions & 0 deletions src/finch/types/hris/payment.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class PayPeriod(BaseModel):
"""The pay period object."""

end_date: Optional[str] = None

start_date: Optional[str] = None
Expand Down
6 changes: 6 additions & 0 deletions src/finch/types/hris/w42005.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@


class Data(BaseModel):
"""Detailed information specific to the 2005 W4 form."""

additional_withholding: int
"""Additional withholding amount (in cents)."""

Expand All @@ -26,6 +28,10 @@ class Data(BaseModel):


class W42005(BaseModel):
"""
A 2005 version of the W-4 tax form containing information on an individual's filing status, dependents, and withholding details.
"""

data: Data
"""Detailed information specific to the 2005 W4 form."""

Expand Down
6 changes: 6 additions & 0 deletions src/finch/types/hris/w42020.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@


class Data(BaseModel):
"""Detailed information specific to the 2020 W4 form."""

amount_for_other_dependents: int
"""
Amount claimed for dependents other than qualifying children under 17 (in
Expand Down Expand Up @@ -44,6 +46,10 @@ class Data(BaseModel):


class W42020(BaseModel):
"""
A 2020 version of the W-4 tax form containing information on an individual's filing status, dependents, and withholding details.
"""

data: Data
"""Detailed information specific to the 2020 W4 form."""

Expand Down
5 changes: 5 additions & 0 deletions src/finch/types/income.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@


class Income(BaseModel):
"""The employee's income as reported by the provider.

This may not always be annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc, depending on what information the provider returns.
"""

amount: Optional[int] = None
"""The income amount in cents."""

Expand Down
5 changes: 5 additions & 0 deletions src/finch/types/income_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@


class IncomeParam(TypedDict, total=False):
"""The employee's income as reported by the provider.

This may not always be annualized income, but may be in units of bi-weekly, semi-monthly, daily, etc, depending on what information the provider returns.
"""

amount: Required[Optional[int]]
"""The income amount in cents."""

Expand Down
2 changes: 2 additions & 0 deletions src/finch/types/jobs/automated_async_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@


class Params(BaseModel):
"""The input parameters for the job."""

individual_id: Optional[str] = None
"""The ID of the individual that the job was completed for."""

Expand Down
5 changes: 5 additions & 0 deletions src/finch/types/jobs/automated_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ class MetaQuotasDataSyncAll(BaseModel):


class MetaQuotas(BaseModel):
"""Information about remaining quotas for this connection.

Only applicable for customers opted in to use Finch's Data Sync Refresh endpoint (`POST /jobs/automated`). Please contact a Finch representative for more details.
"""

data_sync_all: Optional[MetaQuotasDataSyncAll] = None


Expand Down
4 changes: 4 additions & 0 deletions src/finch/types/request_forwarding_forward_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@


class Request(BaseModel):
"""
An object containing details of your original forwarded request, for your ease of reference.
"""

method: str
"""The HTTP method that was specified for the forwarded request.

Expand Down
4 changes: 4 additions & 0 deletions src/finch/types/sandbox/company_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ class Account(TypedDict, total=False):


class DepartmentParent(TypedDict, total=False):
"""The parent department, if present."""

name: Optional[str]
"""The parent department's name."""

Expand All @@ -72,6 +74,8 @@ class Department(TypedDict, total=False):


class Entity(TypedDict, total=False):
"""The entity type object."""

subtype: Optional[Literal["s_corporation", "c_corporation", "b_corporation"]]
"""The tax payer subtype of the company."""

Expand Down
4 changes: 4 additions & 0 deletions src/finch/types/sandbox/company_update_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ class Account(BaseModel):


class DepartmentParent(BaseModel):
"""The parent department, if present."""

name: Optional[str] = None
"""The parent department's name."""

Expand All @@ -43,6 +45,8 @@ class Department(BaseModel):


class Entity(BaseModel):
"""The entity type object."""

subtype: Optional[Literal["s_corporation", "c_corporation", "b_corporation"]] = None
"""The tax payer subtype of the company."""

Expand Down
Loading