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.46.0"
".": "2.0.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 48
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-7e39b6a20bf3e1f23ad832300b73ae92b6f6ce7c9d86eaa8fcc0710b51455f17.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-ecd3f6c28edae07dbe9f54d8040a6d7f2af5ac032b20f8df06065542478e4e73.yml
openapi_spec_hash: 5e0e04e7274494062ff46ac85d358f5b
config_hash: 8b3c2a32014346513c18d98cbb752d2c
config_hash: 9ae56f40cec7304896138bfad5caf748
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 2.0.0 (2026-06-22)

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

### Bug Fixes

* **payroll:** pay_statement_item is now a direct subresource of hris instead of company ([f8194d7](https://github.com/Finch-API/finch-api-python/commit/f8194d748c7b37fa624a3ca36f0f29b6243aa7d5))

## 1.46.0 (2026-06-22)

Full Changelog: [v1.45.0...v1.46.0](https://github.com/Finch-API/finch-api-python/compare/v1.45.0...v1.46.0)
Expand Down
20 changes: 10 additions & 10 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,26 +41,26 @@ from finch.types.hris import Company

Methods:

- <code title="get /employer/company">client.hris.company.<a href="./src/finch/resources/hris/company/company.py">retrieve</a>(\*\*<a href="src/finch/types/hris/company_retrieve_params.py">params</a>) -> <a href="./src/finch/types/hris/company/company.py">Company</a></code>
- <code title="get /employer/company">client.hris.company.<a href="./src/finch/resources/hris/company.py">retrieve</a>(\*\*<a href="src/finch/types/hris/company_retrieve_params.py">params</a>) -> <a href="./src/finch/types/hris/company.py">Company</a></code>

### PayStatementItem
## PayStatementItem

Types:

```python
from finch.types.hris.company import PayStatementItemListResponse
from finch.types.hris import PayStatementItemListResponse
```

Methods:

- <code title="get /employer/pay-statement-item">client.hris.company.pay_statement_item.<a href="./src/finch/resources/hris/company/pay_statement_item/pay_statement_item.py">list</a>(\*\*<a href="src/finch/types/hris/company/pay_statement_item_list_params.py">params</a>) -> <a href="./src/finch/types/hris/company/pay_statement_item_list_response.py">SyncResponsesPage[PayStatementItemListResponse]</a></code>
- <code title="get /employer/pay-statement-item">client.hris.pay_statement_item.<a href="./src/finch/resources/hris/pay_statement_item/pay_statement_item.py">list</a>(\*\*<a href="src/finch/types/hris/pay_statement_item_list_params.py">params</a>) -> <a href="./src/finch/types/hris/pay_statement_item_list_response.py">SyncResponsesPage[PayStatementItemListResponse]</a></code>

#### Rules
### Rules

Types:

```python
from finch.types.hris.company.pay_statement_item import (
from finch.types.hris.pay_statement_item import (
RuleCreateResponse,
RuleUpdateResponse,
RuleListResponse,
Expand All @@ -70,10 +70,10 @@ from finch.types.hris.company.pay_statement_item import (

Methods:

- <code title="post /employer/pay-statement-item/rule">client.hris.company.pay_statement_item.rules.<a href="./src/finch/resources/hris/company/pay_statement_item/rules.py">create</a>(\*\*<a href="src/finch/types/hris/company/pay_statement_item/rule_create_params.py">params</a>) -> <a href="./src/finch/types/hris/company/pay_statement_item/rule_create_response.py">RuleCreateResponse</a></code>
- <code title="put /employer/pay-statement-item/rule/{rule_id}">client.hris.company.pay_statement_item.rules.<a href="./src/finch/resources/hris/company/pay_statement_item/rules.py">update</a>(rule_id, \*\*<a href="src/finch/types/hris/company/pay_statement_item/rule_update_params.py">params</a>) -> <a href="./src/finch/types/hris/company/pay_statement_item/rule_update_response.py">RuleUpdateResponse</a></code>
- <code title="get /employer/pay-statement-item/rule">client.hris.company.pay_statement_item.rules.<a href="./src/finch/resources/hris/company/pay_statement_item/rules.py">list</a>(\*\*<a href="src/finch/types/hris/company/pay_statement_item/rule_list_params.py">params</a>) -> <a href="./src/finch/types/hris/company/pay_statement_item/rule_list_response.py">SyncResponsesPage[RuleListResponse]</a></code>
- <code title="delete /employer/pay-statement-item/rule/{rule_id}">client.hris.company.pay_statement_item.rules.<a href="./src/finch/resources/hris/company/pay_statement_item/rules.py">delete</a>(rule_id, \*\*<a href="src/finch/types/hris/company/pay_statement_item/rule_delete_params.py">params</a>) -> <a href="./src/finch/types/hris/company/pay_statement_item/rule_delete_response.py">RuleDeleteResponse</a></code>
- <code title="post /employer/pay-statement-item/rule">client.hris.pay_statement_item.rules.<a href="./src/finch/resources/hris/pay_statement_item/rules.py">create</a>(\*\*<a href="src/finch/types/hris/pay_statement_item/rule_create_params.py">params</a>) -> <a href="./src/finch/types/hris/pay_statement_item/rule_create_response.py">RuleCreateResponse</a></code>
- <code title="put /employer/pay-statement-item/rule/{rule_id}">client.hris.pay_statement_item.rules.<a href="./src/finch/resources/hris/pay_statement_item/rules.py">update</a>(rule_id, \*\*<a href="src/finch/types/hris/pay_statement_item/rule_update_params.py">params</a>) -> <a href="./src/finch/types/hris/pay_statement_item/rule_update_response.py">RuleUpdateResponse</a></code>
- <code title="get /employer/pay-statement-item/rule">client.hris.pay_statement_item.rules.<a href="./src/finch/resources/hris/pay_statement_item/rules.py">list</a>(\*\*<a href="src/finch/types/hris/pay_statement_item/rule_list_params.py">params</a>) -> <a href="./src/finch/types/hris/pay_statement_item/rule_list_response.py">SyncResponsesPage[RuleListResponse]</a></code>
- <code title="delete /employer/pay-statement-item/rule/{rule_id}">client.hris.pay_statement_item.rules.<a href="./src/finch/resources/hris/pay_statement_item/rules.py">delete</a>(rule_id, \*\*<a href="src/finch/types/hris/pay_statement_item/rule_delete_params.py">params</a>) -> <a href="./src/finch/types/hris/pay_statement_item/rule_delete_response.py">RuleDeleteResponse</a></code>

## Directory

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.46.0"
version = "2.0.0"
description = "The official Python library for the Finch API"
dynamic = ["readme"]
license = "Apache-2.0"
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.46.0" # x-release-please-version
__version__ = "2.0.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/finch/resources/hris/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@
PayStatementsWithStreamingResponse,
AsyncPayStatementsWithStreamingResponse,
)
from .pay_statement_item import (
PayStatementItem,
AsyncPayStatementItem,
PayStatementItemWithRawResponse,
AsyncPayStatementItemWithRawResponse,
PayStatementItemWithStreamingResponse,
AsyncPayStatementItemWithStreamingResponse,
)

__all__ = [
"CompanyResource",
Expand All @@ -80,6 +88,12 @@
"AsyncCompanyResourceWithRawResponse",
"CompanyResourceWithStreamingResponse",
"AsyncCompanyResourceWithStreamingResponse",
"PayStatementItem",
"AsyncPayStatementItem",
"PayStatementItemWithRawResponse",
"AsyncPayStatementItemWithRawResponse",
"PayStatementItemWithStreamingResponse",
"AsyncPayStatementItemWithStreamingResponse",
"Directory",
"AsyncDirectory",
"DirectoryWithRawResponse",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,20 @@

import httpx

from .... import _legacy_response
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ...._utils import maybe_transform, async_maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
from ....types.hris import company_retrieve_params
from ...._base_client import make_request_options
from ....types.hris.company.company import Company
from .pay_statement_item.pay_statement_item import (
PayStatementItem,
AsyncPayStatementItem,
PayStatementItemWithRawResponse,
AsyncPayStatementItemWithRawResponse,
PayStatementItemWithStreamingResponse,
AsyncPayStatementItemWithStreamingResponse,
)
from ... import _legacy_response
from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
from ...types.hris import company_retrieve_params
from ..._base_client import make_request_options
from ...types.hris.company import Company

__all__ = ["CompanyResource", "AsyncCompanyResource"]


class CompanyResource(SyncAPIResource):
@cached_property
def pay_statement_item(self) -> PayStatementItem:
return PayStatementItem(self._client)

@cached_property
def with_raw_response(self) -> CompanyResourceWithRawResponse:
"""
Expand Down Expand Up @@ -89,10 +77,6 @@ def retrieve(


class AsyncCompanyResource(AsyncAPIResource):
@cached_property
def pay_statement_item(self) -> AsyncPayStatementItem:
return AsyncPayStatementItem(self._client)

@cached_property
def with_raw_response(self) -> AsyncCompanyResourceWithRawResponse:
"""
Expand Down Expand Up @@ -161,10 +145,6 @@ def __init__(self, company: CompanyResource) -> None:
company.retrieve,
)

@cached_property
def pay_statement_item(self) -> PayStatementItemWithRawResponse:
return PayStatementItemWithRawResponse(self._company.pay_statement_item)


class AsyncCompanyResourceWithRawResponse:
def __init__(self, company: AsyncCompanyResource) -> None:
Expand All @@ -174,10 +154,6 @@ def __init__(self, company: AsyncCompanyResource) -> None:
company.retrieve,
)

@cached_property
def pay_statement_item(self) -> AsyncPayStatementItemWithRawResponse:
return AsyncPayStatementItemWithRawResponse(self._company.pay_statement_item)


class CompanyResourceWithStreamingResponse:
def __init__(self, company: CompanyResource) -> None:
Expand All @@ -187,10 +163,6 @@ def __init__(self, company: CompanyResource) -> None:
company.retrieve,
)

@cached_property
def pay_statement_item(self) -> PayStatementItemWithStreamingResponse:
return PayStatementItemWithStreamingResponse(self._company.pay_statement_item)


class AsyncCompanyResourceWithStreamingResponse:
def __init__(self, company: AsyncCompanyResource) -> None:
Expand All @@ -199,7 +171,3 @@ def __init__(self, company: AsyncCompanyResource) -> None:
self.retrieve = async_to_streamed_response_wrapper(
company.retrieve,
)

@cached_property
def pay_statement_item(self) -> AsyncPayStatementItemWithStreamingResponse:
return AsyncPayStatementItemWithStreamingResponse(self._company.pay_statement_item)
33 changes: 0 additions & 33 deletions src/finch/resources/hris/company/__init__.py

This file was deleted.

48 changes: 40 additions & 8 deletions src/finch/resources/hris/hris.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

from __future__ import annotations

from .company import (
CompanyResource,
AsyncCompanyResource,
CompanyResourceWithRawResponse,
AsyncCompanyResourceWithRawResponse,
CompanyResourceWithStreamingResponse,
AsyncCompanyResourceWithStreamingResponse,
)
from .payments import (
Payments,
AsyncPayments,
Expand Down Expand Up @@ -52,14 +60,6 @@
PayStatementsWithStreamingResponse,
AsyncPayStatementsWithStreamingResponse,
)
from .company.company import (
CompanyResource,
AsyncCompanyResource,
CompanyResourceWithRawResponse,
AsyncCompanyResourceWithRawResponse,
CompanyResourceWithStreamingResponse,
AsyncCompanyResourceWithStreamingResponse,
)
from .benefits.benefits import (
Benefits,
AsyncBenefits,
Expand All @@ -68,6 +68,14 @@
BenefitsWithStreamingResponse,
AsyncBenefitsWithStreamingResponse,
)
from .pay_statement_item.pay_statement_item import (
PayStatementItem,
AsyncPayStatementItem,
PayStatementItemWithRawResponse,
AsyncPayStatementItemWithRawResponse,
PayStatementItemWithStreamingResponse,
AsyncPayStatementItemWithStreamingResponse,
)

__all__ = ["HRIS", "AsyncHRIS"]

Expand All @@ -77,6 +85,10 @@ class HRIS(SyncAPIResource):
def company(self) -> CompanyResource:
return CompanyResource(self._client)

@cached_property
def pay_statement_item(self) -> PayStatementItem:
return PayStatementItem(self._client)

@cached_property
def directory(self) -> Directory:
return Directory(self._client)
Expand Down Expand Up @@ -130,6 +142,10 @@ class AsyncHRIS(AsyncAPIResource):
def company(self) -> AsyncCompanyResource:
return AsyncCompanyResource(self._client)

@cached_property
def pay_statement_item(self) -> AsyncPayStatementItem:
return AsyncPayStatementItem(self._client)

@cached_property
def directory(self) -> AsyncDirectory:
return AsyncDirectory(self._client)
Expand Down Expand Up @@ -186,6 +202,10 @@ def __init__(self, hris: HRIS) -> None:
def company(self) -> CompanyResourceWithRawResponse:
return CompanyResourceWithRawResponse(self._hris.company)

@cached_property
def pay_statement_item(self) -> PayStatementItemWithRawResponse:
return PayStatementItemWithRawResponse(self._hris.pay_statement_item)

@cached_property
def directory(self) -> DirectoryWithRawResponse:
return DirectoryWithRawResponse(self._hris.directory)
Expand Down Expand Up @@ -223,6 +243,10 @@ def __init__(self, hris: AsyncHRIS) -> None:
def company(self) -> AsyncCompanyResourceWithRawResponse:
return AsyncCompanyResourceWithRawResponse(self._hris.company)

@cached_property
def pay_statement_item(self) -> AsyncPayStatementItemWithRawResponse:
return AsyncPayStatementItemWithRawResponse(self._hris.pay_statement_item)

@cached_property
def directory(self) -> AsyncDirectoryWithRawResponse:
return AsyncDirectoryWithRawResponse(self._hris.directory)
Expand Down Expand Up @@ -260,6 +284,10 @@ def __init__(self, hris: HRIS) -> None:
def company(self) -> CompanyResourceWithStreamingResponse:
return CompanyResourceWithStreamingResponse(self._hris.company)

@cached_property
def pay_statement_item(self) -> PayStatementItemWithStreamingResponse:
return PayStatementItemWithStreamingResponse(self._hris.pay_statement_item)

@cached_property
def directory(self) -> DirectoryWithStreamingResponse:
return DirectoryWithStreamingResponse(self._hris.directory)
Expand Down Expand Up @@ -297,6 +325,10 @@ def __init__(self, hris: AsyncHRIS) -> None:
def company(self) -> AsyncCompanyResourceWithStreamingResponse:
return AsyncCompanyResourceWithStreamingResponse(self._hris.company)

@cached_property
def pay_statement_item(self) -> AsyncPayStatementItemWithStreamingResponse:
return AsyncPayStatementItemWithStreamingResponse(self._hris.pay_statement_item)

@cached_property
def directory(self) -> AsyncDirectoryWithStreamingResponse:
return AsyncDirectoryWithStreamingResponse(self._hris.directory)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import httpx

from ..... import _legacy_response
from .... import _legacy_response
from .rules import (
Rules,
AsyncRules,
Expand All @@ -17,15 +17,15 @@
RulesWithStreamingResponse,
AsyncRulesWithStreamingResponse,
)
from ....._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ....._utils import maybe_transform
from ....._compat import cached_property
from ....._resource import SyncAPIResource, AsyncAPIResource
from ....._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
from .....pagination import SyncResponsesPage, AsyncResponsesPage
from ....._base_client import AsyncPaginator, make_request_options
from .....types.hris.company import pay_statement_item_list_params
from .....types.hris.company.pay_statement_item_list_response import PayStatementItemListResponse
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
from ...._utils import maybe_transform
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
from ....pagination import SyncResponsesPage, AsyncResponsesPage
from ....types.hris import pay_statement_item_list_params
from ...._base_client import AsyncPaginator, make_request_options
from ....types.hris.pay_statement_item_list_response import PayStatementItemListResponse

__all__ = ["PayStatementItem", "AsyncPayStatementItem"]

Expand Down
Loading