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 @@ -21,7 +21,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/finch-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: |-
github.repository == 'stainless-sdks/finch-ruby' &&
(github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/finch-ruby' && '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:
Expand All @@ -73,7 +73,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/finch-ruby' && '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 @@
{
".": "0.1.0-alpha.49"
".": "0.1.0-alpha.50"
}
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

## 0.1.0-alpha.50 (2026-07-17)

Full Changelog: [v0.1.0-alpha.49...v0.1.0-alpha.50](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.49...v0.1.0-alpha.50)

### Features

* **api:** api update ([043c5b5](https://github.com/Finch-API/finch-api-ruby/commit/043c5b520c2561f0f20d377cfa75c443b07b4bb6))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([ba8e0a7](https://github.com/Finch-API/finch-api-ruby/commit/ba8e0a7037b38eed4f688e413b0b001af0e31a26))

## 0.1.0-alpha.49 (2026-07-15)

Full Changelog: [v0.1.0-alpha.48...v0.1.0-alpha.49](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.48...v0.1.0-alpha.49)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
finch-api (0.1.0.pre.alpha.49)
finch-api (0.1.0.pre.alpha.50)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "finch-api", "~> 0.1.0.pre.alpha.49"
gem "finch-api", "~> 0.1.0.pre.alpha.50"
```

<!-- x-release-please-end -->
Expand Down
37 changes: 36 additions & 1 deletion lib/finch_api/models/hris/employment_data.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,26 @@ class EmploymentDataResponseBody < FinchAPI::Internal::Type::BaseModel
enum: -> { FinchAPI::HRIS::EmploymentData::EmploymentDataResponseBody::FlsaStatus },
nil?: true

# @!attribute highly_compensated_employee
# IRS flag indicating whether the employee is classified as a Highly Compensated
# Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
#
# @return [Boolean, nil]
required :highly_compensated_employee, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute is_active
# `true` if the individual an an active employee or contractor at the company.
#
# @return [Boolean, nil]
required :is_active, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute key_employee
# IRS flag indicating whether the employee is classified as a Key Employee for
# top-heavy testing purposes. US-only.
#
# @return [Boolean, nil]
required :key_employee, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute last_name
# The legal last name of the individual.
#
Expand Down Expand Up @@ -116,6 +130,19 @@ class EmploymentDataResponseBody < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
required :title, String, nil?: true

# @!attribute union_code
# The code identifying the union the employee is a member of, as configured in the
# payroll system.
#
# @return [String, nil]
required :union_code, String, nil?: true

# @!attribute union_local
# The local chapter or local number within the employee's union.
#
# @return [String, nil]
required :union_local, String, nil?: true

# @!attribute custom_fields
# 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 Expand Up @@ -158,7 +185,7 @@ class EmploymentDataResponseBody < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
optional :work_id, String, nil?: true

# @!method initialize(id:, class_code:, department:, employment:, employment_status:, end_date:, first_name:, flsa_status:, is_active:, last_name:, latest_rehire_date:, location:, manager:, middle_name:, start_date:, title:, custom_fields: nil, income: nil, income_history: nil, source_id: nil, work_id: nil)
# @!method initialize(id:, class_code:, department:, employment:, employment_status:, end_date:, first_name:, flsa_status:, highly_compensated_employee:, is_active:, key_employee:, last_name:, latest_rehire_date:, location:, manager:, middle_name:, start_date:, title:, union_code:, union_local:, custom_fields: nil, income: nil, income_history: nil, source_id: nil, work_id: nil)
# Some parameter documentations has been truncated, see
# {FinchAPI::Models::HRIS::EmploymentData::EmploymentDataResponseBody} for more
# details.
Expand All @@ -179,8 +206,12 @@ class EmploymentDataResponseBody < FinchAPI::Internal::Type::BaseModel
#
# @param flsa_status [Symbol, FinchAPI::Models::HRIS::EmploymentData::EmploymentDataResponseBody::FlsaStatus, nil] The FLSA status of the individual. Available options: `exempt`, `non_exempt`, `u
#
# @param highly_compensated_employee [Boolean, nil] IRS flag indicating whether the employee is classified as a Highly Compensated E
#
# @param is_active [Boolean, nil] `true` if the individual an an active employee or contractor at the company.
#
# @param key_employee [Boolean, nil] IRS flag indicating whether the employee is classified as a Key Employee for top
#
# @param last_name [String, nil] The legal last name of the individual.
#
# @param latest_rehire_date [String, nil]
Expand All @@ -195,6 +226,10 @@ class EmploymentDataResponseBody < FinchAPI::Internal::Type::BaseModel
#
# @param title [String, nil] The current title of the individual.
#
# @param union_code [String, nil] The code identifying the union the employee is a member of, as configured in the
#
# @param union_local [String, nil] The local chapter or local number within the employee's union.
#
# @param custom_fields [Array<FinchAPI::Models::HRIS::EmploymentData::EmploymentDataResponseBody::CustomField>, nil] Custom fields for the individual. These are fields which are defined by the empl
#
# @param income [FinchAPI::Models::Income, nil] The employee's income as reported by the provider. This may not always be annual
Expand Down
31 changes: 30 additions & 1 deletion lib/finch_api/models/hris/individual.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@ class IndividualResponseBody < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
required :last_name, String, nil?: true

# @!attribute marital_status
# The employee's marital status, used for beneficiary designation and spousal
# consent workflows.
#
# @return [Symbol, FinchAPI::Models::HRIS::Individual::IndividualResponseBody::MaritalStatus, nil]
required :marital_status,
enum: -> { FinchAPI::HRIS::Individual::IndividualResponseBody::MaritalStatus },
nil?: true

# @!attribute middle_name
# The legal middle name of the individual.
#
Expand Down Expand Up @@ -105,7 +114,7 @@ class IndividualResponseBody < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
optional :ssn, String, nil?: true

# @!method initialize(id:, dob:, ethnicity:, first_name:, gender:, last_name:, middle_name:, phone_numbers:, preferred_name:, residence:, emails: nil, encrypted_ssn: nil, ssn: nil)
# @!method initialize(id:, dob:, ethnicity:, first_name:, gender:, last_name:, marital_status:, middle_name:, phone_numbers:, preferred_name:, residence:, emails: nil, encrypted_ssn: nil, ssn: nil)
# Some parameter documentations has been truncated, see
# {FinchAPI::Models::HRIS::Individual::IndividualResponseBody} for more details.
#
Expand All @@ -121,6 +130,8 @@ class IndividualResponseBody < FinchAPI::Internal::Type::BaseModel
#
# @param last_name [String, nil] The legal last name of the individual.
#
# @param marital_status [Symbol, FinchAPI::Models::HRIS::Individual::IndividualResponseBody::MaritalStatus, nil] The employee's marital status, used for beneficiary designation and spousal cons
#
# @param middle_name [String, nil] The legal middle name of the individual.
#
# @param phone_numbers [Array<FinchAPI::Models::HRIS::Individual::IndividualResponseBody::PhoneNumber, nil>, nil]
Expand Down Expand Up @@ -169,6 +180,24 @@ module Gender
# @return [Array<Symbol>]
end

# The employee's marital status, used for beneficiary designation and spousal
# consent workflows.
#
# @see FinchAPI::Models::HRIS::Individual::IndividualResponseBody#marital_status
module MaritalStatus
extend FinchAPI::Internal::Type::Enum

SINGLE = :single
MARRIED = :married
DIVORCED = :divorced
WIDOWED = :widowed
DOMESTIC_PARTNER = :domestic_partner
UNKNOWN = :unknown

# @!method self.values
# @return [Array<Symbol>]
end

class PhoneNumber < FinchAPI::Internal::Type::BaseModel
# @!attribute data
#
Expand Down
66 changes: 65 additions & 1 deletion lib/finch_api/models/sandbox/directory_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@ class Body < FinchAPI::Internal::Type::BaseModel
# @return [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::Gender, nil]
optional :gender, enum: -> { FinchAPI::Sandbox::DirectoryCreateParams::Body::Gender }, nil?: true

# @!attribute highly_compensated_employee
# IRS flag indicating whether the employee is classified as a Highly Compensated
# Employee for nondiscrimination testing purposes (ADP/ACP tests). US-only.
#
# @return [Boolean, nil]
optional :highly_compensated_employee, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute income
# 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 @@ -144,6 +151,13 @@ class Body < FinchAPI::Internal::Type::BaseModel
# @return [Boolean, nil]
optional :is_active, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute key_employee
# IRS flag indicating whether the employee is classified as a Key Employee for
# top-heavy testing purposes. US-only.
#
# @return [Boolean, nil]
optional :key_employee, FinchAPI::Internal::Type::Boolean, nil?: true

# @!attribute last_name
# The legal last name of the individual.
#
Expand All @@ -166,6 +180,15 @@ class Body < FinchAPI::Internal::Type::BaseModel
# @return [FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::Manager, nil]
optional :manager, -> { FinchAPI::Sandbox::DirectoryCreateParams::Body::Manager }, nil?: true

# @!attribute marital_status
# The employee's marital status, used for beneficiary designation and spousal
# consent workflows.
#
# @return [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::MaritalStatus, nil]
optional :marital_status,
enum: -> { FinchAPI::Sandbox::DirectoryCreateParams::Body::MaritalStatus },
nil?: true

# @!attribute middle_name
# The legal middle name of the individual.
#
Expand Down Expand Up @@ -219,7 +242,20 @@ class Body < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
optional :title, String, nil?: true

# @!method initialize(class_code: nil, custom_fields: nil, department: nil, dob: nil, emails: nil, employment: nil, employment_status: nil, encrypted_ssn: nil, end_date: nil, ethnicity: nil, first_name: nil, flsa_status: nil, gender: nil, income: nil, income_history: nil, is_active: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, source_id: nil, ssn: nil, start_date: nil, title: nil)
# @!attribute union_code
# The code identifying the union the employee is a member of, as configured in the
# payroll system.
#
# @return [String, nil]
optional :union_code, String, nil?: true

# @!attribute union_local
# The local chapter or local number within the employee's union.
#
# @return [String, nil]
optional :union_local, String, nil?: true

# @!method initialize(class_code: nil, custom_fields: nil, department: nil, dob: nil, emails: nil, employment: nil, employment_status: nil, encrypted_ssn: nil, end_date: nil, ethnicity: nil, first_name: nil, flsa_status: nil, gender: nil, highly_compensated_employee: nil, income: nil, income_history: nil, is_active: nil, key_employee: nil, last_name: nil, latest_rehire_date: nil, location: nil, manager: nil, marital_status: nil, middle_name: nil, phone_numbers: nil, preferred_name: nil, residence: nil, source_id: nil, ssn: nil, start_date: nil, title: nil, union_code: nil, union_local: nil)
# Some parameter documentations has been truncated, see
# {FinchAPI::Models::Sandbox::DirectoryCreateParams::Body} for more details.
#
Expand Down Expand Up @@ -249,12 +285,16 @@ class Body < FinchAPI::Internal::Type::BaseModel
#
# @param gender [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::Gender, nil] The gender of the individual.
#
# @param highly_compensated_employee [Boolean, nil] IRS flag indicating whether the employee is classified as a Highly Compensated E
#
# @param income [FinchAPI::Models::Income, nil] The employee's income as reported by the provider. This may not always be annual
#
# @param income_history [Array<FinchAPI::Models::Income, nil>, nil] The array of income history.
#
# @param is_active [Boolean, nil] `true` if the individual an an active employee or contractor at the company.
#
# @param key_employee [Boolean, nil] IRS flag indicating whether the employee is classified as a Key Employee for top
#
# @param last_name [String, nil] The legal last name of the individual.
#
# @param latest_rehire_date [String, nil]
Expand All @@ -263,6 +303,8 @@ class Body < FinchAPI::Internal::Type::BaseModel
#
# @param manager [FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::Manager, nil] The manager object representing the manager of the individual within the org.
#
# @param marital_status [Symbol, FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::MaritalStatus, nil] The employee's marital status, used for beneficiary designation and spousal cons
#
# @param middle_name [String, nil] The legal middle name of the individual.
#
# @param phone_numbers [Array<FinchAPI::Models::Sandbox::DirectoryCreateParams::Body::PhoneNumber, nil>, nil]
Expand All @@ -278,6 +320,10 @@ class Body < FinchAPI::Internal::Type::BaseModel
# @param start_date [String, nil]
#
# @param title [String, nil] The current title of the individual.
#
# @param union_code [String, nil] The code identifying the union the employee is a member of, as configured in the
#
# @param union_local [String, nil] The local chapter or local number within the employee's union.

class CustomField < FinchAPI::Internal::Type::BaseModel
# @!attribute name
Expand Down Expand Up @@ -508,6 +554,24 @@ class Manager < FinchAPI::Internal::Type::BaseModel
# @param id [String] A stable Finch `id` (UUID v4) for an individual in the company.
end

# The employee's marital status, used for beneficiary designation and spousal
# consent workflows.
#
# @see FinchAPI::Models::Sandbox::DirectoryCreateParams::Body#marital_status
module MaritalStatus
extend FinchAPI::Internal::Type::Enum

SINGLE = :single
MARRIED = :married
DIVORCED = :divorced
WIDOWED = :widowed
DOMESTIC_PARTNER = :domestic_partner
UNKNOWN = :unknown

# @!method self.values
# @return [Array<Symbol>]
end

class PhoneNumber < FinchAPI::Internal::Type::BaseModel
# @!attribute data
#
Expand Down
Loading