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,822 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "employments/client"
|
4
|
+
require_relative "adresses/client"
|
5
|
+
require_relative "tax_setup/client"
|
6
|
+
require_relative "payment_method/client"
|
7
|
+
require_relative "jobs_and_compensations/client"
|
8
|
+
require_relative "forms/client"
|
9
|
+
require_relative "benefits/client"
|
10
|
+
require_relative "garnishments/client"
|
11
|
+
require_relative "types/employees_get_request_include"
|
12
|
+
require_relative "types/employee"
|
13
|
+
require_relative "types/employees_get_custom_fields_response"
|
14
|
+
require_relative "types/employee_onboarding_info"
|
15
|
+
require_relative "../types/time_off_activity"
|
16
|
+
require "async"
|
17
|
+
require "async"
|
18
|
+
require "async"
|
19
|
+
require "async"
|
20
|
+
require "async"
|
21
|
+
require "async"
|
22
|
+
require "async"
|
23
|
+
require_relative "../../requests"
|
24
|
+
|
25
|
+
module Gusto
|
26
|
+
class EmployeesClient
|
27
|
+
# @return [Gusto::RequestClient]
|
28
|
+
attr_reader :request_client
|
29
|
+
# @return [Gusto::Employees::EmploymentsClient]
|
30
|
+
attr_reader :employments
|
31
|
+
# @return [Gusto::Employees::AdressesClient]
|
32
|
+
attr_reader :adresses
|
33
|
+
# @return [Gusto::Employees::TaxSetupClient]
|
34
|
+
attr_reader :tax_setup
|
35
|
+
# @return [Gusto::Employees::PaymentMethodClient]
|
36
|
+
attr_reader :payment_method
|
37
|
+
# @return [Gusto::Employees::JobsAndCompensationsClient]
|
38
|
+
attr_reader :jobs_and_compensations
|
39
|
+
# @return [Gusto::Employees::FormsClient]
|
40
|
+
attr_reader :forms
|
41
|
+
# @return [Gusto::Employees::BenefitsClient]
|
42
|
+
attr_reader :benefits
|
43
|
+
# @return [Gusto::Employees::GarnishmentsClient]
|
44
|
+
attr_reader :garnishments
|
45
|
+
|
46
|
+
|
47
|
+
# @param request_client [Gusto::RequestClient]
|
48
|
+
# @return [Gusto::EmployeesClient]
|
49
|
+
def initialize(request_client:)
|
50
|
+
@request_client = request_client
|
51
|
+
@employments = Gusto::Employees::EmploymentsClient.new(request_client: request_client)
|
52
|
+
@adresses = Gusto::Employees::AdressesClient.new(request_client: request_client)
|
53
|
+
@tax_setup = Gusto::Employees::TaxSetupClient.new(request_client: request_client)
|
54
|
+
@payment_method = Gusto::Employees::PaymentMethodClient.new(request_client: request_client)
|
55
|
+
@jobs_and_compensations = Gusto::Employees::JobsAndCompensationsClient.new(request_client: request_client)
|
56
|
+
@forms = Gusto::Employees::FormsClient.new(request_client: request_client)
|
57
|
+
@benefits = Gusto::Employees::BenefitsClient.new(request_client: request_client)
|
58
|
+
@garnishments = Gusto::Employees::GarnishmentsClient.new(request_client: request_client)
|
59
|
+
end
|
60
|
+
# Get an employee.
|
61
|
+
# scope: `employees:read`
|
62
|
+
#
|
63
|
+
# @param employee_id [String] The UUID of the employee
|
64
|
+
# @param include [Gusto::Employees::EmployeesGetRequestInclude] Include the requested attribute(s) in each employee response, multiple options
|
65
|
+
# are comma separated. Available options:
|
66
|
+
# - all_compensations: Include all effective dated compensations for each job
|
67
|
+
# instead of only the current compensation
|
68
|
+
# - custom_fields: Include employees' custom fields
|
69
|
+
# @param request_options [Gusto::RequestOptions]
|
70
|
+
# @return [Gusto::Employees::Employee]
|
71
|
+
# @example
|
72
|
+
# api = Gusto::Client.new(
|
73
|
+
# base_url: "https://api.example.com",
|
74
|
+
# environment: Gusto::Environment::DEMO,
|
75
|
+
# token: "YOUR_AUTH_TOKEN"
|
76
|
+
# )
|
77
|
+
# api.employees.get(employee_id: "employee_id")
|
78
|
+
def get(employee_id:, include: nil, request_options: nil)
|
79
|
+
response = @request_client.conn.get do | req |
|
80
|
+
unless request_options&.timeout_in_seconds.nil?
|
81
|
+
req.options.timeout = request_options.timeout_in_seconds
|
82
|
+
end
|
83
|
+
unless request_options&.token.nil?
|
84
|
+
req.headers["Authorization"] = request_options.token
|
85
|
+
end
|
86
|
+
unless request_options&.gusto_api_version.nil?
|
87
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
88
|
+
end
|
89
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
90
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "include": include }.compact
|
91
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
92
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
93
|
+
end
|
94
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
95
|
+
end
|
96
|
+
Gusto::Employees::Employee.from_json(json_object: response.body)
|
97
|
+
end
|
98
|
+
# Update an employee.
|
99
|
+
# scope: `employees:write`
|
100
|
+
#
|
101
|
+
# @param employee_id [String] The UUID of the employee
|
102
|
+
# @param version [String] The current version of the object. See the [versioning
|
103
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
104
|
+
# information on how to use this field.
|
105
|
+
# @param first_name [String]
|
106
|
+
# @param middle_initial [String]
|
107
|
+
# @param last_name [String]
|
108
|
+
# @param preferred_first_name [String]
|
109
|
+
# @param date_of_birth [String]
|
110
|
+
# @param email [String] The employee's personal email address.
|
111
|
+
# @param ssn [String]
|
112
|
+
# @param two_percent_shareholder [Boolean] Whether the employee is a two percent shareholder of the company. This field
|
113
|
+
# only applies to companies with an S-Corp entity type.
|
114
|
+
# @param request_options [Gusto::RequestOptions]
|
115
|
+
# @return [Gusto::Employees::Employee]
|
116
|
+
# @example
|
117
|
+
# api = Gusto::Client.new(
|
118
|
+
# base_url: "https://api.example.com",
|
119
|
+
# environment: Gusto::Environment::DEMO,
|
120
|
+
# token: "YOUR_AUTH_TOKEN"
|
121
|
+
# )
|
122
|
+
# api.employees.update(
|
123
|
+
# employee_id: "employee_id",
|
124
|
+
# version: "db0edd04aaac4506f7edab03ac855d56",
|
125
|
+
# first_name: "Soren",
|
126
|
+
# middle_initial: "A",
|
127
|
+
# last_name: "Kierkegaard",
|
128
|
+
# preferred_first_name: "Angel",
|
129
|
+
# date_of_birth: "1995-05-05",
|
130
|
+
# email: "knight0faith@example.com",
|
131
|
+
# ssn: "123456294",
|
132
|
+
# two_percent_shareholder: false
|
133
|
+
# )
|
134
|
+
def update(employee_id:, version:, first_name: nil, middle_initial: nil, last_name: nil, preferred_first_name: nil, date_of_birth: nil, email: nil, ssn: nil, two_percent_shareholder: nil, request_options: nil)
|
135
|
+
response = @request_client.conn.put do | req |
|
136
|
+
unless request_options&.timeout_in_seconds.nil?
|
137
|
+
req.options.timeout = request_options.timeout_in_seconds
|
138
|
+
end
|
139
|
+
unless request_options&.token.nil?
|
140
|
+
req.headers["Authorization"] = request_options.token
|
141
|
+
end
|
142
|
+
unless request_options&.gusto_api_version.nil?
|
143
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
144
|
+
end
|
145
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
146
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
147
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
148
|
+
end
|
149
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, first_name: first_name, middle_initial: middle_initial, last_name: last_name, preferred_first_name: preferred_first_name, date_of_birth: date_of_birth, email: email, ssn: ssn, two_percent_shareholder: two_percent_shareholder }.compact
|
150
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
151
|
+
end
|
152
|
+
Gusto::Employees::Employee.from_json(json_object: response.body)
|
153
|
+
end
|
154
|
+
# Use this endpoint to delete an employee who is in onboarding. Deleting
|
155
|
+
# an onboarded employee is not allowed and will return a 422 response. Please
|
156
|
+
# check out the Terminations api
|
157
|
+
# if you need to terminate an onboarded employee.
|
158
|
+
# scope: `employees:manage`
|
159
|
+
#
|
160
|
+
# @param employee_id [String] The UUID of the employee
|
161
|
+
# @param request_options [Gusto::RequestOptions]
|
162
|
+
# @return [Void]
|
163
|
+
# @example
|
164
|
+
# api = Gusto::Client.new(
|
165
|
+
# base_url: "https://api.example.com",
|
166
|
+
# environment: Gusto::Environment::DEMO,
|
167
|
+
# token: "YOUR_AUTH_TOKEN"
|
168
|
+
# )
|
169
|
+
# api.employees.delete(employee_id: "employee_id")
|
170
|
+
def delete(employee_id:, request_options: nil)
|
171
|
+
response = @request_client.conn.delete do | req |
|
172
|
+
unless request_options&.timeout_in_seconds.nil?
|
173
|
+
req.options.timeout = request_options.timeout_in_seconds
|
174
|
+
end
|
175
|
+
unless request_options&.token.nil?
|
176
|
+
req.headers["Authorization"] = request_options.token
|
177
|
+
end
|
178
|
+
unless request_options&.gusto_api_version.nil?
|
179
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
180
|
+
end
|
181
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
182
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
183
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
184
|
+
end
|
185
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
186
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
187
|
+
end
|
188
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
189
|
+
end
|
190
|
+
end
|
191
|
+
# Returns a list of the employee's custom fields.
|
192
|
+
# scope: `employees:read`
|
193
|
+
#
|
194
|
+
# @param employee_id [String] The UUID of the employee
|
195
|
+
# @param page [Float] The page that is requested. When unspecified, will load all objects unless
|
196
|
+
# endpoint forces pagination.
|
197
|
+
# @param per [Float] Number of objects per page. For majority of endpoints will default to 25
|
198
|
+
# @param request_options [Gusto::RequestOptions]
|
199
|
+
# @return [Gusto::Employees::EmployeesGetCustomFieldsResponse]
|
200
|
+
# @example
|
201
|
+
# api = Gusto::Client.new(
|
202
|
+
# base_url: "https://api.example.com",
|
203
|
+
# environment: Gusto::Environment::DEMO,
|
204
|
+
# token: "YOUR_AUTH_TOKEN"
|
205
|
+
# )
|
206
|
+
# api.employees.get_custom_fields(employee_id: "employee_id")
|
207
|
+
def get_custom_fields(employee_id:, page: nil, per: nil, request_options: nil)
|
208
|
+
response = @request_client.conn.get do | req |
|
209
|
+
unless request_options&.timeout_in_seconds.nil?
|
210
|
+
req.options.timeout = request_options.timeout_in_seconds
|
211
|
+
end
|
212
|
+
unless request_options&.token.nil?
|
213
|
+
req.headers["Authorization"] = request_options.token
|
214
|
+
end
|
215
|
+
unless request_options&.gusto_api_version.nil?
|
216
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
217
|
+
end
|
218
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
219
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "per": per }.compact
|
220
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
221
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
222
|
+
end
|
223
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/custom_fields"
|
224
|
+
end
|
225
|
+
Gusto::Employees::EmployeesGetCustomFieldsResponse.from_json(json_object: response.body)
|
226
|
+
end
|
227
|
+
# # Description
|
228
|
+
# Retrieves an employee's onboarding status. The data returned helps inform the
|
229
|
+
# required onboarding steps and respective completion status.
|
230
|
+
# scope: `employees:read`
|
231
|
+
# ## onboarding_status
|
232
|
+
# ### Admin-facilitated onboarding
|
233
|
+
# | onboarding_status |
|
234
|
+
# Description |
|
235
|
+
# | :---------------------------- |
|
236
|
+
# ----------------------------------------------------: |
|
237
|
+
# | `admin_onboarding_incomplete` | Admin needs to complete the full
|
238
|
+
# employee-onboarding. |
|
239
|
+
# | `onboarding_completed` | Employee has been fully onboarded and
|
240
|
+
# verified. |
|
241
|
+
# ### Employee self-onboarding
|
242
|
+
# | onboarding_status |
|
243
|
+
# Description |
|
244
|
+
# | :-------------------------------------- |
|
245
|
+
# -------------------------------------------------------------------------------:
|
246
|
+
# |
|
247
|
+
# | `admin_onboarding_incomplete` |
|
248
|
+
# Admin needs to enter basic information about the employee. |
|
249
|
+
# | `self_onboarding_pending_invite` |
|
250
|
+
# Admin has the intention to invite the employee to self-onboard (e.g.,
|
251
|
+
# marking a checkbox), but the system has not yet sent the invitation. |
|
252
|
+
# | `self_onboarding_invited` |
|
253
|
+
# Employee has been sent an invitation to self-onboard. |
|
254
|
+
# | `self_onboarding_invited_started` |
|
255
|
+
# Employee has started the self-onboarding process. |
|
256
|
+
# | `self_onboarding_invited_overdue` |
|
257
|
+
# Employee's start date
|
258
|
+
# has passed, and employee has still not completed self-onboarding. |
|
259
|
+
# | `self_onboarding_completed_by_employee` | Employee has completed entering in
|
260
|
+
# their information. The status should be updated via API to
|
261
|
+
# "self_onboarding_awaiting_admin_review" from here, once the Admin has started
|
262
|
+
# reviewing. |
|
263
|
+
# | `self_onboarding_awaiting_admin_review` |
|
264
|
+
# Admin has started to verify the employee's information. |
|
265
|
+
# | `onboarding_completed` |
|
266
|
+
# Employee has been fully onboarded and verified. |
|
267
|
+
# ## onboarding_steps
|
268
|
+
# | onboarding_steps |
|
269
|
+
# Requirement(s) to be completed |
|
270
|
+
# | :---------------------- |
|
271
|
+
# -------------------------------------------------------------------------------:
|
272
|
+
# |
|
273
|
+
# | `personal_details` | Add employee's first name, last name, email,
|
274
|
+
# date of birth, social security number |
|
275
|
+
# | `compensation_details` | Associate
|
276
|
+
# employee to a job & compensation. |
|
277
|
+
# | `add_work_address` |
|
278
|
+
# Add employee work address. |
|
279
|
+
# | `add_home_address` |
|
280
|
+
# Add employee home address. |
|
281
|
+
# | `federal_tax_setup` |
|
282
|
+
# Set up federal tax withholdings. |
|
283
|
+
# | `state_tax_setup` |
|
284
|
+
# Set up state tax withholdings. |
|
285
|
+
# | `direct_deposit_setup` | (optional)
|
286
|
+
# Set up employee's direct deposit. |
|
287
|
+
# | `employee_form_signing` | Employee forms (e.g., W4, direct deposit
|
288
|
+
# authorization) are generated & signed. |
|
289
|
+
# | `file_new_hire_report` | File a
|
290
|
+
# new hire report for this employee. |
|
291
|
+
# | `admin_review` | Admin reviews & confirms employee details (only
|
292
|
+
# required for Employee self-onboarding) |
|
293
|
+
#
|
294
|
+
# @param employee_id [String] The UUID of the employee
|
295
|
+
# @param request_options [Gusto::RequestOptions]
|
296
|
+
# @return [Gusto::Employees::EmployeeOnboardingInfo]
|
297
|
+
# @example
|
298
|
+
# api = Gusto::Client.new(
|
299
|
+
# base_url: "https://api.example.com",
|
300
|
+
# environment: Gusto::Environment::DEMO,
|
301
|
+
# token: "YOUR_AUTH_TOKEN"
|
302
|
+
# )
|
303
|
+
# api.employees.get_onboarding_status(employee_id: "employee_id")
|
304
|
+
def get_onboarding_status(employee_id:, request_options: nil)
|
305
|
+
response = @request_client.conn.get do | req |
|
306
|
+
unless request_options&.timeout_in_seconds.nil?
|
307
|
+
req.options.timeout = request_options.timeout_in_seconds
|
308
|
+
end
|
309
|
+
unless request_options&.token.nil?
|
310
|
+
req.headers["Authorization"] = request_options.token
|
311
|
+
end
|
312
|
+
unless request_options&.gusto_api_version.nil?
|
313
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
314
|
+
end
|
315
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
316
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
317
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
318
|
+
end
|
319
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
320
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
321
|
+
end
|
322
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/onboarding_status"
|
323
|
+
end
|
324
|
+
Gusto::Employees::EmployeeOnboardingInfo.from_json(json_object: response.body)
|
325
|
+
end
|
326
|
+
# scope: `employees:manage`
|
327
|
+
# Updates an employee's onboarding status.
|
328
|
+
# Below is a list of valid onboarding status changes depending on the intended
|
329
|
+
# action to be performed on behalf of the employee.
|
330
|
+
# | Action | current
|
331
|
+
# onboarding_status | new
|
332
|
+
# onboarding_status |
|
333
|
+
# | :--------------------------------------- |
|
334
|
+
# :----------------------------------------------------------------------: |
|
335
|
+
# --------------------------------------: |
|
336
|
+
# | Mark an employee as self-onboarding |
|
337
|
+
# `admin_onboarding_incomplete` |
|
338
|
+
# `self_onboarding_pending_invite` |
|
339
|
+
# | Invite an employee to self-onboard | `admin_onboarding_incomplete` or
|
340
|
+
# `self_onboarding_pending_invite` | `self_onboarding_invited` |
|
341
|
+
# | Cancel an employee's self-onboarding | `self_onboarding_invited` or
|
342
|
+
# `self_onboarding_pending_invite` | `admin_onboarding_incomplete`
|
343
|
+
# |
|
344
|
+
# | Review an employee's self-onboarded info |
|
345
|
+
# `self_onboarding_completed_by_employee` |
|
346
|
+
# `self_onboarding_awaiting_admin_review` |
|
347
|
+
# | Finish an employee's onboarding | `admin_onboarding_incomplete` or
|
348
|
+
# `self_onboarding_awaiting_admin_review` |
|
349
|
+
# `onboarding_completed` |
|
350
|
+
#
|
351
|
+
# @param employee_id [String] The UUID of the employee
|
352
|
+
# @param onboarding_status [String] The updated onboarding status for the employee
|
353
|
+
# @param request_options [Gusto::RequestOptions]
|
354
|
+
# @return [Gusto::Employees::EmployeeOnboardingInfo]
|
355
|
+
# @example
|
356
|
+
# api = Gusto::Client.new(
|
357
|
+
# base_url: "https://api.example.com",
|
358
|
+
# environment: Gusto::Environment::DEMO,
|
359
|
+
# token: "YOUR_AUTH_TOKEN"
|
360
|
+
# )
|
361
|
+
# api.employees.update_onboarding_status(employee_id: "employee_id", onboarding_status: "onboarding_status")
|
362
|
+
def update_onboarding_status(employee_id:, onboarding_status:, request_options: nil)
|
363
|
+
response = @request_client.conn.put do | req |
|
364
|
+
unless request_options&.timeout_in_seconds.nil?
|
365
|
+
req.options.timeout = request_options.timeout_in_seconds
|
366
|
+
end
|
367
|
+
unless request_options&.token.nil?
|
368
|
+
req.headers["Authorization"] = request_options.token
|
369
|
+
end
|
370
|
+
unless request_options&.gusto_api_version.nil?
|
371
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
372
|
+
end
|
373
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
374
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
375
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
376
|
+
end
|
377
|
+
req.body = { **(request_options&.additional_body_parameters || {}), onboarding_status: onboarding_status }.compact
|
378
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/onboarding_status"
|
379
|
+
end
|
380
|
+
Gusto::Employees::EmployeeOnboardingInfo.from_json(json_object: response.body)
|
381
|
+
end
|
382
|
+
# Get employee time off activities.
|
383
|
+
# scope: `employee_time_off_activities:read`
|
384
|
+
#
|
385
|
+
# @param employee_uuid [String] The UUID of the employee
|
386
|
+
# @param time_off_type [String] The time off type name you want to query data for. ex: 'sick' or 'vacation'
|
387
|
+
# @param request_options [Gusto::RequestOptions]
|
388
|
+
# @return [Gusto::TimeOffActivity]
|
389
|
+
# @example
|
390
|
+
# api = Gusto::Client.new(
|
391
|
+
# base_url: "https://api.example.com",
|
392
|
+
# environment: Gusto::Environment::DEMO,
|
393
|
+
# token: "YOUR_AUTH_TOKEN"
|
394
|
+
# )
|
395
|
+
# api.employees.get_time_off_activities(employee_uuid: "employee_uuid", time_off_type: "time_off_type")
|
396
|
+
def get_time_off_activities(employee_uuid:, time_off_type:, request_options: nil)
|
397
|
+
response = @request_client.conn.get do | req |
|
398
|
+
unless request_options&.timeout_in_seconds.nil?
|
399
|
+
req.options.timeout = request_options.timeout_in_seconds
|
400
|
+
end
|
401
|
+
unless request_options&.token.nil?
|
402
|
+
req.headers["Authorization"] = request_options.token
|
403
|
+
end
|
404
|
+
unless request_options&.gusto_api_version.nil?
|
405
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
406
|
+
end
|
407
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
408
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "time_off_type": time_off_type }.compact
|
409
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
410
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
411
|
+
end
|
412
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/time_off_activities"
|
413
|
+
end
|
414
|
+
Gusto::TimeOffActivity.from_json(json_object: response.body)
|
415
|
+
end
|
416
|
+
end
|
417
|
+
class AsyncEmployeesClient
|
418
|
+
# @return [Gusto::AsyncRequestClient]
|
419
|
+
attr_reader :request_client
|
420
|
+
# @return [Gusto::Employees::EmploymentsClient]
|
421
|
+
attr_reader :employments
|
422
|
+
# @return [Gusto::Employees::AdressesClient]
|
423
|
+
attr_reader :adresses
|
424
|
+
# @return [Gusto::Employees::TaxSetupClient]
|
425
|
+
attr_reader :tax_setup
|
426
|
+
# @return [Gusto::Employees::PaymentMethodClient]
|
427
|
+
attr_reader :payment_method
|
428
|
+
# @return [Gusto::Employees::JobsAndCompensationsClient]
|
429
|
+
attr_reader :jobs_and_compensations
|
430
|
+
# @return [Gusto::Employees::FormsClient]
|
431
|
+
attr_reader :forms
|
432
|
+
# @return [Gusto::Employees::BenefitsClient]
|
433
|
+
attr_reader :benefits
|
434
|
+
# @return [Gusto::Employees::GarnishmentsClient]
|
435
|
+
attr_reader :garnishments
|
436
|
+
|
437
|
+
|
438
|
+
# @param request_client [Gusto::RequestClient]
|
439
|
+
# @return [Gusto::AsyncEmployeesClient]
|
440
|
+
def initialize(request_client:)
|
441
|
+
@request_client = request_client
|
442
|
+
@employments = Gusto::Employees::AsyncEmploymentsClient.new(request_client: request_client)
|
443
|
+
@adresses = Gusto::Employees::AsyncAdressesClient.new(request_client: request_client)
|
444
|
+
@tax_setup = Gusto::Employees::AsyncTaxSetupClient.new(request_client: request_client)
|
445
|
+
@payment_method = Gusto::Employees::AsyncPaymentMethodClient.new(request_client: request_client)
|
446
|
+
@jobs_and_compensations = Gusto::Employees::AsyncJobsAndCompensationsClient.new(request_client: request_client)
|
447
|
+
@forms = Gusto::Employees::AsyncFormsClient.new(request_client: request_client)
|
448
|
+
@benefits = Gusto::Employees::AsyncBenefitsClient.new(request_client: request_client)
|
449
|
+
@garnishments = Gusto::Employees::AsyncGarnishmentsClient.new(request_client: request_client)
|
450
|
+
end
|
451
|
+
# Get an employee.
|
452
|
+
# scope: `employees:read`
|
453
|
+
#
|
454
|
+
# @param employee_id [String] The UUID of the employee
|
455
|
+
# @param include [Gusto::Employees::EmployeesGetRequestInclude] Include the requested attribute(s) in each employee response, multiple options
|
456
|
+
# are comma separated. Available options:
|
457
|
+
# - all_compensations: Include all effective dated compensations for each job
|
458
|
+
# instead of only the current compensation
|
459
|
+
# - custom_fields: Include employees' custom fields
|
460
|
+
# @param request_options [Gusto::RequestOptions]
|
461
|
+
# @return [Gusto::Employees::Employee]
|
462
|
+
# @example
|
463
|
+
# api = Gusto::Client.new(
|
464
|
+
# base_url: "https://api.example.com",
|
465
|
+
# environment: Gusto::Environment::DEMO,
|
466
|
+
# token: "YOUR_AUTH_TOKEN"
|
467
|
+
# )
|
468
|
+
# api.employees.get(employee_id: "employee_id")
|
469
|
+
def get(employee_id:, include: nil, request_options: nil)
|
470
|
+
Async do
|
471
|
+
response = @request_client.conn.get do | req |
|
472
|
+
unless request_options&.timeout_in_seconds.nil?
|
473
|
+
req.options.timeout = request_options.timeout_in_seconds
|
474
|
+
end
|
475
|
+
unless request_options&.token.nil?
|
476
|
+
req.headers["Authorization"] = request_options.token
|
477
|
+
end
|
478
|
+
unless request_options&.gusto_api_version.nil?
|
479
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
480
|
+
end
|
481
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
482
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "include": include }.compact
|
483
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
484
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
485
|
+
end
|
486
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
487
|
+
end
|
488
|
+
Gusto::Employees::Employee.from_json(json_object: response.body)
|
489
|
+
end
|
490
|
+
end
|
491
|
+
# Update an employee.
|
492
|
+
# scope: `employees:write`
|
493
|
+
#
|
494
|
+
# @param employee_id [String] The UUID of the employee
|
495
|
+
# @param version [String] The current version of the object. See the [versioning
|
496
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
497
|
+
# information on how to use this field.
|
498
|
+
# @param first_name [String]
|
499
|
+
# @param middle_initial [String]
|
500
|
+
# @param last_name [String]
|
501
|
+
# @param preferred_first_name [String]
|
502
|
+
# @param date_of_birth [String]
|
503
|
+
# @param email [String] The employee's personal email address.
|
504
|
+
# @param ssn [String]
|
505
|
+
# @param two_percent_shareholder [Boolean] Whether the employee is a two percent shareholder of the company. This field
|
506
|
+
# only applies to companies with an S-Corp entity type.
|
507
|
+
# @param request_options [Gusto::RequestOptions]
|
508
|
+
# @return [Gusto::Employees::Employee]
|
509
|
+
# @example
|
510
|
+
# api = Gusto::Client.new(
|
511
|
+
# base_url: "https://api.example.com",
|
512
|
+
# environment: Gusto::Environment::DEMO,
|
513
|
+
# token: "YOUR_AUTH_TOKEN"
|
514
|
+
# )
|
515
|
+
# api.employees.update(
|
516
|
+
# employee_id: "employee_id",
|
517
|
+
# version: "db0edd04aaac4506f7edab03ac855d56",
|
518
|
+
# first_name: "Soren",
|
519
|
+
# middle_initial: "A",
|
520
|
+
# last_name: "Kierkegaard",
|
521
|
+
# preferred_first_name: "Angel",
|
522
|
+
# date_of_birth: "1995-05-05",
|
523
|
+
# email: "knight0faith@example.com",
|
524
|
+
# ssn: "123456294",
|
525
|
+
# two_percent_shareholder: false
|
526
|
+
# )
|
527
|
+
def update(employee_id:, version:, first_name: nil, middle_initial: nil, last_name: nil, preferred_first_name: nil, date_of_birth: nil, email: nil, ssn: nil, two_percent_shareholder: nil, request_options: nil)
|
528
|
+
Async do
|
529
|
+
response = @request_client.conn.put do | req |
|
530
|
+
unless request_options&.timeout_in_seconds.nil?
|
531
|
+
req.options.timeout = request_options.timeout_in_seconds
|
532
|
+
end
|
533
|
+
unless request_options&.token.nil?
|
534
|
+
req.headers["Authorization"] = request_options.token
|
535
|
+
end
|
536
|
+
unless request_options&.gusto_api_version.nil?
|
537
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
538
|
+
end
|
539
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
540
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
541
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
542
|
+
end
|
543
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, first_name: first_name, middle_initial: middle_initial, last_name: last_name, preferred_first_name: preferred_first_name, date_of_birth: date_of_birth, email: email, ssn: ssn, two_percent_shareholder: two_percent_shareholder }.compact
|
544
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
545
|
+
end
|
546
|
+
Gusto::Employees::Employee.from_json(json_object: response.body)
|
547
|
+
end
|
548
|
+
end
|
549
|
+
# Use this endpoint to delete an employee who is in onboarding. Deleting
|
550
|
+
# an onboarded employee is not allowed and will return a 422 response. Please
|
551
|
+
# check out the Terminations api
|
552
|
+
# if you need to terminate an onboarded employee.
|
553
|
+
# scope: `employees:manage`
|
554
|
+
#
|
555
|
+
# @param employee_id [String] The UUID of the employee
|
556
|
+
# @param request_options [Gusto::RequestOptions]
|
557
|
+
# @return [Void]
|
558
|
+
# @example
|
559
|
+
# api = Gusto::Client.new(
|
560
|
+
# base_url: "https://api.example.com",
|
561
|
+
# environment: Gusto::Environment::DEMO,
|
562
|
+
# token: "YOUR_AUTH_TOKEN"
|
563
|
+
# )
|
564
|
+
# api.employees.delete(employee_id: "employee_id")
|
565
|
+
def delete(employee_id:, request_options: nil)
|
566
|
+
Async do
|
567
|
+
response = @request_client.conn.delete do | req |
|
568
|
+
unless request_options&.timeout_in_seconds.nil?
|
569
|
+
req.options.timeout = request_options.timeout_in_seconds
|
570
|
+
end
|
571
|
+
unless request_options&.token.nil?
|
572
|
+
req.headers["Authorization"] = request_options.token
|
573
|
+
end
|
574
|
+
unless request_options&.gusto_api_version.nil?
|
575
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
576
|
+
end
|
577
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
578
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
579
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
580
|
+
end
|
581
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
582
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
583
|
+
end
|
584
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}"
|
585
|
+
end
|
586
|
+
end
|
587
|
+
end
|
588
|
+
# Returns a list of the employee's custom fields.
|
589
|
+
# scope: `employees:read`
|
590
|
+
#
|
591
|
+
# @param employee_id [String] The UUID of the employee
|
592
|
+
# @param page [Float] The page that is requested. When unspecified, will load all objects unless
|
593
|
+
# endpoint forces pagination.
|
594
|
+
# @param per [Float] Number of objects per page. For majority of endpoints will default to 25
|
595
|
+
# @param request_options [Gusto::RequestOptions]
|
596
|
+
# @return [Gusto::Employees::EmployeesGetCustomFieldsResponse]
|
597
|
+
# @example
|
598
|
+
# api = Gusto::Client.new(
|
599
|
+
# base_url: "https://api.example.com",
|
600
|
+
# environment: Gusto::Environment::DEMO,
|
601
|
+
# token: "YOUR_AUTH_TOKEN"
|
602
|
+
# )
|
603
|
+
# api.employees.get_custom_fields(employee_id: "employee_id")
|
604
|
+
def get_custom_fields(employee_id:, page: nil, per: nil, request_options: nil)
|
605
|
+
Async do
|
606
|
+
response = @request_client.conn.get do | req |
|
607
|
+
unless request_options&.timeout_in_seconds.nil?
|
608
|
+
req.options.timeout = request_options.timeout_in_seconds
|
609
|
+
end
|
610
|
+
unless request_options&.token.nil?
|
611
|
+
req.headers["Authorization"] = request_options.token
|
612
|
+
end
|
613
|
+
unless request_options&.gusto_api_version.nil?
|
614
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
615
|
+
end
|
616
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
617
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "page": page, "per": per }.compact
|
618
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
619
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
620
|
+
end
|
621
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/custom_fields"
|
622
|
+
end
|
623
|
+
Gusto::Employees::EmployeesGetCustomFieldsResponse.from_json(json_object: response.body)
|
624
|
+
end
|
625
|
+
end
|
626
|
+
# # Description
|
627
|
+
# Retrieves an employee's onboarding status. The data returned helps inform the
|
628
|
+
# required onboarding steps and respective completion status.
|
629
|
+
# scope: `employees:read`
|
630
|
+
# ## onboarding_status
|
631
|
+
# ### Admin-facilitated onboarding
|
632
|
+
# | onboarding_status |
|
633
|
+
# Description |
|
634
|
+
# | :---------------------------- |
|
635
|
+
# ----------------------------------------------------: |
|
636
|
+
# | `admin_onboarding_incomplete` | Admin needs to complete the full
|
637
|
+
# employee-onboarding. |
|
638
|
+
# | `onboarding_completed` | Employee has been fully onboarded and
|
639
|
+
# verified. |
|
640
|
+
# ### Employee self-onboarding
|
641
|
+
# | onboarding_status |
|
642
|
+
# Description |
|
643
|
+
# | :-------------------------------------- |
|
644
|
+
# -------------------------------------------------------------------------------:
|
645
|
+
# |
|
646
|
+
# | `admin_onboarding_incomplete` |
|
647
|
+
# Admin needs to enter basic information about the employee. |
|
648
|
+
# | `self_onboarding_pending_invite` |
|
649
|
+
# Admin has the intention to invite the employee to self-onboard (e.g.,
|
650
|
+
# marking a checkbox), but the system has not yet sent the invitation. |
|
651
|
+
# | `self_onboarding_invited` |
|
652
|
+
# Employee has been sent an invitation to self-onboard. |
|
653
|
+
# | `self_onboarding_invited_started` |
|
654
|
+
# Employee has started the self-onboarding process. |
|
655
|
+
# | `self_onboarding_invited_overdue` |
|
656
|
+
# Employee's start date
|
657
|
+
# has passed, and employee has still not completed self-onboarding. |
|
658
|
+
# | `self_onboarding_completed_by_employee` | Employee has completed entering in
|
659
|
+
# their information. The status should be updated via API to
|
660
|
+
# "self_onboarding_awaiting_admin_review" from here, once the Admin has started
|
661
|
+
# reviewing. |
|
662
|
+
# | `self_onboarding_awaiting_admin_review` |
|
663
|
+
# Admin has started to verify the employee's information. |
|
664
|
+
# | `onboarding_completed` |
|
665
|
+
# Employee has been fully onboarded and verified. |
|
666
|
+
# ## onboarding_steps
|
667
|
+
# | onboarding_steps |
|
668
|
+
# Requirement(s) to be completed |
|
669
|
+
# | :---------------------- |
|
670
|
+
# -------------------------------------------------------------------------------:
|
671
|
+
# |
|
672
|
+
# | `personal_details` | Add employee's first name, last name, email,
|
673
|
+
# date of birth, social security number |
|
674
|
+
# | `compensation_details` | Associate
|
675
|
+
# employee to a job & compensation. |
|
676
|
+
# | `add_work_address` |
|
677
|
+
# Add employee work address. |
|
678
|
+
# | `add_home_address` |
|
679
|
+
# Add employee home address. |
|
680
|
+
# | `federal_tax_setup` |
|
681
|
+
# Set up federal tax withholdings. |
|
682
|
+
# | `state_tax_setup` |
|
683
|
+
# Set up state tax withholdings. |
|
684
|
+
# | `direct_deposit_setup` | (optional)
|
685
|
+
# Set up employee's direct deposit. |
|
686
|
+
# | `employee_form_signing` | Employee forms (e.g., W4, direct deposit
|
687
|
+
# authorization) are generated & signed. |
|
688
|
+
# | `file_new_hire_report` | File a
|
689
|
+
# new hire report for this employee. |
|
690
|
+
# | `admin_review` | Admin reviews & confirms employee details (only
|
691
|
+
# required for Employee self-onboarding) |
|
692
|
+
#
|
693
|
+
# @param employee_id [String] The UUID of the employee
|
694
|
+
# @param request_options [Gusto::RequestOptions]
|
695
|
+
# @return [Gusto::Employees::EmployeeOnboardingInfo]
|
696
|
+
# @example
|
697
|
+
# api = Gusto::Client.new(
|
698
|
+
# base_url: "https://api.example.com",
|
699
|
+
# environment: Gusto::Environment::DEMO,
|
700
|
+
# token: "YOUR_AUTH_TOKEN"
|
701
|
+
# )
|
702
|
+
# api.employees.get_onboarding_status(employee_id: "employee_id")
|
703
|
+
def get_onboarding_status(employee_id:, request_options: nil)
|
704
|
+
Async do
|
705
|
+
response = @request_client.conn.get do | req |
|
706
|
+
unless request_options&.timeout_in_seconds.nil?
|
707
|
+
req.options.timeout = request_options.timeout_in_seconds
|
708
|
+
end
|
709
|
+
unless request_options&.token.nil?
|
710
|
+
req.headers["Authorization"] = request_options.token
|
711
|
+
end
|
712
|
+
unless request_options&.gusto_api_version.nil?
|
713
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
714
|
+
end
|
715
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
716
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
717
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
718
|
+
end
|
719
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
720
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
721
|
+
end
|
722
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/onboarding_status"
|
723
|
+
end
|
724
|
+
Gusto::Employees::EmployeeOnboardingInfo.from_json(json_object: response.body)
|
725
|
+
end
|
726
|
+
end
|
727
|
+
# scope: `employees:manage`
|
728
|
+
# Updates an employee's onboarding status.
|
729
|
+
# Below is a list of valid onboarding status changes depending on the intended
|
730
|
+
# action to be performed on behalf of the employee.
|
731
|
+
# | Action | current
|
732
|
+
# onboarding_status | new
|
733
|
+
# onboarding_status |
|
734
|
+
# | :--------------------------------------- |
|
735
|
+
# :----------------------------------------------------------------------: |
|
736
|
+
# --------------------------------------: |
|
737
|
+
# | Mark an employee as self-onboarding |
|
738
|
+
# `admin_onboarding_incomplete` |
|
739
|
+
# `self_onboarding_pending_invite` |
|
740
|
+
# | Invite an employee to self-onboard | `admin_onboarding_incomplete` or
|
741
|
+
# `self_onboarding_pending_invite` | `self_onboarding_invited` |
|
742
|
+
# | Cancel an employee's self-onboarding | `self_onboarding_invited` or
|
743
|
+
# `self_onboarding_pending_invite` | `admin_onboarding_incomplete`
|
744
|
+
# |
|
745
|
+
# | Review an employee's self-onboarded info |
|
746
|
+
# `self_onboarding_completed_by_employee` |
|
747
|
+
# `self_onboarding_awaiting_admin_review` |
|
748
|
+
# | Finish an employee's onboarding | `admin_onboarding_incomplete` or
|
749
|
+
# `self_onboarding_awaiting_admin_review` |
|
750
|
+
# `onboarding_completed` |
|
751
|
+
#
|
752
|
+
# @param employee_id [String] The UUID of the employee
|
753
|
+
# @param onboarding_status [String] The updated onboarding status for the employee
|
754
|
+
# @param request_options [Gusto::RequestOptions]
|
755
|
+
# @return [Gusto::Employees::EmployeeOnboardingInfo]
|
756
|
+
# @example
|
757
|
+
# api = Gusto::Client.new(
|
758
|
+
# base_url: "https://api.example.com",
|
759
|
+
# environment: Gusto::Environment::DEMO,
|
760
|
+
# token: "YOUR_AUTH_TOKEN"
|
761
|
+
# )
|
762
|
+
# api.employees.update_onboarding_status(employee_id: "employee_id", onboarding_status: "onboarding_status")
|
763
|
+
def update_onboarding_status(employee_id:, onboarding_status:, request_options: nil)
|
764
|
+
Async do
|
765
|
+
response = @request_client.conn.put do | req |
|
766
|
+
unless request_options&.timeout_in_seconds.nil?
|
767
|
+
req.options.timeout = request_options.timeout_in_seconds
|
768
|
+
end
|
769
|
+
unless request_options&.token.nil?
|
770
|
+
req.headers["Authorization"] = request_options.token
|
771
|
+
end
|
772
|
+
unless request_options&.gusto_api_version.nil?
|
773
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
774
|
+
end
|
775
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
776
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
777
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
778
|
+
end
|
779
|
+
req.body = { **(request_options&.additional_body_parameters || {}), onboarding_status: onboarding_status }.compact
|
780
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_id}/onboarding_status"
|
781
|
+
end
|
782
|
+
Gusto::Employees::EmployeeOnboardingInfo.from_json(json_object: response.body)
|
783
|
+
end
|
784
|
+
end
|
785
|
+
# Get employee time off activities.
|
786
|
+
# scope: `employee_time_off_activities:read`
|
787
|
+
#
|
788
|
+
# @param employee_uuid [String] The UUID of the employee
|
789
|
+
# @param time_off_type [String] The time off type name you want to query data for. ex: 'sick' or 'vacation'
|
790
|
+
# @param request_options [Gusto::RequestOptions]
|
791
|
+
# @return [Gusto::TimeOffActivity]
|
792
|
+
# @example
|
793
|
+
# api = Gusto::Client.new(
|
794
|
+
# base_url: "https://api.example.com",
|
795
|
+
# environment: Gusto::Environment::DEMO,
|
796
|
+
# token: "YOUR_AUTH_TOKEN"
|
797
|
+
# )
|
798
|
+
# api.employees.get_time_off_activities(employee_uuid: "employee_uuid", time_off_type: "time_off_type")
|
799
|
+
def get_time_off_activities(employee_uuid:, time_off_type:, request_options: nil)
|
800
|
+
Async do
|
801
|
+
response = @request_client.conn.get do | req |
|
802
|
+
unless request_options&.timeout_in_seconds.nil?
|
803
|
+
req.options.timeout = request_options.timeout_in_seconds
|
804
|
+
end
|
805
|
+
unless request_options&.token.nil?
|
806
|
+
req.headers["Authorization"] = request_options.token
|
807
|
+
end
|
808
|
+
unless request_options&.gusto_api_version.nil?
|
809
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
810
|
+
end
|
811
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
812
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "time_off_type": time_off_type }.compact
|
813
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
814
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
815
|
+
end
|
816
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/employees/#{employee_uuid}/time_off_activities"
|
817
|
+
end
|
818
|
+
Gusto::TimeOffActivity.from_json(json_object: response.body)
|
819
|
+
end
|
820
|
+
end
|
821
|
+
end
|
822
|
+
end
|