fern_gusto 0.0.6.pre.alpha6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/base_gusto.rb +175 -0
- data/lib/core/file_utilities.rb +27 -0
- data/lib/environment.rb +9 -0
- data/lib/fern_gusto/ach_transactions/client.rb +119 -0
- data/lib/fern_gusto/admins/types/admin.rb +82 -0
- data/lib/fern_gusto/companies/attachments/client.rb +335 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
- data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
- data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
- data/lib/fern_gusto/companies/benefits/client.rb +862 -0
- data/lib/fern_gusto/companies/client.rb +1104 -0
- data/lib/fern_gusto/companies/departments/client.rb +587 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/employees/client.rb +376 -0
- data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
- data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
- data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
- data/lib/fern_gusto/companies/forms/client.rb +345 -0
- data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
- data/lib/fern_gusto/companies/locations/client.rb +417 -0
- data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
- data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
- data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
- data/lib/fern_gusto/companies/signatories/client.rb +513 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
- data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
- data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
- data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
- data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
- data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/company.rb +223 -0
- data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
- data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
- data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
- data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
- data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
- data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
- data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
- data/lib/fern_gusto/contractors/client.rb +1025 -0
- data/lib/fern_gusto/contractors/documents/client.rb +269 -0
- data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
- data/lib/fern_gusto/contractors/forms/client.rb +343 -0
- data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
- data/lib/fern_gusto/contractors/payments/client.rb +558 -0
- data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
- data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
- data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
- data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
- data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
- data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
- data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
- data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
- data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
- data/lib/fern_gusto/documents/types/document.rb +167 -0
- data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
- data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
- data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
- data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
- data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
- data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
- data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
- data/lib/fern_gusto/employees/adresses/client.rb +885 -0
- data/lib/fern_gusto/employees/benefits/client.rb +656 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/client.rb +822 -0
- data/lib/fern_gusto/employees/employments/client.rb +799 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/forms/client.rb +433 -0
- data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
- data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
- data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
- data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
- data/lib/fern_gusto/employees/types/employee.rb +281 -0
- data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
- data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
- data/lib/fern_gusto/events/client.rb +144 -0
- data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
- data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
- data/lib/fern_gusto/flows/client.rb +113 -0
- data/lib/fern_gusto/flows/types/flow.rb +66 -0
- data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
- data/lib/fern_gusto/forms/types/form.rb +123 -0
- data/lib/fern_gusto/forms/types/form1099.rb +126 -0
- data/lib/fern_gusto/generated_documents/client.rb +106 -0
- data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/industry/types/industry.rb +87 -0
- data/lib/fern_gusto/invoices/client.rb +132 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
- data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
- data/lib/fern_gusto/locations/types/company_address.rb +103 -0
- data/lib/fern_gusto/locations/types/location.rb +171 -0
- data/lib/fern_gusto/notifications/client.rb +120 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
- data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
- data/lib/fern_gusto/payroll/client.rb +1644 -0
- data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
- data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
- data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
- data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
- data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
- data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
- data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
- data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
- data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
- data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
- data/lib/fern_gusto/recovery_cases/client.rb +198 -0
- data/lib/fern_gusto/reports/client.rb +306 -0
- data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
- data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
- data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
- data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
- data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
- data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
- data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
- data/lib/fern_gusto/terminations/types/termination.rb +109 -0
- data/lib/fern_gusto/time_off_policies/client.rb +863 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
- data/lib/fern_gusto/token/client.rb +270 -0
- data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
- data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
- data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
- data/lib/fern_gusto/types/ach_transaction.rb +162 -0
- data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
- data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
- data/lib/fern_gusto/types/address.rb +111 -0
- data/lib/fern_gusto/types/authentication.rb +96 -0
- data/lib/fern_gusto/types/child_support_data.rb +58 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
- data/lib/fern_gusto/types/company_benefit.rb +135 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
- data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
- data/lib/fern_gusto/types/contractor_body.rb +200 -0
- data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
- data/lib/fern_gusto/types/create_report.rb +77 -0
- data/lib/fern_gusto/types/department.rb +103 -0
- data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
- data/lib/fern_gusto/types/department_employees_item.rb +53 -0
- data/lib/fern_gusto/types/document_pdf.rb +63 -0
- data/lib/fern_gusto/types/employee_address.rb +139 -0
- data/lib/fern_gusto/types/employee_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
- data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_work_address.rb +137 -0
- data/lib/fern_gusto/types/entity_error_object.rb +102 -0
- data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
- data/lib/fern_gusto/types/event.rb +99 -0
- data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
- data/lib/fern_gusto/types/form_pdf.rb +63 -0
- data/lib/fern_gusto/types/garnishment.rb +172 -0
- data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
- data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
- data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
- data/lib/fern_gusto/types/generated_document.rb +70 -0
- data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
- data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
- data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
- data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
- data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
- data/lib/fern_gusto/types/invoice_data.rb +58 -0
- data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
- data/lib/fern_gusto/types/minimum_wage.rb +96 -0
- data/lib/fern_gusto/types/notification.rb +125 -0
- data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
- data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
- data/lib/fern_gusto/types/paid_holidays.rb +61 -0
- data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
- data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
- data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
- data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
- data/lib/fern_gusto/types/payroll_check.rb +84 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
- data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
- data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
- data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
- data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
- data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
- data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
- data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
- data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
- data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
- data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
- data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
- data/lib/fern_gusto/types/recovery_case.rb +131 -0
- data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
- data/lib/fern_gusto/types/rehire.rb +116 -0
- data/lib/fern_gusto/types/rehire_body.rb +91 -0
- data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
- data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
- data/lib/fern_gusto/types/report.rb +72 -0
- data/lib/fern_gusto/types/report_template.rb +77 -0
- data/lib/fern_gusto/types/supported_benefit.rb +122 -0
- data/lib/fern_gusto/types/tax_requirement.rb +111 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
- data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
- data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
- data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
- data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
- data/lib/fern_gusto/types/time_off_activity.rb +107 -0
- data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
- data/lib/fern_gusto/types/time_off_policy.rb +183 -0
- data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
- data/lib/fern_gusto/types/versionable.rb +57 -0
- data/lib/fern_gusto/types/versionable_required.rb +55 -0
- data/lib/fern_gusto/types/wire_in_request.rb +170 -0
- data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
- data/lib/fern_gusto/webhooks/client.rb +627 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
- data/lib/fern_gusto.rb +310 -0
- data/lib/gemconfig.rb +13 -0
- data/lib/gusto_legacy.rb +19 -0
- data/lib/requests.rb +206 -0
- data/lib/types_export.rb +461 -0
- metadata +671 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Employees
|
5
|
+
module PaymentMethod
|
6
|
+
# Describes how the payment will be split. If split_by is Percentage, then the
|
7
|
+
# split amounts must add up to exactly 100. If split_by is Amount, then the last
|
8
|
+
# split amount must be nil to capture the remainder.
|
9
|
+
class PaymentMethodUpdateRequestSplitBy
|
10
|
+
|
11
|
+
AMOUNT = "Amount"
|
12
|
+
PERCENTAGE = "Percentage"
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
module Employees
|
7
|
+
module PaymentMethod
|
8
|
+
class PaymentMethodUpdateRequestSplitsItem
|
9
|
+
# @return [String] The bank account ID
|
10
|
+
attr_reader :uuid
|
11
|
+
# @return [String] The bank account name
|
12
|
+
attr_reader :name
|
13
|
+
# @return [Integer] The order of priority for each payment split, with priority 1 being the first
|
14
|
+
# bank account paid. Priority must be unique and sequential.
|
15
|
+
attr_reader :priority
|
16
|
+
# @return [Integer] The cents amount allocated for each payment split
|
17
|
+
attr_reader :split_amount
|
18
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
19
|
+
attr_reader :additional_properties
|
20
|
+
# @return [Object]
|
21
|
+
attr_reader :_field_set
|
22
|
+
protected :_field_set
|
23
|
+
|
24
|
+
OMIT = Object.new
|
25
|
+
|
26
|
+
# @param uuid [String] The bank account ID
|
27
|
+
# @param name [String] The bank account name
|
28
|
+
# @param priority [Integer] The order of priority for each payment split, with priority 1 being the first
|
29
|
+
# bank account paid. Priority must be unique and sequential.
|
30
|
+
# @param split_amount [Integer] The cents amount allocated for each payment split
|
31
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
32
|
+
# @return [Gusto::Employees::PaymentMethod::PaymentMethodUpdateRequestSplitsItem]
|
33
|
+
def initialize(uuid: OMIT, name: OMIT, priority: OMIT, split_amount: OMIT, additional_properties: nil)
|
34
|
+
@uuid = uuid if uuid != OMIT
|
35
|
+
@name = name if name != OMIT
|
36
|
+
@priority = priority if priority != OMIT
|
37
|
+
@split_amount = split_amount if split_amount != OMIT
|
38
|
+
@additional_properties = additional_properties
|
39
|
+
@_field_set = { "uuid": uuid, "name": name, "priority": priority, "split_amount": split_amount }.reject do | _k, v |
|
40
|
+
v == OMIT
|
41
|
+
end
|
42
|
+
end
|
43
|
+
# Deserialize a JSON object to an instance of PaymentMethodUpdateRequestSplitsItem
|
44
|
+
#
|
45
|
+
# @param json_object [String]
|
46
|
+
# @return [Gusto::Employees::PaymentMethod::PaymentMethodUpdateRequestSplitsItem]
|
47
|
+
def self.from_json(json_object:)
|
48
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
49
|
+
parsed_json = JSON.parse(json_object)
|
50
|
+
uuid = parsed_json["uuid"]
|
51
|
+
name = parsed_json["name"]
|
52
|
+
priority = parsed_json["priority"]
|
53
|
+
split_amount = parsed_json["split_amount"]
|
54
|
+
new(
|
55
|
+
uuid: uuid,
|
56
|
+
name: name,
|
57
|
+
priority: priority,
|
58
|
+
split_amount: split_amount,
|
59
|
+
additional_properties: struct
|
60
|
+
)
|
61
|
+
end
|
62
|
+
# Serialize an instance of PaymentMethodUpdateRequestSplitsItem to a JSON object
|
63
|
+
#
|
64
|
+
# @return [String]
|
65
|
+
def to_json
|
66
|
+
@_field_set&.to_json
|
67
|
+
end
|
68
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
69
|
+
# hash and check each fields type against the current object's property
|
70
|
+
# definitions.
|
71
|
+
#
|
72
|
+
# @param obj [Object]
|
73
|
+
# @return [Void]
|
74
|
+
def self.validate_raw(obj:)
|
75
|
+
obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
76
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
77
|
+
obj.priority&.is_a?(Integer) != false || raise("Passed value for field obj.priority is not the expected type, validation failed.")
|
78
|
+
obj.split_amount&.is_a?(Integer) != false || raise("Passed value for field obj.split_amount is not the expected type, validation failed.")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Employees
|
5
|
+
module PaymentMethod
|
6
|
+
# The payment method type. If type is Check, then split_by and splits do not need
|
7
|
+
# to be populated. If type is Direct Deposit, split_by and splits are required.
|
8
|
+
class PaymentMethodUpdateRequestType
|
9
|
+
|
10
|
+
DIRECT_DEPOSIT = "Direct Deposit"
|
11
|
+
CHECK = "Check"
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,422 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../../requests"
|
3
|
+
require_relative "../../employee_tax_setup/types/employee_federal_tax"
|
4
|
+
require_relative "../../employee_tax_setup/types/employee_state_tax"
|
5
|
+
require "json"
|
6
|
+
require_relative "types/tax_setup_update_state_taxes_request_states_item"
|
7
|
+
require "async"
|
8
|
+
require "async"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require_relative "../../../requests"
|
12
|
+
|
13
|
+
module Gusto
|
14
|
+
module Employees
|
15
|
+
class TaxSetupClient
|
16
|
+
# @return [Gusto::RequestClient]
|
17
|
+
attr_reader :request_client
|
18
|
+
|
19
|
+
|
20
|
+
# @param request_client [Gusto::RequestClient]
|
21
|
+
# @return [Gusto::Employees::TaxSetupClient]
|
22
|
+
def initialize(request_client:)
|
23
|
+
@request_client = request_client
|
24
|
+
end
|
25
|
+
# Get attributes relevant for an employee's federal taxes.
|
26
|
+
# scope: `employee_federal_taxes:read`
|
27
|
+
#
|
28
|
+
# @param employee_uuid [String] The UUID of the employee
|
29
|
+
# @param request_options [Gusto::RequestOptions]
|
30
|
+
# @return [Gusto::EmployeeTaxSetup::EmployeeFederalTax]
|
31
|
+
# @example
|
32
|
+
# api = Gusto::Client.new(
|
33
|
+
# base_url: "https://api.example.com",
|
34
|
+
# environment: Gusto::Environment::DEMO,
|
35
|
+
# token: "YOUR_AUTH_TOKEN"
|
36
|
+
# )
|
37
|
+
# api.employees.tax_setup.get_federal_taxes(employee_uuid: "employee_uuid")
|
38
|
+
def get_federal_taxes(employee_uuid:, request_options: nil)
|
39
|
+
response = @request_client.conn.get do | req |
|
40
|
+
unless request_options&.timeout_in_seconds.nil?
|
41
|
+
req.options.timeout = request_options.timeout_in_seconds
|
42
|
+
end
|
43
|
+
unless request_options&.token.nil?
|
44
|
+
req.headers["Authorization"] = request_options.token
|
45
|
+
end
|
46
|
+
unless request_options&.gusto_api_version.nil?
|
47
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
48
|
+
end
|
49
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
50
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
51
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
52
|
+
end
|
53
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
54
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
55
|
+
end
|
56
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/federal_taxes"
|
57
|
+
end
|
58
|
+
Gusto::EmployeeTaxSetup::EmployeeFederalTax.from_json(json_object: response.body)
|
59
|
+
end
|
60
|
+
# Update attributes relevant for an employee's federal taxes.
|
61
|
+
# scope: `employee_federal_taxes:write`
|
62
|
+
#
|
63
|
+
# @param employee_uuid [String] The UUID of the employee
|
64
|
+
# @param version [String] The current version of the object. See the [versioning
|
65
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
66
|
+
# information on how to use this field.
|
67
|
+
# @param filing_status [String]
|
68
|
+
# @param extra_withholding [String]
|
69
|
+
# @param two_jobs [Boolean]
|
70
|
+
# @param dependents_amount [String]
|
71
|
+
# @param other_income [String]
|
72
|
+
# @param deductions [String]
|
73
|
+
# @param w4data_type [String]
|
74
|
+
# @param request_options [Gusto::RequestOptions]
|
75
|
+
# @return [Gusto::EmployeeTaxSetup::EmployeeFederalTax]
|
76
|
+
# @example
|
77
|
+
# api = Gusto::Client.new(
|
78
|
+
# base_url: "https://api.example.com",
|
79
|
+
# environment: Gusto::Environment::DEMO,
|
80
|
+
# token: "YOUR_AUTH_TOKEN"
|
81
|
+
# )
|
82
|
+
# api.employees.tax_setup.update_federal_taxes(
|
83
|
+
# employee_uuid: "employee_uuid",
|
84
|
+
# version: "56a489ce86ed6c1b0f0cecc4050a0b01",
|
85
|
+
# filing_status: "Single",
|
86
|
+
# extra_withholding: "0.0",
|
87
|
+
# two_jobs: true,
|
88
|
+
# dependents_amount: "0.0",
|
89
|
+
# other_income: "0.0",
|
90
|
+
# deductions: "0.0",
|
91
|
+
# w4data_type: "rev_2020_w4"
|
92
|
+
# )
|
93
|
+
def update_federal_taxes(employee_uuid:, version:, filing_status: nil, extra_withholding: nil, two_jobs: nil, dependents_amount: nil, other_income: nil, deductions: nil, w4data_type: nil, request_options: nil)
|
94
|
+
response = @request_client.conn.put do | req |
|
95
|
+
unless request_options&.timeout_in_seconds.nil?
|
96
|
+
req.options.timeout = request_options.timeout_in_seconds
|
97
|
+
end
|
98
|
+
unless request_options&.token.nil?
|
99
|
+
req.headers["Authorization"] = request_options.token
|
100
|
+
end
|
101
|
+
unless request_options&.gusto_api_version.nil?
|
102
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
103
|
+
end
|
104
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
105
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
106
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
107
|
+
end
|
108
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, filing_status: filing_status, extra_withholding: extra_withholding, two_jobs: two_jobs, dependents_amount: dependents_amount, other_income: other_income, deductions: deductions, w4_data_type: w4data_type }.compact
|
109
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/federal_taxes"
|
110
|
+
end
|
111
|
+
Gusto::EmployeeTaxSetup::EmployeeFederalTax.from_json(json_object: response.body)
|
112
|
+
end
|
113
|
+
# Get attributes relevant for an employee's state taxes.
|
114
|
+
# The data required to correctly calculate an employee's state taxes varies by
|
115
|
+
# both home and work location. This API returns information about each question
|
116
|
+
# that must be answered grouped by state. Mostly commonly, an employee lives and
|
117
|
+
# works in the same state and will only have questions for a single state. The
|
118
|
+
# response contains metadata about each question, the type of answer expected, and
|
119
|
+
# the current answer stored in Gusto for that question.
|
120
|
+
# Answers are represented by an array. Today, this array can only be empty or
|
121
|
+
# contain exactly one element, but is designed to allow for forward compatibility
|
122
|
+
# with effective-dated fields. Until effective dated answers are supported, the
|
123
|
+
# `valid_from` and `valid_up_to` must always be `"2010-01-01"` and `null`
|
124
|
+
# respectively.
|
125
|
+
# ## About filing new hire reports
|
126
|
+
# Payroll Admins are responsible for filing a new hire report for each Employee.
|
127
|
+
# The `file_new_hire_report` question will only be listed if:
|
128
|
+
# - the `employee.onboarding_status` is one of the following:
|
129
|
+
# - `admin_onboarding_incomplete`
|
130
|
+
# - `self_onboarding_awaiting_admin_review`
|
131
|
+
# - that employee's work state requires filing a new hire report
|
132
|
+
# scope: `employee_state_taxes:read`
|
133
|
+
#
|
134
|
+
# @param employee_uuid [String] The UUID of the employee
|
135
|
+
# @param request_options [Gusto::RequestOptions]
|
136
|
+
# @return [Array<Gusto::EmployeeTaxSetup::EmployeeStateTax>]
|
137
|
+
# @example
|
138
|
+
# api = Gusto::Client.new(
|
139
|
+
# base_url: "https://api.example.com",
|
140
|
+
# environment: Gusto::Environment::DEMO,
|
141
|
+
# token: "YOUR_AUTH_TOKEN"
|
142
|
+
# )
|
143
|
+
# api.employees.tax_setup.get_state_taxes(employee_uuid: "employee_uuid")
|
144
|
+
def get_state_taxes(employee_uuid:, request_options: nil)
|
145
|
+
response = @request_client.conn.get do | req |
|
146
|
+
unless request_options&.timeout_in_seconds.nil?
|
147
|
+
req.options.timeout = request_options.timeout_in_seconds
|
148
|
+
end
|
149
|
+
unless request_options&.token.nil?
|
150
|
+
req.headers["Authorization"] = request_options.token
|
151
|
+
end
|
152
|
+
unless request_options&.gusto_api_version.nil?
|
153
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
154
|
+
end
|
155
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
156
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
157
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
158
|
+
end
|
159
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
160
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
161
|
+
end
|
162
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/state_taxes"
|
163
|
+
end
|
164
|
+
parsed_json = JSON.parse(response.body)
|
165
|
+
parsed_json&.map do | item |
|
166
|
+
item = item.to_json
|
167
|
+
Gusto::EmployeeTaxSetup::EmployeeStateTax.from_json(json_object: item)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
# Update attributes relevant for an employee's state taxes.
|
171
|
+
# As described for the GET endpoint, the answers must be supplied in the
|
172
|
+
# effective-dated format, but currently only a single answer will be accepted -
|
173
|
+
# `valid_from` and `valid_up_to` must be `"2010-01-01"` and `null` respectively.
|
174
|
+
# scope: `employee_state_taxes:write`
|
175
|
+
#
|
176
|
+
# @param employee_uuid [String] The UUID of the employee
|
177
|
+
# @param states [Array<Hash>] Request of type Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItem>, as a Hash
|
178
|
+
# * :state (String)
|
179
|
+
# * :questions (Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem>)
|
180
|
+
# @param request_options [Gusto::RequestOptions]
|
181
|
+
# @return [Array<Gusto::EmployeeTaxSetup::EmployeeStateTax>]
|
182
|
+
# @example
|
183
|
+
# api = Gusto::Client.new(
|
184
|
+
# base_url: "https://api.example.com",
|
185
|
+
# environment: Gusto::Environment::DEMO,
|
186
|
+
# token: "YOUR_AUTH_TOKEN"
|
187
|
+
# )
|
188
|
+
# api.employees.tax_setup.update_state_taxes(employee_uuid: "employee_uuid", states: [{ state: "CA", questions: [{ key: "filing_status", answers: [{ value: "M", valid_from: "2010-01-01" }] }, { key: "withholding_allowance", answers: [{ value: "value", valid_from: "2010-01-01" }] }, { key: "additional_withholding", answers: [{ value: "25.0", valid_from: "2010-01-01" }] }, { key: "file_new_hire_report", answers: [{ value: "value", valid_from: "2010-01-01" }] }] }])
|
189
|
+
def update_state_taxes(employee_uuid:, states:, request_options: nil)
|
190
|
+
response = @request_client.conn.put do | req |
|
191
|
+
unless request_options&.timeout_in_seconds.nil?
|
192
|
+
req.options.timeout = request_options.timeout_in_seconds
|
193
|
+
end
|
194
|
+
unless request_options&.token.nil?
|
195
|
+
req.headers["Authorization"] = request_options.token
|
196
|
+
end
|
197
|
+
unless request_options&.gusto_api_version.nil?
|
198
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
199
|
+
end
|
200
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
201
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
202
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
203
|
+
end
|
204
|
+
req.body = { **(request_options&.additional_body_parameters || {}), states: states }.compact
|
205
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/state_taxes"
|
206
|
+
end
|
207
|
+
parsed_json = JSON.parse(response.body)
|
208
|
+
parsed_json&.map do | item |
|
209
|
+
item = item.to_json
|
210
|
+
Gusto::EmployeeTaxSetup::EmployeeStateTax.from_json(json_object: item)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
class AsyncTaxSetupClient
|
215
|
+
# @return [Gusto::AsyncRequestClient]
|
216
|
+
attr_reader :request_client
|
217
|
+
|
218
|
+
|
219
|
+
# @param request_client [Gusto::RequestClient]
|
220
|
+
# @return [Gusto::Employees::AsyncTaxSetupClient]
|
221
|
+
def initialize(request_client:)
|
222
|
+
@request_client = request_client
|
223
|
+
end
|
224
|
+
# Get attributes relevant for an employee's federal taxes.
|
225
|
+
# scope: `employee_federal_taxes:read`
|
226
|
+
#
|
227
|
+
# @param employee_uuid [String] The UUID of the employee
|
228
|
+
# @param request_options [Gusto::RequestOptions]
|
229
|
+
# @return [Gusto::EmployeeTaxSetup::EmployeeFederalTax]
|
230
|
+
# @example
|
231
|
+
# api = Gusto::Client.new(
|
232
|
+
# base_url: "https://api.example.com",
|
233
|
+
# environment: Gusto::Environment::DEMO,
|
234
|
+
# token: "YOUR_AUTH_TOKEN"
|
235
|
+
# )
|
236
|
+
# api.employees.tax_setup.get_federal_taxes(employee_uuid: "employee_uuid")
|
237
|
+
def get_federal_taxes(employee_uuid:, request_options: nil)
|
238
|
+
Async do
|
239
|
+
response = @request_client.conn.get do | req |
|
240
|
+
unless request_options&.timeout_in_seconds.nil?
|
241
|
+
req.options.timeout = request_options.timeout_in_seconds
|
242
|
+
end
|
243
|
+
unless request_options&.token.nil?
|
244
|
+
req.headers["Authorization"] = request_options.token
|
245
|
+
end
|
246
|
+
unless request_options&.gusto_api_version.nil?
|
247
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
248
|
+
end
|
249
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
250
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
251
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
252
|
+
end
|
253
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
254
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
255
|
+
end
|
256
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/federal_taxes"
|
257
|
+
end
|
258
|
+
Gusto::EmployeeTaxSetup::EmployeeFederalTax.from_json(json_object: response.body)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
# Update attributes relevant for an employee's federal taxes.
|
262
|
+
# scope: `employee_federal_taxes:write`
|
263
|
+
#
|
264
|
+
# @param employee_uuid [String] The UUID of the employee
|
265
|
+
# @param version [String] The current version of the object. See the [versioning
|
266
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
267
|
+
# information on how to use this field.
|
268
|
+
# @param filing_status [String]
|
269
|
+
# @param extra_withholding [String]
|
270
|
+
# @param two_jobs [Boolean]
|
271
|
+
# @param dependents_amount [String]
|
272
|
+
# @param other_income [String]
|
273
|
+
# @param deductions [String]
|
274
|
+
# @param w4data_type [String]
|
275
|
+
# @param request_options [Gusto::RequestOptions]
|
276
|
+
# @return [Gusto::EmployeeTaxSetup::EmployeeFederalTax]
|
277
|
+
# @example
|
278
|
+
# api = Gusto::Client.new(
|
279
|
+
# base_url: "https://api.example.com",
|
280
|
+
# environment: Gusto::Environment::DEMO,
|
281
|
+
# token: "YOUR_AUTH_TOKEN"
|
282
|
+
# )
|
283
|
+
# api.employees.tax_setup.update_federal_taxes(
|
284
|
+
# employee_uuid: "employee_uuid",
|
285
|
+
# version: "56a489ce86ed6c1b0f0cecc4050a0b01",
|
286
|
+
# filing_status: "Single",
|
287
|
+
# extra_withholding: "0.0",
|
288
|
+
# two_jobs: true,
|
289
|
+
# dependents_amount: "0.0",
|
290
|
+
# other_income: "0.0",
|
291
|
+
# deductions: "0.0",
|
292
|
+
# w4data_type: "rev_2020_w4"
|
293
|
+
# )
|
294
|
+
def update_federal_taxes(employee_uuid:, version:, filing_status: nil, extra_withholding: nil, two_jobs: nil, dependents_amount: nil, other_income: nil, deductions: nil, w4data_type: nil, request_options: nil)
|
295
|
+
Async do
|
296
|
+
response = @request_client.conn.put do | req |
|
297
|
+
unless request_options&.timeout_in_seconds.nil?
|
298
|
+
req.options.timeout = request_options.timeout_in_seconds
|
299
|
+
end
|
300
|
+
unless request_options&.token.nil?
|
301
|
+
req.headers["Authorization"] = request_options.token
|
302
|
+
end
|
303
|
+
unless request_options&.gusto_api_version.nil?
|
304
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
305
|
+
end
|
306
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
307
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
308
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
309
|
+
end
|
310
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, filing_status: filing_status, extra_withholding: extra_withholding, two_jobs: two_jobs, dependents_amount: dependents_amount, other_income: other_income, deductions: deductions, w4_data_type: w4data_type }.compact
|
311
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/federal_taxes"
|
312
|
+
end
|
313
|
+
Gusto::EmployeeTaxSetup::EmployeeFederalTax.from_json(json_object: response.body)
|
314
|
+
end
|
315
|
+
end
|
316
|
+
# Get attributes relevant for an employee's state taxes.
|
317
|
+
# The data required to correctly calculate an employee's state taxes varies by
|
318
|
+
# both home and work location. This API returns information about each question
|
319
|
+
# that must be answered grouped by state. Mostly commonly, an employee lives and
|
320
|
+
# works in the same state and will only have questions for a single state. The
|
321
|
+
# response contains metadata about each question, the type of answer expected, and
|
322
|
+
# the current answer stored in Gusto for that question.
|
323
|
+
# Answers are represented by an array. Today, this array can only be empty or
|
324
|
+
# contain exactly one element, but is designed to allow for forward compatibility
|
325
|
+
# with effective-dated fields. Until effective dated answers are supported, the
|
326
|
+
# `valid_from` and `valid_up_to` must always be `"2010-01-01"` and `null`
|
327
|
+
# respectively.
|
328
|
+
# ## About filing new hire reports
|
329
|
+
# Payroll Admins are responsible for filing a new hire report for each Employee.
|
330
|
+
# The `file_new_hire_report` question will only be listed if:
|
331
|
+
# - the `employee.onboarding_status` is one of the following:
|
332
|
+
# - `admin_onboarding_incomplete`
|
333
|
+
# - `self_onboarding_awaiting_admin_review`
|
334
|
+
# - that employee's work state requires filing a new hire report
|
335
|
+
# scope: `employee_state_taxes:read`
|
336
|
+
#
|
337
|
+
# @param employee_uuid [String] The UUID of the employee
|
338
|
+
# @param request_options [Gusto::RequestOptions]
|
339
|
+
# @return [Array<Gusto::EmployeeTaxSetup::EmployeeStateTax>]
|
340
|
+
# @example
|
341
|
+
# api = Gusto::Client.new(
|
342
|
+
# base_url: "https://api.example.com",
|
343
|
+
# environment: Gusto::Environment::DEMO,
|
344
|
+
# token: "YOUR_AUTH_TOKEN"
|
345
|
+
# )
|
346
|
+
# api.employees.tax_setup.get_state_taxes(employee_uuid: "employee_uuid")
|
347
|
+
def get_state_taxes(employee_uuid:, request_options: nil)
|
348
|
+
Async do
|
349
|
+
response = @request_client.conn.get do | req |
|
350
|
+
unless request_options&.timeout_in_seconds.nil?
|
351
|
+
req.options.timeout = request_options.timeout_in_seconds
|
352
|
+
end
|
353
|
+
unless request_options&.token.nil?
|
354
|
+
req.headers["Authorization"] = request_options.token
|
355
|
+
end
|
356
|
+
unless request_options&.gusto_api_version.nil?
|
357
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
358
|
+
end
|
359
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
360
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
361
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
362
|
+
end
|
363
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
364
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
365
|
+
end
|
366
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/state_taxes"
|
367
|
+
end
|
368
|
+
parsed_json = JSON.parse(response.body)
|
369
|
+
parsed_json&.map do | item |
|
370
|
+
item = item.to_json
|
371
|
+
Gusto::EmployeeTaxSetup::EmployeeStateTax.from_json(json_object: item)
|
372
|
+
end
|
373
|
+
end
|
374
|
+
end
|
375
|
+
# Update attributes relevant for an employee's state taxes.
|
376
|
+
# As described for the GET endpoint, the answers must be supplied in the
|
377
|
+
# effective-dated format, but currently only a single answer will be accepted -
|
378
|
+
# `valid_from` and `valid_up_to` must be `"2010-01-01"` and `null` respectively.
|
379
|
+
# scope: `employee_state_taxes:write`
|
380
|
+
#
|
381
|
+
# @param employee_uuid [String] The UUID of the employee
|
382
|
+
# @param states [Array<Hash>] Request of type Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItem>, as a Hash
|
383
|
+
# * :state (String)
|
384
|
+
# * :questions (Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem>)
|
385
|
+
# @param request_options [Gusto::RequestOptions]
|
386
|
+
# @return [Array<Gusto::EmployeeTaxSetup::EmployeeStateTax>]
|
387
|
+
# @example
|
388
|
+
# api = Gusto::Client.new(
|
389
|
+
# base_url: "https://api.example.com",
|
390
|
+
# environment: Gusto::Environment::DEMO,
|
391
|
+
# token: "YOUR_AUTH_TOKEN"
|
392
|
+
# )
|
393
|
+
# api.employees.tax_setup.update_state_taxes(employee_uuid: "employee_uuid", states: [{ state: "CA", questions: [{ key: "filing_status", answers: [{ value: "M", valid_from: "2010-01-01" }] }, { key: "withholding_allowance", answers: [{ value: "value", valid_from: "2010-01-01" }] }, { key: "additional_withholding", answers: [{ value: "25.0", valid_from: "2010-01-01" }] }, { key: "file_new_hire_report", answers: [{ value: "value", valid_from: "2010-01-01" }] }] }])
|
394
|
+
def update_state_taxes(employee_uuid:, states:, request_options: nil)
|
395
|
+
Async do
|
396
|
+
response = @request_client.conn.put do | req |
|
397
|
+
unless request_options&.timeout_in_seconds.nil?
|
398
|
+
req.options.timeout = request_options.timeout_in_seconds
|
399
|
+
end
|
400
|
+
unless request_options&.token.nil?
|
401
|
+
req.headers["Authorization"] = request_options.token
|
402
|
+
end
|
403
|
+
unless request_options&.gusto_api_version.nil?
|
404
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
405
|
+
end
|
406
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
407
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
408
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
409
|
+
end
|
410
|
+
req.body = { **(request_options&.additional_body_parameters || {}), states: states }.compact
|
411
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/state_taxes"
|
412
|
+
end
|
413
|
+
parsed_json = JSON.parse(response.body)
|
414
|
+
parsed_json&.map do | item |
|
415
|
+
item = item.to_json
|
416
|
+
Gusto::EmployeeTaxSetup::EmployeeStateTax.from_json(json_object: item)
|
417
|
+
end
|
418
|
+
end
|
419
|
+
end
|
420
|
+
end
|
421
|
+
end
|
422
|
+
end
|
data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "tax_setup_update_state_taxes_request_states_item_questions_item"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
module Employees
|
8
|
+
module TaxSetup
|
9
|
+
class TaxSetupUpdateStateTaxesRequestStatesItem
|
10
|
+
# @return [String]
|
11
|
+
attr_reader :state
|
12
|
+
# @return [Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem>]
|
13
|
+
attr_reader :questions
|
14
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
15
|
+
attr_reader :additional_properties
|
16
|
+
# @return [Object]
|
17
|
+
attr_reader :_field_set
|
18
|
+
protected :_field_set
|
19
|
+
|
20
|
+
OMIT = Object.new
|
21
|
+
|
22
|
+
# @param state [String]
|
23
|
+
# @param questions [Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem>]
|
24
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
# @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItem]
|
26
|
+
def initialize(state:, questions: OMIT, additional_properties: nil)
|
27
|
+
@state = state
|
28
|
+
@questions = questions if questions != OMIT
|
29
|
+
@additional_properties = additional_properties
|
30
|
+
@_field_set = { "state": state, "questions": questions }.reject do | _k, v |
|
31
|
+
v == OMIT
|
32
|
+
end
|
33
|
+
end
|
34
|
+
# Deserialize a JSON object to an instance of
|
35
|
+
# TaxSetupUpdateStateTaxesRequestStatesItem
|
36
|
+
#
|
37
|
+
# @param json_object [String]
|
38
|
+
# @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItem]
|
39
|
+
def self.from_json(json_object:)
|
40
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
41
|
+
parsed_json = JSON.parse(json_object)
|
42
|
+
state = parsed_json["state"]
|
43
|
+
questions = parsed_json["questions"]&.map do | item |
|
44
|
+
item = item.to_json
|
45
|
+
Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem.from_json(json_object: item)
|
46
|
+
end
|
47
|
+
new(
|
48
|
+
state: state,
|
49
|
+
questions: questions,
|
50
|
+
additional_properties: struct
|
51
|
+
)
|
52
|
+
end
|
53
|
+
# Serialize an instance of TaxSetupUpdateStateTaxesRequestStatesItem to a JSON
|
54
|
+
# object
|
55
|
+
#
|
56
|
+
# @return [String]
|
57
|
+
def to_json
|
58
|
+
@_field_set&.to_json
|
59
|
+
end
|
60
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
61
|
+
# hash and check each fields type against the current object's property
|
62
|
+
# definitions.
|
63
|
+
#
|
64
|
+
# @param obj [Object]
|
65
|
+
# @return [Void]
|
66
|
+
def self.validate_raw(obj:)
|
67
|
+
obj.state.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
|
68
|
+
obj.questions&.is_a?(Array) != false || raise("Passed value for field obj.questions is not the expected type, validation failed.")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|