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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/finch-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -37,7 +37,7 @@ jobs:
build:
timeout-minutes: 5
name: build
runs-on: ${{ github.repository == 'stainless-sdks/finch-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
permissions:
contents: read
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/finch-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "10.3.0"
".": "10.4.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-166cc05754d8591beda094f4ee6f438f55d5f65d490ab364ea130c5100134375.yml
openapi_spec_hash: 4582a35bbe9fb5404d1e4f804c877fa8
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch/finch-bdcc610cd7d5dcb5d3d7598a33957dd673cb81f14ca5d8dc9d41fced4230f114.yml
openapi_spec_hash: 16dce00b8187a592fab5c88efc7bf7fc
config_hash: 9ae56f40cec7304896138bfad5caf748
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 10.4.0 (2026-07-17)

Full Changelog: [v10.3.0...v10.4.0](https://github.com/Finch-API/finch-api-node/compare/v10.3.0...v10.4.0)

### Features

* **api:** api update ([5fb5c12](https://github.com/Finch-API/finch-api-node/commit/5fb5c125557d63d4c5e1fc8a113ab6a0c4819f10))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([7bd08c2](https://github.com/Finch-API/finch-api-node/commit/7bd08c22033cf8a0aeda29bbf068012b62165544))

## 10.3.0 (2026-07-15)

Full Changelog: [v10.2.0...v10.3.0](https://github.com/Finch-API/finch-api-node/compare/v10.2.0...v10.3.0)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tryfinch/finch-api",
"version": "10.3.0",
"version": "10.4.0",
"description": "The official TypeScript library for the Finch API",
"author": "Finch <founders@tryfinch.com>",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp-server/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"dxt_version": "0.2",
"name": "@tryfinch/finch-api-mcp",
"version": "10.3.0",
"version": "10.4.0",
"description": "The official MCP Server for the Finch API",
"author": {
"name": "Finch",
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tryfinch/finch-api-mcp",
"version": "10.3.0",
"version": "10.4.0",
"description": "The official MCP Server for the Finch API",
"author": "Finch <founders@tryfinch.com>",
"types": "dist/index.d.ts",
Expand Down
25 changes: 15 additions & 10 deletions packages/mcp-server/src/local-docs-search.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/mcp-server/src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const newMcpServer = async ({
new McpServer(
{
name: 'tryfinch_finch_api_api',
version: '10.3.0',
version: '10.4.0',
},
{
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
Expand Down
23 changes: 23 additions & 0 deletions src/resources/hris/employments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,23 @@ export namespace EmploymentData {
*/
flsa_status: 'exempt' | 'non_exempt' | 'unknown' | null;

/**
* IRS flag indicating whether the employee is classified as a Highly Compensated
* Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
*/
highly_compensated_employee: boolean | null;

/**
* `true` if the individual an an active employee or contractor at the company.
*/
is_active: boolean | null;

/**
* IRS flag indicating whether the employee is classified as a Key Employee for
* top-heavy testing purposes. US-only.
*/
key_employee: boolean | null;

/**
* The legal last name of the individual.
*/
Expand All @@ -117,6 +129,17 @@ export namespace EmploymentData {
*/
title: string | null;

/**
* The code identifying the union the employee is a member of, as configured in the
* payroll system.
*/
union_code: string | null;

/**
* The local chapter or local number within the employee's union.
*/
union_local: string | null;

/**
* Custom fields for the individual. These are fields which are defined by the
* employer in the system. Custom fields are not currently supported for assisted
Expand Down
6 changes: 6 additions & 0 deletions src/resources/hris/individuals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ export namespace Individual {
*/
last_name: string | null;

/**
* The employee's marital status, used for beneficiary designation and spousal
* consent workflows.
*/
marital_status: 'single' | 'married' | 'divorced' | 'widowed' | 'domestic_partner' | 'unknown' | null;

/**
* The legal middle name of the individual.
*/
Expand Down
29 changes: 29 additions & 0 deletions src/resources/sandbox/directory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,12 @@ export namespace DirectoryCreateParams {
*/
gender?: 'female' | 'male' | 'other' | 'decline_to_specify' | null;

/**
* IRS flag indicating whether the employee is classified as a Highly Compensated
* Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
*/
highly_compensated_employee?: boolean | null;

/**
* 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,
Expand All @@ -137,6 +143,12 @@ export namespace DirectoryCreateParams {
*/
is_active?: boolean | null;

/**
* IRS flag indicating whether the employee is classified as a Key Employee for
* top-heavy testing purposes. US-only.
*/
key_employee?: boolean | null;

/**
* The legal last name of the individual.
*/
Expand All @@ -151,6 +163,12 @@ export namespace DirectoryCreateParams {
*/
manager?: Body.Manager | null;

/**
* The employee's marital status, used for beneficiary designation and spousal
* consent workflows.
*/
marital_status?: 'single' | 'married' | 'divorced' | 'widowed' | 'domestic_partner' | 'unknown' | null;

/**
* The legal middle name of the individual.
*/
Expand Down Expand Up @@ -184,6 +202,17 @@ export namespace DirectoryCreateParams {
* The current title of the individual.
*/
title?: string | null;

/**
* The code identifying the union the employee is a member of, as configured in the
* payroll system.
*/
union_code?: string | null;

/**
* The local chapter or local number within the employee's union.
*/
union_local?: string | null;
}

export namespace Body {
Expand Down
46 changes: 46 additions & 0 deletions src/resources/sandbox/employment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,12 @@ export interface EmploymentUpdateResponse {
*/
flsa_status?: 'exempt' | 'non_exempt' | 'unknown' | null;

/**
* IRS flag indicating whether the employee is classified as a Highly Compensated
* Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
*/
highly_compensated_employee?: boolean | null;

/**
* 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,
Expand All @@ -102,6 +108,12 @@ export interface EmploymentUpdateResponse {
*/
is_active?: boolean | null;

/**
* IRS flag indicating whether the employee is classified as a Key Employee for
* top-heavy testing purposes. US-only.
*/
key_employee?: boolean | null;

/**
* The legal last name of the individual.
*/
Expand Down Expand Up @@ -132,6 +144,17 @@ export interface EmploymentUpdateResponse {
* The current title of the individual.
*/
title?: string | null;

/**
* The code identifying the union the employee is a member of, as configured in the
* payroll system.
*/
union_code?: string | null;

/**
* The local chapter or local number within the employee's union.
*/
union_local?: string | null;
}

export namespace EmploymentUpdateResponse {
Expand Down Expand Up @@ -227,6 +250,12 @@ export interface EmploymentUpdateParams {
*/
flsa_status?: 'exempt' | 'non_exempt' | 'unknown' | null;

/**
* IRS flag indicating whether the employee is classified as a Highly Compensated
* Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
*/
highly_compensated_employee?: boolean | null;

/**
* 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,
Expand All @@ -244,6 +273,12 @@ export interface EmploymentUpdateParams {
*/
is_active?: boolean | null;

/**
* IRS flag indicating whether the employee is classified as a Key Employee for
* top-heavy testing purposes. US-only.
*/
key_employee?: boolean | null;

/**
* The legal last name of the individual.
*/
Expand Down Expand Up @@ -274,6 +309,17 @@ export interface EmploymentUpdateParams {
* The current title of the individual.
*/
title?: string | null;

/**
* The code identifying the union the employee is a member of, as configured in the
* payroll system.
*/
union_code?: string | null;

/**
* The local chapter or local number within the employee's union.
*/
union_local?: string | null;
}

export namespace EmploymentUpdateParams {
Expand Down
12 changes: 12 additions & 0 deletions src/resources/sandbox/individual.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ export interface IndividualUpdateResponse {
*/
last_name?: string | null;

/**
* The employee's marital status, used for beneficiary designation and spousal
* consent workflows.
*/
marital_status?: 'single' | 'married' | 'divorced' | 'widowed' | 'domestic_partner' | 'unknown' | null;

/**
* The legal middle name of the individual.
*/
Expand Down Expand Up @@ -154,6 +160,12 @@ export interface IndividualUpdateParams {
*/
last_name?: string | null;

/**
* The employee's marital status, used for beneficiary designation and spousal
* consent workflows.
*/
marital_status?: 'single' | 'married' | 'divorced' | 'widowed' | 'domestic_partner' | 'unknown' | null;

/**
* The legal middle name of the individual.
*/
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '10.3.0'; // x-release-please-version
export const VERSION = '10.4.0'; // x-release-please-version
5 changes: 5 additions & 0 deletions tests/api-resources/sandbox/directory.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ describe('resource directory', () => {
first_name: 'first_name',
flsa_status: 'exempt',
gender: 'female',
highly_compensated_employee: true,
income: {
amount: 0,
currency: 'currency',
Expand All @@ -56,6 +57,7 @@ describe('resource directory', () => {
},
],
is_active: true,
key_employee: true,
last_name: 'last_name',
latest_rehire_date: 'latest_rehire_date',
location: {
Expand All @@ -69,6 +71,7 @@ describe('resource directory', () => {
source_id: 'source_id',
},
manager: { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
marital_status: 'single',
middle_name: 'middle_name',
phone_numbers: [{ data: 'data', type: 'work' }],
preferred_name: 'preferred_name',
Expand All @@ -86,6 +89,8 @@ describe('resource directory', () => {
ssn: 'ssn',
start_date: 'start_date',
title: 'title',
union_code: 'union_code',
union_local: 'union_local',
},
],
},
Expand Down
4 changes: 4 additions & 0 deletions tests/api-resources/sandbox/employment.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ describe('resource employment', () => {
end_date: 'end_date',
first_name: 'first_name',
flsa_status: 'exempt',
highly_compensated_employee: true,
income: {
amount: 0,
currency: 'currency',
Expand All @@ -50,6 +51,7 @@ describe('resource employment', () => {
},
],
is_active: true,
key_employee: true,
last_name: 'last_name',
latest_rehire_date: 'latest_rehire_date',
location: {
Expand All @@ -67,6 +69,8 @@ describe('resource employment', () => {
source_id: 'source_id',
start_date: '3/4/2020',
title: 'title',
union_code: 'union_code',
union_local: 'union_local',
},
{ path: '/_stainless_unknown_path' },
),
Expand Down
1 change: 1 addition & 0 deletions tests/api-resources/sandbox/individual.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ describe('resource individual', () => {
first_name: 'first_name',
gender: 'female',
last_name: 'last_name',
marital_status: 'single',
middle_name: 'middle_name',
phone_numbers: [{ data: 'data', type: 'work' }],
preferred_name: 'preferred_name',
Expand Down
Loading